A dynamic array class. More...
#include <array.hh>
Public Types | |
typedef T | element |
Element associated type. | |
typedef T | result |
Returned value types. | |
typedef std::vector< T > ::const_reference | ro_result |
typedef std::vector< T >::reference | mutable_result |
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 . | |
std::vector< T > & | hook_std_vector_ () |
Hook to the mutable std::vector of elements. | |
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, const T &value) |
Resize this array to n elements with value as value. | |
void | resize (unsigned n) |
Resize this array to n elements. | |
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 . | |
Private Attributes | |
std::vector< T > | v_ |
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.
typedef array_bkd_iter<T> mln::util::array< T >::bkd_eiter |
Backward iterator associated type.
Definition at line 124 of file util/array.hh.
typedef fwd_eiter mln::util::array< T >::eiter |
Iterator associated type.
Definition at line 127 of file util/array.hh.
typedef T mln::util::array< T >::element |
Element associated type.
Definition at line 107 of file util/array.hh.
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.
typedef std::vector<T>::reference mln::util::array< T >::mutable_result |
Definition at line 114 of file util/array.hh.
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.
typedef std::vector<T>::const_reference mln::util::array< T >::ro_result |
Definition at line 113 of file util/array.hh.
mln::util::array< T >::array | ( | ) | [inline] |
ConstructorsConstructor without arguments.
Definition at line 427 of file util/array.hh.
mln::util::array< T >::array | ( | unsigned | n | ) | [inline] |
Construct a new array and resize it to
elements.
Definition at line 433 of file util/array.hh.
mln::util::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.
array< T > & mln::util::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.
References mln::util::array< T >::v_.
Referenced by mln::io::dicom::get_header(), mln::labeling::internal::compute_functor< L, A >::init(), mln::labeling::impl::value_and_compute_functor< I, L, A >::init_(), mln::p_mutable_array_of< S >::insert(), mln::io::plot::load(), mln::graph::attribute::representative_t::new_component_from_vertex(), mln::graph::attribute::card_t::new_component_from_vertex(), mln::labeling::internal::compute_functor< L, A >::new_label(), Functor::process_vertex(), mln::make::impl::generic::rag_and_labeled_wsl(), mln::labeling::impl::value_and_compute_functor< I, L, A >::set_new_label(), mln::labeling::impl::value_and_compute_functor< I, L, A >::set_new_label_(), mln::data::impl::generic::sort_offsets_decreasing(), and mln::data::impl::generic::sort_offsets_increasing().
array< T > & mln::util::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(), mln::util::array< T >::std_vector(), and mln::util::array< T >::v_.
void mln::util::array< T >::clear | ( | ) | [inline] |
Empty the array.
All elements contained in the array are destroyed.
Definition at line 495 of file util/array.hh.
References mln::util::array< T >::is_empty(), and mln::util::array< T >::v_.
Referenced by mln::p_mutable_array_of< S >::clear(), and mln::io::plot::load().
void mln::util::array< T >::fill | ( | const T & | value | ) | [inline] |
Fill the whole array with value value
.
Definition at line 504 of file util/array.hh.
References mln::util::array< T >::v_.
Referenced by mln::graph::attribute::representative_t::init(), mln::graph::attribute::card_t::init(), and Functor::init().
std::vector< T > & mln::util::array< T >::hook_std_vector_ | ( | ) | [inline] |
Hook to the mutable std::vector of elements.
Definition at line 594 of file util/array.hh.
References mln::util::array< T >::v_.
Referenced by mln::data::impl::generic::sort_offsets_decreasing(), and mln::data::impl::generic::sort_offsets_increasing().
bool mln::util::array< T >::is_empty | ( | ) | const [inline] |
Test if the array is empty.
Definition at line 578 of file util/array.hh.
References mln::util::array< T >::nelements().
Referenced by mln::util::array< T >::append(), mln::util::array< T >::clear(), mln::make::image3d(), mln::p_mutable_array_of< S >::is_empty_(), and mln::io::pnms::load().
array< T >::ro_result mln::util::array< T >::last | ( | ) | const [inline] |
Return the last element.
Definition at line 562 of file util/array.hh.
References mln::util::array< T >::nelements(), and mln::util::array< T >::v_.
array< T >::mutable_result mln::util::array< T >::last | ( | ) | [inline] |
Return the last element.
Definition at line 570 of file util/array.hh.
References mln::util::array< T >::nelements(), and mln::util::array< T >::v_.
std::size_t mln::util::array< T >::memory_size | ( | ) | const [inline] |
Return the size of this array in memory.
Definition at line 602 of file util/array.hh.
References mln::util::array< T >::nelements().
Referenced by mln::p_mutable_array_of< S >::memory_size().
unsigned mln::util::array< T >::nelements | ( | ) | const [inline] |
Return the number of elements of the array.
Definition at line 520 of file util/array.hh.
References mln::util::array< T >::v_.
Referenced by mln::canvas::morpho::impl::attribute_filter_fastest(), mln::topo::skeleton::impl::crest_fastest_2d(), mln::canvas::impl::distance_front_fastest(), mln::canvas::impl::distance_geodesic_fastest(), mln::labeling::fill_holes(), mln::morpho::watershed::impl::flooding_fastest(), mln::convert::over_load::from_to_(), mln::p_mutable_array_of< S >::has(), mln::make::image3d(), mln::transform::impl::influence_zone_geodesic_fastest(), mln::util::array< T >::is_empty(), mln::util::array< T >::last(), mln::io::pnms::load(), mln::util::array< T >::memory_size(), mln::labeling::n_max(), mln::topo::is_simple_2d_t< N >::nb_connectivity2d__(), mln::topo::skeleton::is_simple_point< N >::nb_connexity2d__(), mln::p_mutable_array_of< S >::nelements(), mln::util::operator<<(), mln::p_mutable_array_of< S >::operator[](), mln::util::array< T >::operator[](), mln::make::impl::generic::rag_and_labeled_wsl(), mln::io::plot::save(), mln::util::array< T >::size(), mln::morpho::impl::skeleton_constrained_fast(), mln::canvas::labeling::impl::sorted_fastest(), and mln::canvas::labeling::impl::video_fastest().
array< T >::ro_result mln::util::array< T >::operator() | ( | unsigned | i | ) | const [inline] |
Return the i-th
element of the array.
Definition at line 528 of file util/array.hh.
array< T >::mutable_result mln::util::array< T >::operator() | ( | unsigned | i | ) | [inline] |
Return the i-th
element of the array.
Definition at line 536 of file util/array.hh.
array< T >::ro_result mln::util::array< T >::operator[] | ( | unsigned | i | ) | const [inline] |
Return the i-th
element of the array.
Definition at line 544 of file util/array.hh.
References mln::util::array< T >::nelements(), and mln::util::array< T >::v_.
array< T >::mutable_result mln::util::array< T >::operator[] | ( | unsigned | i | ) | [inline] |
Return the i-th
element of the array.
Definition at line 553 of file util/array.hh.
References mln::util::array< T >::nelements(), and mln::util::array< T >::v_.
void mln::util::array< T >::reserve | ( | unsigned | n | ) | [inline] |
Reserve memory for n
elements.
Definition at line 448 of file util/array.hh.
References mln::util::array< T >::v_.
Referenced by mln::labeling::internal::compute_functor< L, A >::init(), mln::p_mutable_array_of< S >::reserve(), mln::data::impl::generic::sort_offsets_decreasing(), and mln::data::impl::generic::sort_offsets_increasing().
void mln::util::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.
References mln::util::array< T >::v_.
void mln::util::array< T >::resize | ( | unsigned | n | ) | [inline] |
Resize this array to n
elements.
Definition at line 456 of file util/array.hh.
References mln::util::array< T >::v_.
Referenced by mln::labeling::impl::generic::compute(), mln::labeling::impl::compute_fastest(), mln::convert::over_load::from_to_(), mln::io::raw::get_header(), mln::io::dump::get_header(), mln::graph::attribute::representative_t::init(), mln::graph::attribute::card_t::init(), and Functor::init().
unsigned mln::util::array< T >::size | ( | ) | const [inline] |
Return the number of elements of the array.
Added for compatibility with fun::i2v::array.
Definition at line 512 of file util/array.hh.
References mln::util::array< T >::nelements().
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().
const std::vector< T > & mln::util::array< T >::std_vector | ( | ) | const [inline] |
Return the corresponding std::vector of elements.
Definition at line 586 of file util/array.hh.
References mln::util::array< T >::v_.
Referenced by mln::util::array< T >::append(), mln::value::lut_vec< S, T >::lut_vec(), and mln::util::operator==().
std::vector<T> mln::util::array< T >::v_ [private] |
Definition at line 213 of file util/array.hh.
Referenced by mln::util::array< T >::append(), mln::util::array< T >::clear(), mln::util::array< T >::fill(), mln::util::array< T >::hook_std_vector_(), mln::util::array< T >::last(), mln::util::array< T >::nelements(), mln::util::array< T >::operator[](), mln::util::array< T >::reserve(), mln::util::array< T >::resize(), and mln::util::array< T >::std_vector().