ivl 679
ivl::array< T, data::fixed< N, NAMING, DERIVED_INFO > > Class Template Reference

1-dimensional array of type T More...

#include <array.hpp>

Inherits ivl::array_common_base< C >, and ivl::array_details::fixed_storage< T, N, NAMING >.

List of all members.

Public Types

typedef ptrdiff_t diff_type
 difference type of iterators
typedef size_t size_type
 parameter of resize, in each class of the hierarchy

Public Member Functions

 ~array ()
 destructor
Size functions
size_t length () const
 Get the length of the element sequence.
size_type size () const
 Get the size of the array. generic-class function.
size_t numel () const
 Get the length of the element sequence.
Resize functions
void resize (size_t len)
 Resize does not actually resize but only assert in fixed arrays.
void resize (size_t len, const T &s)
 Resize does not actually resize but only assert in fixed arrays.
void reshape (size_t len)
 Reshape is same as resize for 1-d arrays.
void reshape (size_t len, const T &s)
Element access

Access a unique element by specifying the position

const T & operator[] (size_t offset) const
 Returns the const element found at position offset.
T & operator[] (size_t offset)
 Returns the element found at position offset.
Constructors
 array ()
 Default constructor.
 array (size_t count)
 Construnct by defining an initial number of elements.
 array (int count)
 Construnct by defining an initial number of elements.
 array (long int count)
 Construnct by defining an initial number of elements.
 array (size_t count, const T &s)
 Construnct by defining an initial number of elements and a default value.
 array (size_t count, const T *ptr)
 Construct by using a C array.
template<class J >
 array (const internal::tuple_rvalue< J > &r)
 Construct array with rvalue.
 array (const this_type &a)
 Copy-constructor.
template<class J , class S >
 array (const array< J, S > &a, size_t n)
 construct from classes derived from array, using N elements
template<class J , class S >
 array (const array< J, S > &a)
 construct from an existing array of any type.
template<class J , class S >
 array (size_t count, const array< J, S > &a)
 Construct from array of the same type, using (shape, array)
Assignement Operators
this_typeoperator= (const this_type &a)

Detailed Description

template<class T, class DERIVED_INFO, int N, class NAMING>
class ivl::array< T, data::fixed< N, NAMING, DERIVED_INFO > >

1-dimensional array of type T

This class defines an simple one-dimensional array.


Constructor & Destructor Documentation

template<class T , class DERIVED_INFO , int N, class NAMING >
ivl::array< T, data::fixed< N, NAMING, DERIVED_INFO > >::array ( size_t  count,
const T &  s 
) [inline]

Construnct by defining an initial number of elements and a default value.

Parameters:
countLength of the array
sDefault value for all elements
template<class T , class DERIVED_INFO , int N, class NAMING >
ivl::array< T, data::fixed< N, NAMING, DERIVED_INFO > >::array ( size_t  count,
const T *  ptr 
) [inline]

Construct by using a C array.

Parameters:
countLength of the array
ptrThe C array
template<class T , class DERIVED_INFO , int N, class NAMING >
template<class J , class S >
ivl::array< T, data::fixed< N, NAMING, DERIVED_INFO > >::array ( const array< J, S > &  a,
size_t  n 
) [inline]

construct from classes derived from array, using N elements

Developper's note: You cannot remove the defined constructor even though it is a subset of this. This is because the copy constructor has a specific declaration, and should be declared to override the C++ default copy-constructor which is wrong and causes heap corruption.

template<class T , class DERIVED_INFO , int N, class NAMING >
template<class J , class S >
ivl::array< T, data::fixed< N, NAMING, DERIVED_INFO > >::array ( size_t  count,
const array< J, S > &  a 
) [inline]

Construct from array of the same type, using (shape, array)

This constructor has the same functionality as the (array, n) constructor, but fulfills a standard construction template that defines that all kinds of arrays (2d, nd etc) can be constructed with derived.size(), array<..> pair A difference is that this function can also accept zero length


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations