/usr/include/armadillo_bits/Row_bones.hpp is in libarmadillo-dev 1:4.200.0+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 | // Copyright (C) 2008-2013 Conrad Sanderson
// Copyright (C) 2008-2013 NICTA (www.nicta.com.au)
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
//! \addtogroup Row
//! @{
//! Class for row vectors (matrices with only one row)
template<typename eT>
class Row : public Mat<eT>
{
public:
typedef eT elem_type;
typedef typename get_pod_type<eT>::result pod_type;
static const bool is_col = false;
static const bool is_row = true;
inline Row();
inline Row(const Row<eT>& X);
inline explicit Row(const uword N);
inline Row(const uword in_rows, const uword in_cols);
template<typename fill_type> inline Row(const uword n_elem, const fill::fill_class<fill_type>& f);
template<typename fill_type> inline Row(const uword in_rows, const uword in_cols, const fill::fill_class<fill_type>& f);
inline Row(const char* text);
inline const Row& operator=(const char* text);
inline Row(const std::string& text);
inline const Row& operator=(const std::string& text);
inline Row(const std::vector<eT>& x);
inline const Row& operator=(const std::vector<eT>& x);
#if defined(ARMA_USE_CXX11)
inline Row(const std::initializer_list<eT>& list);
inline const Row& operator=(const std::initializer_list<eT>& list);
inline Row(Row&& m);
inline const Row& operator=(Row&& m);
#endif
inline explicit Row(const SpRow<eT>& X);
inline const Row& operator=(const eT val);
inline const Row& operator=(const Row& X);
template<typename T1> inline Row(const Base<eT,T1>& X);
template<typename T1> inline const Row& operator=(const Base<eT,T1>& X);
inline Row( eT* aux_mem, const uword aux_length, const bool copy_aux_mem = true, const bool strict = true);
inline Row(const eT* aux_mem, const uword aux_length);
template<typename T1, typename T2>
inline explicit Row(const Base<pod_type,T1>& A, const Base<pod_type,T2>& B);
template<typename T1> inline Row(const BaseCube<eT,T1>& X);
template<typename T1> inline const Row& operator=(const BaseCube<eT,T1>& X);
inline Row(const subview_cube<eT>& X);
inline const Row& operator=(const subview_cube<eT>& X);
inline mat_injector<Row> operator<<(const eT val);
arma_inline const Op<Row<eT>,op_htrans> t() const;
arma_inline const Op<Row<eT>,op_htrans> ht() const;
arma_inline const Op<Row<eT>,op_strans> st() const;
arma_inline subview_row<eT> col(const uword col_num);
arma_inline const subview_row<eT> col(const uword col_num) const;
using Mat<eT>::cols;
using Mat<eT>::operator();
arma_inline subview_row<eT> cols(const uword in_col1, const uword in_col2);
arma_inline const subview_row<eT> cols(const uword in_col1, const uword in_col2) const;
arma_inline subview_row<eT> subvec(const uword in_col1, const uword in_col2);
arma_inline const subview_row<eT> subvec(const uword in_col1, const uword in_col2) const;
arma_inline subview_row<eT> cols(const span& col_span);
arma_inline const subview_row<eT> cols(const span& col_span) const;
arma_inline subview_row<eT> subvec(const span& col_span);
arma_inline const subview_row<eT> subvec(const span& col_span) const;
arma_inline subview_row<eT> operator()(const span& col_span);
arma_inline const subview_row<eT> operator()(const span& col_span) const;
inline void shed_col (const uword col_num);
inline void shed_cols(const uword in_col1, const uword in_col2);
inline void insert_cols(const uword col_num, const uword N, const bool set_to_zero = true);
template<typename T1> inline void insert_cols(const uword col_num, const Base<eT,T1>& X);
arma_inline arma_warn_unused eT& at(const uword i);
arma_inline arma_warn_unused const eT& at(const uword i) const;
arma_inline arma_warn_unused eT& at(const uword in_row, const uword in_col);
arma_inline arma_warn_unused const eT& at(const uword in_row, const uword in_col) const;
typedef eT* row_iterator;
typedef const eT* const_row_iterator;
inline row_iterator begin_row(const uword row_num);
inline const_row_iterator begin_row(const uword row_num) const;
inline row_iterator end_row (const uword row_num);
inline const_row_iterator end_row (const uword row_num) const;
template<uword fixed_n_elem> class fixed;
protected:
inline Row(const arma_fixed_indicator&, const uword in_n_elem, const eT* in_mem);
public:
#ifdef ARMA_EXTRA_ROW_PROTO
#include ARMA_INCFILE_WRAP(ARMA_EXTRA_ROW_PROTO)
#endif
};
template<typename eT>
template<uword fixed_n_elem>
class Row<eT>::fixed : public Row<eT>
{
private:
static const bool use_extra = (fixed_n_elem > arma_config::mat_prealloc);
arma_align_mem eT mem_local_extra[ (use_extra) ? fixed_n_elem : 1 ];
public:
typedef fixed<fixed_n_elem> Row_fixed_type;
typedef eT elem_type;
typedef typename get_pod_type<eT>::result pod_type;
static const bool is_col = false;
static const bool is_row = true;
static const uword n_rows = 1;
static const uword n_cols = fixed_n_elem;
static const uword n_elem = fixed_n_elem;
arma_inline fixed();
arma_inline fixed(const fixed<fixed_n_elem>& X);
inline fixed(const subview_cube<eT>& X);
template<typename fill_type> inline fixed(const fill::fill_class<fill_type>& f);
template<typename T1> inline fixed(const Base<eT,T1>& A);
template<typename T1, typename T2> inline fixed(const Base<pod_type,T1>& A, const Base<pod_type,T2>& B);
inline fixed(const eT* aux_mem);
inline fixed(const char* text);
inline fixed(const std::string& text);
template<typename T1> inline const Row& operator=(const Base<eT,T1>& A);
inline const Row& operator=(const eT val);
inline const Row& operator=(const char* text);
inline const Row& operator=(const std::string& text);
inline const Row& operator=(const subview_cube<eT>& X);
using Row<eT>::operator();
#if defined(ARMA_USE_CXX11)
inline fixed(const std::initializer_list<eT>& list);
inline const Row& operator=(const std::initializer_list<eT>& list);
#endif
arma_inline const Row& operator=(const fixed<fixed_n_elem>& X);
arma_inline const Op< Row_fixed_type, op_htrans > t() const;
arma_inline const Op< Row_fixed_type, op_htrans > ht() const;
arma_inline const Op< Row_fixed_type, op_strans > st() const;
arma_inline arma_warn_unused const eT& at_alt (const uword i) const;
arma_inline arma_warn_unused eT& operator[] (const uword i);
arma_inline arma_warn_unused const eT& operator[] (const uword i) const;
arma_inline arma_warn_unused eT& at (const uword i);
arma_inline arma_warn_unused const eT& at (const uword i) const;
arma_inline arma_warn_unused eT& operator() (const uword i);
arma_inline arma_warn_unused const eT& operator() (const uword i) const;
arma_inline arma_warn_unused eT& at (const uword in_row, const uword in_col);
arma_inline arma_warn_unused const eT& at (const uword in_row, const uword in_col) const;
arma_inline arma_warn_unused eT& operator() (const uword in_row, const uword in_col);
arma_inline arma_warn_unused const eT& operator() (const uword in_row, const uword in_col) const;
arma_inline arma_warn_unused eT* memptr();
arma_inline arma_warn_unused const eT* memptr() const;
arma_hot inline const Row<eT>& fill(const eT val);
arma_hot inline const Row<eT>& zeros();
arma_hot inline const Row<eT>& ones();
};
//! @}
|