Milena (Olena)  User documentation 2.0a Id
 All Classes Namespaces Functions Variables Typedefs Enumerator Groups Pages
mln::util::array< T > Class Template Reference

A dynamic array class. More...

#include <array.hh>

Inheritance diagram for mln::util::array< T >:
Inheritance graph

Public Types

typedef T element
 Element associated type.
 
typedef T result
 Returned value types.
 
typedef array_fwd_iter< T > fwd_eiter
 Iterator typesForward iterator associated type.
 
typedef array_bkd_iter< T > bkd_eiter
 Backward iterator associated type.
 
typedef fwd_eiter eiter
 Iterator associated type.
 

Public Member Functions

array< T > & append (const T &elt)
 Add the element elt at the end of this array.
 
template<typename U >
array< T > & append (const array< U > &other)
 Add the elements of other at the end of this array.
 
void clear ()
 Empty the array.
 
void fill (const T &value)
 Fill the whole array with value value.
 
bool is_empty () const
 Test if the array is empty.
 
ro_result last () const
 Return the last element.
 
mutable_result last ()
 Return the last element.
 
std::size_t memory_size () const
 Return the size of this array in memory.
 
unsigned nelements () const
 Return the number of elements of the array.
 
ro_result operator() (unsigned i) const
 Return the i-th element of the array.
 
mutable_result operator() (unsigned i)
 Return the i-th element of the array.
 
ro_result operator[] (unsigned i) const
 Return the i-th element of the array.
 
mutable_result operator[] (unsigned i)
 Return the i-th element of the array.
 
void reserve (unsigned n)
 Reserve memory for n elements.
 
void resize (unsigned n)
 Resize this array to n elements.
 
void resize (unsigned n, const T &value)
 Resize this array to n elements with value as value.
 
unsigned size () const
 Return the number of elements of the array.
 
const std::vector< T > & std_vector () const
 Return the corresponding std::vector of elements.
 
 array ()
 ConstructorsConstructor without arguments.
 
 array (unsigned n)
 Construct a new array and resize it to
elements.
 
 array (unsigned n, const T &value)
 Construct a new array, resize it to
elements and fill it with default_value.
 

Detailed Description

template<typename T>
class mln::util::array< T >

A dynamic array class.

Elements are stored by copy. Implementation is lazy.

The parameter T is the element type, which shall not be const-qualified.

Definition at line 99 of file util/array.hh.

Member Typedef Documentation

template<typename T>
typedef array_bkd_iter<T> mln::util::array< T >::bkd_eiter

Backward iterator associated type.

Definition at line 124 of file util/array.hh.

template<typename T>
typedef fwd_eiter mln::util::array< T >::eiter

Iterator associated type.

Definition at line 127 of file util/array.hh.

template<typename T>
typedef T mln::util::array< T >::element

Element associated type.

Definition at line 107 of file util/array.hh.

template<typename T>
typedef array_fwd_iter<T> mln::util::array< T >::fwd_eiter

Iterator typesForward iterator associated type.

Definition at line 121 of file util/array.hh.

template<typename T>
typedef T mln::util::array< T >::result

Returned value types.

Related to the Function_v2v concept.

Definition at line 112 of file util/array.hh.

Constructor & Destructor Documentation

template<typename T >
array< T >::array ( )
inline

ConstructorsConstructor without arguments.

Definition at line 427 of file util/array.hh.

template<typename T >
array< T >::array ( unsigned  n)
inline

Construct a new array and resize it to
elements.

Definition at line 433 of file util/array.hh.

template<typename T>
array< T >::array ( unsigned  n,
const T &  value 
)
inline

Construct a new array, resize it to
elements and fill it with default_value.

Definition at line 440 of file util/array.hh.

Member Function Documentation

template<typename T>
array< T > & array< T >::append ( const T &  elt)
inline

Add the element elt at the end of this array.

Definition at line 472 of file util/array.hh.

Referenced by mln::io::dicom::get_header(), and mln::io::plot::load().

template<typename T >
template<typename U >
array< T > & array< T >::append ( const array< U > &  other)
inline

Add the elements of other at the end of this array.

Definition at line 482 of file util/array.hh.

References mln::util::array< T >::is_empty(), and mln::util::array< T >::std_vector().

template<typename T >
void array< T >::clear ( )
inline

Empty the array.

All elements contained in the array are destroyed.

Postcondition
is_empty() == true

Definition at line 495 of file util/array.hh.

Referenced by mln::io::plot::load().

template<typename T>
void array< T >::fill ( const T &  value)
inline

Fill the whole array with value value.

Definition at line 504 of file util/array.hh.

template<typename T >
bool array< T >::is_empty ( ) const
inline

Test if the array is empty.

Definition at line 578 of file util/array.hh.

Referenced by mln::util::array< T >::append(), mln::make::image3d(), and mln::io::pnms::load().

template<typename T >
array< T >::ro_result array< T >::last ( ) const
inline

Return the last element.

Definition at line 562 of file util/array.hh.

template<typename T >
array< T >::mutable_result array< T >::last ( )
inline

Return the last element.

Definition at line 570 of file util/array.hh.

template<typename T >
std::size_t array< T >::memory_size ( ) const
inline

Return the size of this array in memory.

Definition at line 602 of file util/array.hh.

template<typename T >
unsigned array< T >::nelements ( ) const
inline

Return the number of elements of the array.

Definition at line 520 of file util/array.hh.

Referenced by mln::labeling::fill_holes(), mln::make::image3d(), mln::io::pnms::load(), mln::util::operator<<(), and mln::io::plot::save().

template<typename T >
array< T >::ro_result array< T >::operator() ( unsigned  i) const
inline

Return the i-th element of the array.

Precondition
i < nelements()

Definition at line 528 of file util/array.hh.

template<typename T >
array< T >::mutable_result array< T >::operator() ( unsigned  i)
inline

Return the i-th element of the array.

Precondition
i < nelements()

Definition at line 536 of file util/array.hh.

template<typename T >
array< T >::ro_result array< T >::operator[] ( unsigned  i) const
inline

Return the i-th element of the array.

Precondition
i < nelements()

Definition at line 544 of file util/array.hh.

template<typename T >
array< T >::mutable_result array< T >::operator[] ( unsigned  i)
inline

Return the i-th element of the array.

Precondition
i < nelements()

Definition at line 553 of file util/array.hh.

template<typename T >
void array< T >::reserve ( unsigned  n)
inline

Reserve memory for n elements.

Definition at line 448 of file util/array.hh.

template<typename T >
void array< T >::resize ( unsigned  n)
inline
template<typename T>
void array< T >::resize ( unsigned  n,
const T &  value 
)
inline

Resize this array to n elements with value as value.

Definition at line 464 of file util/array.hh.

template<typename T >
unsigned array< T >::size ( ) const
inline

Return the number of elements of the array.

Added for compatibility with fun::i2v::array.

See Also
nelements

Definition at line 512 of file util/array.hh.

Referenced by mln::labeling::impl::generic::compute(), mln::labeling::impl::compute_fastest(), mln::value::lut_vec< S, T >::lut_vec(), and mln::labeled_image_base< I, E >::update_data().

template<typename T >
const std::vector< T > & array< T >::std_vector ( ) const
inline

Return the corresponding std::vector of elements.

Definition at line 586 of file util/array.hh.

Referenced by mln::util::array< T >::append(), mln::value::lut_vec< S, T >::lut_vec(), and mln::util::operator==().