Classes | Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Friends
field< oT > Class Template Reference

#include <field_bones.hpp>

List of all members.

Classes

class  const_iterator
class  iterator

Public Types

typedef oT object_type

Public Member Functions

arma_inline oT & at (const uword i)
 linear element accessor (treats the field as a vector); no bounds check
arma_inline const oT & at (const uword i) const
 linear element accessor (treats the field as a vector); no bounds check
arma_inline oT & at (const uword row, const uword col)
 element accessor; no bounds check
arma_inline const oT & at (const uword row, const uword col) const
 element accessor; no bounds check
iterator begin ()
const_iterator begin () const
subview_field< oT > col (const uword col_num)
 creation of subview_field (column of a field)
const subview_field< oT > col (const uword col_num) const
 creation of subview_field (column of a field)
subview_field< oT > cols (const uword in_col1, const uword in_col2)
 creation of subview_field (subfield comprised of specified columns)
const subview_field< oT > cols (const uword in_col1, const uword in_col2) const
 creation of subview_field (subfield comprised of specified columns)
template<typename oT2 >
void copy_size (const field< oT2 > &x)
 change the field to have the specified dimensions (data is not preserved)
iterator end ()
const_iterator end () const
 field ()
 field (const field &x)
 construct a field from a given field
 field (const subview_field< oT > &x)
 construct a field from subview_field (e.g. construct a field from a delayed subfield operation)
 field (const uword n_elem_in)
 field (const uword n_rows_in, const uword n_cols_in)
 construct the field with the specified dimensions
void fill (const oT &x)
 fill the field with an object
arma_inline arma_warn_unused bool in_range (const uword i) const
 returns true if the given index is currently in range
arma_inline arma_warn_unused bool in_range (const span &x) const
 returns true if the given start and end indices are currently in range
arma_inline arma_warn_unused bool in_range (const uword in_row, const uword in_col) const
 returns true if the given location is currently in range
arma_inline arma_warn_unused bool in_range (const span &row_span, const uword in_col) const
arma_inline arma_warn_unused bool in_range (const uword in_row, const span &col_span) const
arma_inline arma_warn_unused bool in_range (const span &row_span, const span &col_span) const
arma_inline bool is_empty () const
 returns true if the field has no objects
bool load (const std::string name, const file_type type=auto_detect, const bool print_status=true)
bool load (std::istream &is, const file_type type=auto_detect, const bool print_status=true)
arma_inline oT & operator() (const uword i)
 linear element accessor (treats the field as a vector); bounds checking not done when ARMA_NO_DEBUG is defined
arma_inline const oT & operator() (const uword i) const
 linear element accessor (treats the field as a vector); bounds checking not done when ARMA_NO_DEBUG is defined
arma_inline oT & operator() (const uword row, const uword col)
 element accessor; bounds checking not done when ARMA_NO_DEBUG is defined
arma_inline const oT & operator() (const uword row, const uword col) const
 element accessor; bounds checking not done when ARMA_NO_DEBUG is defined
subview_field< oT > operator() (const span &row_span, const span &col_span)
const subview_field< oT > operator() (const span &row_span, const span &col_span) const
field_injector< fieldoperator<< (const oT &val)
field_injector< fieldoperator<< (const injector_end_of_row &x)
const fieldoperator= (const field &x)
 construct a field from a given field
const fieldoperator= (const subview_field< oT > &x)
 construct a field from subview_field (e.g. construct a field from a delayed subfield operation)
arma_inline oT & operator[] (const uword i)
 linear element accessor (treats the field as a vector); no bounds check
arma_inline const oT & operator[] (const uword i) const
 linear element accessor (treats the field as a vector); no bounds check
void print (const std::string extra_text="") const
void print (std::ostream &user_stream, const std::string extra_text="") const
bool quiet_load (const std::string name, const file_type type=auto_detect)
bool quiet_load (std::istream &is, const file_type type=auto_detect)
bool quiet_save (const std::string name, const file_type type=arma_binary) const
bool quiet_save (std::ostream &os, const file_type type=arma_binary) const
void reset ()
 reset the field to an empty state (i.e. the field will have no objects)
