|
ivl 679
|
1-dimensional array of type T More...
#include <array.hpp>
Inherits ivl::array_common_base< C >, and vector< T >.
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 | |
| void | reshape (size_t len) |
| Reshape is same as resize for 1-d arrays. | |
| ~array () | |
| destructor | |
init member function | |
| void | init () |
| Init is behaves exactly like the constructor. See constructor reference. | |
| void | init (size_t count) |
| Init is behaves exactly like the constructor. See constructor reference. | |
| void | init (int count) |
| Init is behaves exactly like the constructor. See constructor reference. | |
| void | init (long int count) |
| Init is behaves exactly like the constructor. See constructor reference. | |
| void | init (size_t count, const T &s) |
| Init is behaves exactly like the constructor. See constructor reference. | |
| void | init (size_t count, const T *ptr) |
| Init is behaves exactly like the constructor. See constructor reference. | |
| template<class J > | |
| void | init (const internal::tuple_rvalue< J > &r) |
| Init is behaves exactly like the constructor. See constructor reference. | |
| void | init (const array &a) |
| Init is behaves exactly like the constructor. See constructor reference. | |
| template<class J , class S > | |
| void | init (const array< J, S > &a, size_t n) |
| Init is behaves exactly like the constructor. See constructor reference. | |
| template<class J , class S > | |
| void | init (const array< J, S > &a) |
| Init is behaves exactly like the constructor. See constructor reference. | |
| template<class J , class S > | |
| void | init (size_t count, const array< J, S > &a) |
| Init is behaves exactly like the constructor. See constructor reference. | |
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. | |
Element access | |
Access a unique element by specifying the position | |
| std::vector< T >::const_reference | operator[] (size_t offset) const |
| Returns the const element found at position offset. | |
| std::vector< T >::reference | 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 S , int J> | |
| array (S(&arr)[J]) | |
| Construct by using a C array. | |
| template<class J > | |
| array (const internal::tuple_rvalue< J > &r) | |
| Construct array with rvalue. | |
| array (const array &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 | |
| template<class K > | |
| derived_type & | operator= (const K &k) |
| Copy-Assign another array of identical type. | |
| this_type & | operator= (const this_type &a) |
1-dimensional array of type T
This class defines an simple one-dimensional array.
| ivl::array< T, OPTS >::array | ( | size_t | count, |
| const T & | s | ||
| ) | [inline] |
Construnct by defining an initial number of elements and a default value.
| count | Length of the array |
| s | Default value for all elements |
| ivl::array< T, OPTS >::array | ( | size_t | count, |
| const T * | ptr | ||
| ) | [inline] |
Construct by using a C array.
| count | Length of the array |
| ptr | The C array |
| ivl::array< T, OPTS >::array | ( | S(&) | arr[J] | ) | [inline] |
Construct by using a C array.
| arr | The C array |
| ivl::array< T, OPTS >::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 (above) 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.
| ivl::array< T, OPTS >::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 Also, if a is T or similar to the element type of the array this constructor fills in the array with count copies of the element a.
| derived_type& ivl::array< T, OPTS >::operator= | ( | const K & | k | ) | [inline] |
Copy-Assign another array of identical type.
eg:
ivl::array<int> a(10, 0); ivl::array<int> b; b = a;