void reset_objects ()
 reset each object
subview_field< oT > row (const uword row_num)
 creation of subview_field (row of a field)
const subview_field< oT > row (const uword row_num) const
 creation of subview_field (row of a field)
subview_field< oT > rows (const uword in_row1, const uword in_row2)
 creation of subview_field (subfield comprised of specified rows)
const subview_field< oT > rows (const uword in_row1, const uword in_row2) const
 creation of subview_field (subfield comprised of specified rows)
bool save (const std::string name, const file_type type=arma_binary, const bool print_status=true) const
bool save (std::ostream &os, const file_type type=arma_binary, const bool print_status=true) const
void set_size (const uword n_obj_in)
void set_size (const uword n_rows_in, const uword n_cols_in)
 change the field to have the specified dimensions (data is not preserved)
subview_field< oT > subfield (const uword in_row1, const uword in_col1, const uword in_row2, const uword in_col2)
 creation of subview_field (subfield with arbitrary dimensions)
const subview_field< oT > subfield (const uword in_row1, const uword in_col1, const uword in_row2, const uword in_col2) const
 creation of subview_field (subfield with arbitrary dimensions)
subview_field< oT > subfield (const span &row_span, const span &col_span)
 creation of subview_field (subfield with arbitrary dimensions)
const subview_field< oT > subfield (const span &row_span, const span &col_span) const
 creation of subview_field (subfield with arbitrary dimensions)
 ~field ()

Public Attributes

const uword n_cols
 number of columns in the field (read-only)
const uword n_elem
 number of elements in the field (read-only)
const uword n_rows
 number of rows in the field (read-only)

Private Member Functions

void create_objects ()
void delete_objects ()
void init (const field< oT > &x)
 construct a field from a given field
void init (const uword n_rows_in, const uword n_cols_in)
 internal field construction; if the requested size is small enough, memory from the stack is used. otherwise memory is allocated via 'new'

Private Attributes

arma_aligned oT ** mem
 pointer to memory used by the object
arma_aligned oT * mem_local [field_prealloc_n_elem::val]
 Internal memory, to avoid calling the 'new' operator for small amounts of memory.

Friends

class field_aux
class subview_field< oT >

Detailed Description

template<typename oT>
class field< oT >

A lightweight 2D container for abitrary objects (the objects must have a copy constructor)

Definition at line 31 of file field_bones.hpp.


Member Typedef Documentation

template<typename oT>
typedef oT field< oT >::object_type

Definition at line 35 of file field_bones.hpp.


Friends And Related Function Documentation

template<typename oT>
friend class field_aux [friend]

Definition at line 203 of file field_bones.hpp.

template<typename oT>
friend class subview_field< oT > [friend]

Definition at line 204 of file field_bones.hpp.


Member Data Documentation

template<typename oT>
arma_aligned oT** field< oT >::mem [private]

pointer to memory used by the object

Definition at line 44 of file field_bones.hpp.

template<typename oT>
arma_aligned oT* field< oT >::mem_local[field_prealloc_n_elem::val] [private]

Internal memory, to avoid calling the 'new' operator for small amounts of memory.

Definition at line 46 of file field_bones.hpp.

template<typename oT>
const uword field< oT >::n_cols

number of columns in the field (read-only)

Definition at line 38 of file field_bones.hpp.

template<typename oT>
const uword field< oT >::n_elem

number of elements in the field (read-only)

Definition at line 39 of file field_bones.hpp.

template<typename oT>
const uword field< oT >::n_rows

number of rows in the field (read-only)

Definition at line 37 of file field_bones.hpp.


The documentation for this class was generated from the following files:


armadillo_matrix
Author(s): Conrad Sanderson - NICTA (www.nicta.com.au), (Wrapper by Sjoerd van den Dries)
autogenerated on Tue Jan 7 2014 11:42:07