SLIP
1.4
|
Numerical container class This is a four-dimensional dynamic and generic container. This container satisfies the BidirectionnalContainer concepts of the STL. It is also an 4d extension of the RandomAccessContainer concept. That is to say the bracket element access is replaced by the triple bracket element access. Data are stored using a Matrix4d class. It extends the interface of Matrix4d adding image read/write operations. These operations are done using the ImageMagick library. More...
#include <HyperVolume.hpp>
Public Member Functions | |
void | resize (std::size_t d1, std::size_t d2, std::size_t d3, std::size_t d4, const T &val=T()) |
Resizes a HyperVolume. More... | |
std::string | name () const |
Returns the name of the class. More... | |
size_type | dim1 () const |
Returns the number of slabs (first dimension size) in the HyperVolume. More... | |
size_type | slabs () const |
Returns the number of slabs (first dimension size) in the HyperVolume. More... | |
size_type | dim2 () const |
Returns the number of slices (second dimension size) in the HyperVolume. More... | |
size_type | slices () const |
Returns the number of slices (second dimension size) in the HyperVolume. More... | |
size_type | dim3 () const |
Returns the number of rows (third dimension size) in the HyperVolume. More... | |
size_type | rows () const |
Returns the number of rows (third dimension size) in the HyperVolume. More... | |
size_type | dim4 () const |
Returns the number of columns (fourth dimension size) in the HyperVolume. More... | |
size_type | cols () const |
Returns the number of columns (fourth dimension size) in the HyperVolume. More... | |
size_type | columns () const |
Returns the number of columns (fourth dimension size) in the HyperVolume. More... | |
size_type | size () const |
Returns the number of elements in the HyperVolume. More... | |
size_type | max_size () const |
Returns the maximal size (number of elements) in the HyperVolume. More... | |
bool | empty () const |
Returns true if the HyperVolume is empty. (Thus size() == 0) More... | |
void | swap (HyperVolume &M) |
Swaps data with another HyperVolume. More... | |
template<typename T> | |
HyperVolume (const typename HyperVolume< T >::size_type d1, const typename HyperVolume< T >::size_type d2, const typename HyperVolume< T >::size_type d3, const typename HyperVolume< T >::size_type d4) | |
template<typename T> | |
HyperVolume (const typename HyperVolume< T >::size_type d1, const typename HyperVolume< T >::size_type d2, const typename HyperVolume< T >::size_type d3, const typename HyperVolume< T >::size_type d4, const T &val) | |
template<typename T> | |
HyperVolume (const typename HyperVolume< T >::size_type d1, const typename HyperVolume< T >::size_type d2, const typename HyperVolume< T >::size_type d3, const typename HyperVolume< T >::size_type d4, const T *val) | |
Constructors & Destructors | |
HyperVolume () | |
Constructs a HyperVolume. More... | |
HyperVolume (const std::size_t d1, const std::size_t d2, const std::size_t d3, const std::size_t d4) | |
Constructs a HyperVolume. More... | |
HyperVolume (const std::size_t d1, const std::size_t d2, const std::size_t d3, const std::size_t d4, const T &val) | |
Constructs a HyperVolume initialized by the scalar value val. More... | |
HyperVolume (const std::size_t d1, const std::size_t d2, const std::size_t d3, const std::size_t d4, const T *val) | |
Constructs a HyperVolume initialized by an array val. More... | |
template<typename InputIterator > | |
HyperVolume (const size_type d1, const size_type d2, const size_type d3, const size_type d4, InputIterator first, InputIterator last) | |
Contructs a HyperVolume from a range. More... | |
HyperVolume (const HyperVolume< T > &rhs) | |
Constructs a copy of the HyperVolume rhs. More... | |
~HyperVolume () | |
Destructor of the HyperVolume. More... | |
One dimensional global iterators | |
const_iterator | begin () const |
Returns a read-only (constant) iterator that points to the first element in the HyperVolume. Iteration is done in ordinary element order. More... | |
iterator | begin () |
Returns a read/write iterator that points to the first element in the HyperVolume. Iteration is done in ordinary element order. More... | |
iterator | end () |
Returns a read/write iterator that points one past the last element in the HyperVolume. Iteration is done in ordinary element order. More... | |
const_iterator | end () const |
Returns a read-only (constant) iterator that points one past the last element in the HyperVolume. Iteration is done in ordinary element order. More... | |
reverse_iterator | rbegin () |
Returns a read/write reverse iterator that points to the last element in the HyperVolume. Iteration is done in reverse element order. More... | |
const_reverse_iterator | rbegin () const |
Returns a read-only (constant) reverse iterator that points to the last element in the HyperVolume. Iteration is done in reverse element order. More... | |
reverse_iterator | rend () |
Returns a read/write reverse iterator that points to one before the first element in the HyperVolume. Iteration is done in reverse element order. More... | |
const_reverse_iterator | rend () const |
Returns a read-only (constant) reverse iterator that points to one before the first element in the HyperVolume. Iteration is done in reverse element order. More... | |
One dimensional slab iterators | |
slab_iterator | slab_begin (const size_type slice, const size_type row, const size_type col) |
Returns a read/write iterator that points to the first element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order (increasing slab number). More... | |
const_slab_iterator | slab_begin (const size_type slice, const size_type row, const size_type col) const |
Returns a read-only (constant) iterator that points to the first element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order (increasing slab number). More... | |
slab_iterator | slab_end (const size_type slice, const size_type row, const size_type col) |
Returns a read/write iterator that points to the one past the end element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order (increasing slab number). More... | |
const_slab_iterator | slab_end (const size_type slice, const size_type row, const size_type col) const |
Returns a read-only (constant) iterator that points to the one past the end element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order (increasing slab number). More... | |
reverse_slab_iterator | slab_rbegin (const size_type slice, const size_type row, const size_type col) |
Returns a read/write iterator that points to the last element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in reverse element order (decreasing slab number). More... | |
const_reverse_slab_iterator | slab_rbegin (const size_type slice, const size_type row, const size_type col) const |
Returns a read-only (constant) iterator that points to the last element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in reverse element order (decreasing slab number). More... | |
reverse_slab_iterator | slab_rend (const size_type slice, const size_type row, const size_type col) |
Returns a read/write iterator that points to the one before the first element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in reverse element order (decreasing slab number). More... | |
const_reverse_slab_iterator | slab_rend (const size_type slice, const size_type row, const size_type col) const |
Returns a read (constant) iterator that points to the one before the first element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in reverse element order (decreasing slab number). More... | |
One dimensional slice iterators | |
slice_iterator | slice_begin (const size_type slab, const size_type row, const size_type col) |
Returns a read/write iterator that points to the first element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order (increasing slice number). More... | |
const_slice_iterator | slice_begin (const size_type slab, const size_type row, const size_type col) const |
Returns a read-only (constant) iterator that points to the first element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order (increasing slice number). More... | |
slice_iterator | slice_end (const size_type slab, const size_type row, const size_type col) |
Returns a read/write iterator that points to the one past the end element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order (increasing slice number). More... | |
const_slice_iterator | slice_end (const size_type slab, const size_type row, const size_type col) const |
Returns a read-only (constant) iterator that points to the one past the end element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order (increasing slice number). More... | |
reverse_slice_iterator | slice_rbegin (const size_type slab, const size_type row, const size_type col) |
Returns a read/write iterator that points to the last element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in reverse element order (decreasing slice number). More... | |
const_reverse_slice_iterator | slice_rbegin (const size_type slab, const size_type row, const size_type col) const |
Returns a read-only (constant) iterator that points to the last element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in reverse element order (decreasing slice number). More... | |
reverse_slice_iterator | slice_rend (const size_type slab, const size_type row, const size_type col) |
Returns a read/write iterator that points to the one before the first element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in reverse element order (decreasing slice number). More... | |
const_reverse_slice_iterator | slice_rend (const size_type slab, const size_type row, const size_type col) const |
Returns a read (constant) iterator that points to the one before the first element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in reverse element order (decreasing slice number). More... | |
One dimensional row iterators | |
row_iterator | row_begin (const size_type slab, const size_type slice, const size_type row) |
Returns a read/write iterator that points to the first element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in ordinary element order. More... | |
const_row_iterator | row_begin (const size_type slab, const size_type slice, const size_type row) const |
Returns a read_only iterator that points to the first element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in ordinary element order. More... | |
row_iterator | row_end (const size_type slab, const size_type slice, const size_type row) |
Returns a read/write iterator that points to the past-the-end element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in ordinary element order. More... | |
const_row_iterator | row_end (const size_type slab, const size_type slice, const size_type row) const |
Returns a read_only iterator that points to the past-the-end element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in ordinary element order. More... | |
reverse_row_iterator | row_rbegin (const size_type slab, const size_type slice, const size_type row) |
Returns a read/write reverse iterator that points to the last element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in reverse element order. More... | |
const_reverse_row_iterator | row_rbegin (const size_type slab, const size_type slice, const size_type row) const |
Returns a read_only reverse iterator that points to the last element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in reverse element order. More... | |
reverse_row_iterator | row_rend (const size_type slab, const size_type slice, const size_type row) |
Returns a read/write reverse iterator that points to the first element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in reverse element order. More... | |
const_reverse_row_iterator | row_rend (const size_type slab, const size_type slice, const size_type row) const |
Returns a read_only reverse iterator that points to the first element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in reverse element order. More... | |
One dimensional col iterators | |
col_iterator | col_begin (const size_type slab, const size_type slice, const size_type col) |
Returns a read/write iterator that points to the first element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns. More... | |
const_col_iterator | col_begin (const size_type slab, const size_type slice, const size_type col) const |
Returns a read_only iterator that points to the first element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns. More... | |
col_iterator | col_end (const size_type slab, const size_type slice, const size_type col) |
Returns a read/write iterator that points to the past-the-end element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns. More... | |
const_col_iterator | col_end (const size_type slab, const size_type slice, const size_type col) const |
Returns a read_only iterator that points to the past-the-end element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns. More... | |
reverse_col_iterator | col_rbegin (const size_type slab, const size_type slice, const size_type col) |
Returns a read/write reverse iterator that points to the last element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns. More... | |
const_reverse_col_iterator | col_rbegin (const size_type slab, const size_type slice, const size_type col) const |
Returns a read_only reverse iterator that points to the last element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns. More... | |
reverse_col_iterator | col_rend (const size_type slab, const size_type slice, const size_type col) |
Returns a read/write reverse iterator that points to the first element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns. More... | |
const_reverse_col_iterator | col_rend (const size_type slab, const size_type slice, const size_type col) const |
Returns a read_only reverse iterator that points to the first element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns. More... | |
One dimensional slab range iterators | |
slab_range_iterator | slab_begin (const size_type slice, const size_type row, const size_type col, const slip::Range< int > &range) |
Returns a read/write iterator that points to the first element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
slab_range_iterator | slab_end (const size_type slice, const size_type row, const size_type col, const slip::Range< int > &range) |
Returns a read/write iterator that points one past the end element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
const_slab_range_iterator | slab_begin (const size_type slice, const size_type row, const size_type col, const slip::Range< int > &range) const |
Returns a read only (constant) iterator that points to the first element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
const_slab_range_iterator | slab_end (const size_type slice, const size_type row, const size_type col, const slip::Range< int > &range) const |
Returns a read_only iterator that points one past the last element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
reverse_slab_range_iterator | slab_rbegin (const size_type slice, const size_type row, const size_type col, const slip::Range< int > &range) |
Returns a read/write iterator that points to the last element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in the reverse element order according to the Range. More... | |
reverse_slab_range_iterator | slab_rend (const size_type slice, const size_type row, const size_type col, const slip::Range< int > &range) |
Returns a read/write iterator that points to the first element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in reverse element order according to the Range. More... | |
const_reverse_slab_range_iterator | slab_rbegin (const size_type slice, const size_type row, const size_type col, const slip::Range< int > &range) const |
Returns a read only (constant) iterator that points to the last element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in reverse element order according to the Range. More... | |
const_reverse_slab_range_iterator | slab_rend (const size_type slice, const size_type row, const size_type col, const slip::Range< int > &range) const |
Returns a read_only iterator that points one past the lastto the first element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in reverse element order according to the Range. More... | |
One dimensional slice range iterators | |
slice_range_iterator | slice_begin (const size_type slab, const size_type row, const size_type col, const slip::Range< int > &range) |
Returns a read/write iterator that points to the first element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
slice_range_iterator | slice_end (const size_type slab, const size_type row, const size_type col, const slip::Range< int > &range) |
Returns a read/write iterator that points one past the end element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
const_slice_range_iterator | slice_begin (const size_type slab, const size_type row, const size_type col, const slip::Range< int > &range) const |
Returns a read only (constant) iterator that points to the first element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
const_slice_range_iterator | slice_end (const size_type slab, const size_type row, const size_type col, const slip::Range< int > &range) const |
Returns a read_only iterator that points one past the last element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
reverse_slice_range_iterator | slice_rbegin (const size_type slab, const size_type row, const size_type col, const slip::Range< int > &range) |
Returns a read/write iterator that points to the last element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in the reverse element order according to the Range. More... | |
reverse_slice_range_iterator | slice_rend (const size_type slab, const size_type row, const size_type col, const slip::Range< int > &range) |
Returns a read/write iterator that points to the first element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in reverse element order according to the Range. More... | |
const_reverse_slice_range_iterator | slice_rbegin (const size_type slab, const size_type row, const size_type col, const slip::Range< int > &range) const |
Returns a read only (constant) iterator that points to the last element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in reverse element order according to the Range. More... | |
const_reverse_slice_range_iterator | slice_rend (const size_type slab, const size_type row, const size_type col, const slip::Range< int > &range) const |
Returns a read_only iterator that points one past the lastto the first element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in reverse element order according to the Range. More... | |
One dimensional row range iterators | |
row_range_iterator | row_begin (const size_type slab, const size_type slice, const size_type row, const slip::Range< int > &range) |
Returns a read/write iterator that points to the first element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
row_range_iterator | row_end (const size_type slab, const size_type slice, const size_type row, const slip::Range< int > &range) |
Returns a read/write iterator that points one past the end element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
const_row_range_iterator | row_begin (const size_type slab, const size_type slice, const size_type row, const slip::Range< int > &range) const |
Returns a read-only iterator that points to the first element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
const_row_range_iterator | row_end (const size_type slab, const size_type slice, const size_type row, const slip::Range< int > &range) const |
Returns a read_only iterator that points one past the last element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
reverse_row_range_iterator | row_rbegin (const size_type slab, const size_type slice, const size_type row, const slip::Range< int > &range) |
Returns a read-write iterator that points to the last element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range. More... | |
reverse_row_range_iterator | row_rend (const size_type slab, const size_type slice, const size_type row, const slip::Range< int > &range) |
Returns a read-write iterator that points one before the first element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range. More... | |
const_reverse_row_range_iterator | row_rbegin (const size_type slab, const size_type slice, const size_type row, const slip::Range< int > &range) const |
Returns a read-only iterator that points to the last element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range. More... | |
const_reverse_row_range_iterator | row_rend (const size_type slab, const size_type slice, const size_type row, const slip::Range< int > &range) const |
Returns a read-only iterator that points one before the first element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range. More... | |
One dimensional col range iterators | |
col_range_iterator | col_begin (const size_type slab, const size_type slice, const size_type col, const slip::Range< int > &range) |
Returns a read-write iterator that points to the first element of the Range range of the col col in the slab slab and the slice slice in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
col_range_iterator | col_end (const size_type slab, const size_type slice, const size_type col, const slip::Range< int > &range) |
Returns a read-write iterator that points to the past the end element of the Range range of the col col in the slab slab and the slice slice in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
const_col_range_iterator | col_begin (const size_type slab, const size_type slice, const size_type col, const slip::Range< int > &range) const |
Returns a read-only iterator that points to the first element of the Range range of the col col in the slab slab and the slice slice in the HyperVolume. Iteration is done in ordinary element order according to the Range. More... | |
const_col_range_iterator | col_end (const size_type slab, const size_type slice, const size_type col, const slip::Range< int > &range) const |
Returns a read-only iterator that points to the past the end element of the Range range of the col col in the slab slab and the slice slice in the HyperVolume. More... | |
reverse_col_range_iterator | col_rbegin (const size_type slab, const size_type slice, const size_type col, const slip::Range< int > &range) |
Returns a read-write iterator that points to the last element of the Range range of the col of a slice col in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range. More... | |
reverse_col_range_iterator | col_rend (const size_type slab, const size_type slice, const size_type col, const slip::Range< int > &range) |
Returns a read-write iterator that points to one before the first element of the Range range of the col of a slice col in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range. More... | |
const_reverse_col_range_iterator | col_rbegin (const size_type slab, const size_type slice, const size_type col, const slip::Range< int > &range) const |
Returns a read_only iterator that points to the last element of the Range & range of the col of a slice col in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range. More... | |
const_reverse_col_range_iterator | col_rend (const size_type slab, const size_type slice, const size_type col, const slip::Range< int > &range) const |
Returns a read-only iterator that points to the first element of the Range range of the col of a slice col in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range. More... | |
four dimensional iterators : Global iterators | |
iterator4d | first_front_upper_left () |
Returns a read/write iterator4d that points to the first element of the HyperVolume. It points to the first front upper left element of the HyperVolume. More... | |
iterator4d | last_back_bottom_right () |
Returns a read/write iterator4d that points to the past the end element of the HyperVolume. It points to past the end element of the last back bottom right element of the HyperVolume. More... | |
const_iterator4d | first_front_upper_left () const |
Returns a read-only iterator4d that points to the first element of the HyperVolume. It points to the fist front upper left element of the HyperVolume. More... | |
const_iterator4d | last_back_bottom_right () const |
Returns a read-only iterator4d that points to the past the end element of the HyperVolume. It points to past the end element of the last back bottom right element of the HyperVolume. More... | |
reverse_iterator4d | rfirst_front_upper_left () |
Returns a read/write reverse iterator4d. It points to the last back bottom right element of the HyperVolume. Iteration is done within the HyperVolume in the reverse order. More... | |
reverse_iterator4d | rlast_back_bottom_right () |
Returns a read/write reverse iterator4d. It points to past the first front upper left element of the HyperVolume. Iteration is done in the reverse order. More... | |
const_reverse_iterator4d | rfirst_front_upper_left () const |
Returns a read only reverse iterator4d that points. It points to the last back bottom right element of the HyperVolume. Iteration is done within the HyperVolume in the reverse order. More... | |
const_reverse_iterator4d | rlast_back_bottom_right () const |
Returns a read only reverse iterator4d. It points to past the first front upper left element of the HyperVolume. Iteration is done in the reverse order. More... | |
four dimensional iterators : Box iterators | |
iterator4d | first_front_upper_left (const Box4d< int > &box) |
Returns a read/write iterator4d that points to the first element of the HyperVolume. It points to the first front upper left element of the Box4d associated to the HyperVolume. More... | |
iterator4d | last_back_bottom_right (const Box4d< int > &box) |
Returns a read/write iterator4d that points to the past the end element of the HyperVolume. It points to past the end element of the last back bottom right element of the Box4d associated to the HyperVolume. More... | |
const_iterator4d | first_front_upper_left (const Box4d< int > &box) const |
Returns a read only iterator4d that points to the first element of the HyperVolume. It points to the front upper left element of the Box4d associated to the HyperVolume. More... | |
const_iterator4d | last_back_bottom_right (const Box4d< int > &box) const |
Returns a read only iterator4d that points to the past the end element of the HyperVolume. It points to past the end element of the back bottom right element of the Box4d associated to the HyperVolume. More... | |
reverse_iterator4d | rfirst_front_upper_left (const Box4d< int > &box) |
Returns a read/write reverse iterator4d. It points to the back bottom right element of the Box4d associated to the HyperVolume. Iteration is done in the reverse order. More... | |
reverse_iterator4d | rlast_back_bottom_right (const Box4d< int > &box) |
Returns a read/write reverse iterator4d. It points to one before the front upper left element of the Box4d box associated to the HyperVolume. More... | |
const_reverse_iterator4d | rfirst_front_upper_left (const Box4d< int > &box) const |
Returns a read only reverse iterator4d. It points to the back bottom right element of the Box4d box associated to the HyperVolume. Iteration is done in the reverse order. More... | |
const_reverse_iterator4d | rlast_back_bottom_right (const Box4d< int > &box) const |
Returns a read-only reverse iterator4d. It points to one before the front element of the bottom right element of the Box4d box associated to the HyperVolume. More... | |
four dimensional iterators : Range iterators | |
iterator4d_range | first_front_upper_left (const range &slab_range, const range &slice_range, const range &row_range, const range &col_range) |
Returns a read/write iterator4d_range that points to the first front upper left element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume. More... | |
iterator4d_range | last_back_bottom_right (const range &slab_range, const range &slice_range, const range &row_range, const range &col_range) |
Returns a read/write iterator4d_range that points to the past the end last back bottom right element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume. More... | |
const_iterator4d_range | first_front_upper_left (const range &slab_range, const range &slice_range, const range &row_range, const range &col_range) const |
Returns a read-only iterator4d_range that points to the to the first front upper left element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume. More... | |
const_iterator4d_range | last_back_bottom_right (const range &slab_range, const range &slice_range, const range &row_range, const range &col_range) const |
Returns a read-only iterator4d_range that points to the past the end last back bottom right element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume. More... | |
reverse_iterator4d_range | rfirst_front_upper_left (const range &slab_range, const range &slice_range, const range &row_range, const range &col_range) |
Returns a read/write reverse_iterator4d_range that points to the past the last back bottom right element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume. Iteration is done in the reverse order. More... | |
reverse_iterator4d_range | rlast_back_bottom_right (const range &slab_range, const range &slice_range, const range &row_range, const range &col_range) |
Returns a read/write reverse_iterator4d_range that points to one before the first front upper left element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume. Iteration is done in the reverse order. More... | |
const_reverse_iterator4d_range | rfirst_front_upper_left (const range &slab_range, const range &slice_range, const range &row_range, const range &col_range) const |
Returns a read-only reverse_iterator4d_range that points to the past the last back bottom right element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume. Iteration is done in the reverse order. More... | |
const_reverse_iterator4d_range | rlast_back_bottom_right (const range &slab_range, const range &slice_range, const range &row_range, const range &col_range) const |
Returns a read-only reverse_iterator4d_range that points to one before the first front upper left element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume. Iteration is done in the reverse order. More... | |
Assignment operators and methods | |
self & | operator= (const HyperVolume< T > &rhs) |
Assign a HyperVolume. More... | |
self & | operator= (const T &value) |
Assign all the elments of the HyperVolume by value. More... | |
void | fill (const T &value) |
Fills the container range [begin(),begin()+size()) with copies of value. More... | |
void | fill (const T *value) |
Fills the container range [begin(),begin()+size()) with a copy of the value array. More... | |
template<typename InputIterator > | |
void | fill (InputIterator first, InputIterator last) |
Fills the container range [begin(),begin()+size()) with a copy of the range [first,last) More... | |
Element access operators | |
T *** | operator[] (const size_type l) |
const T **const * | operator[] (const size_type l) const |
reference | operator() (const size_type l, const size_type k, const size_type i, const size_type j) |
Subscript access to the data contained in the HyperVolume. More... | |
const_reference | operator() (const size_type l, const size_type k, const size_type i, const size_type j) const |
Subscript access to the data contained in the HyperVolume. More... | |
Arithmetic operators | |
self & | operator+= (const T &val) |
Add val to each element of the HyperVolume. More... | |
self & | operator-= (const T &val) |
self & | operator*= (const T &val) |
self & | operator/= (const T &val) |
self | operator- () const |
self & | operator+= (const self &rhs) |
self & | operator-= (const self &rhs) |
self & | operator*= (const self &rhs) |
self & | operator/= (const self &rhs) |
Mathematic operators | |
T & | min () const |
Returns the min element of the HyperVolume according to the operator <. More... | |
T & | max () const |
Returns the max element of the HyperVolume according to the operator <. More... | |
T | sum () const |
Returns the sum of the elements of the HyperVolume. More... | |
HyperVolume< T > & | apply (T(*fun)(T)) |
Applys the one-parameter C-function fun to each element of the HyperVolume. More... | |
HyperVolume< T > & | apply (T(*fun)(const T &)) |
Applys the one-parameter C-function fun to each element of the HyperVolume. More... | |
Static Public Attributes | |
static const std::size_t | DIM = 4 |
Friends | |
class | boost::serialization::access |
i/o operators | |
std::ostream & | operator<< (std::ostream &out, const HyperVolume< T > &a) |
Write the HyperVolume to the ouput stream. More... | |
Comparison operators | |
bool | operator== (const HyperVolume< T > &x, const HyperVolume< T > &y) |
HyperVolume equality comparison More... | |
bool | operator!= (const HyperVolume< T > &x, const HyperVolume< T > &y) |
HyperVolume inequality comparison More... | |
bool | operator< (const HyperVolume< T > &x, const HyperVolume< T > &y) |
Less than comparison operator (HyperVolume ordering relation) More... | |
bool | operator> (const HyperVolume< T > &x, const HyperVolume< T > &y) |
More than comparison operator. More... | |
bool | operator<= (const HyperVolume< T > &x, const HyperVolume< T > &y) |
Less than equal comparison operator. More... | |
bool | operator>= (const HyperVolume< T > &x, const HyperVolume< T > &y) |
More than equal comparison operator. More... | |
Related Functions | |
(Note that these are not member functions.) | |
template<typename T > | |
T & | min (const HyperVolume< T > &M1) |
Returns the min element of a HyperVolume. More... | |
template<typename T > | |
T & | max (const HyperVolume< T > &M1) |
Returns the max element of a HyperVolume. More... | |
template<typename T > | |
HyperVolume< T > | abs (const HyperVolume< T > &V) |
Returns the abs value of each element of the HyperVolume. More... | |
template<typename T > | |
HyperVolume< T > | sqrt (const HyperVolume< T > &V) |
Returns the sqrt value of each element of the HyperVolume. More... | |
template<typename T > | |
HyperVolume< T > | cos (const HyperVolume< T > &V) |
Returns the cos value of each element of the HyperVolume. More... | |
template<typename T > | |
HyperVolume< T > | acos (const HyperVolume< T > &V) |
Returns the acos value of each element of the HyperVolume. More... | |
template<typename T > | |
HyperVolume< T > | sin (const HyperVolume< T > &V) |
Returns the sin value of each element of the HyperVolume. More... | |
template<typename T > | |
HyperVolume< T > | asin (const HyperVolume< T > &V) |
Returns the sin value of each element of the HyperVolume. More... | |
template<typename T > | |
HyperVolume< T > | tan (const HyperVolume< T > &V) |
Returns the tan value of each element of the HyperVolume. More... | |
template<typename T > | |
HyperVolume< T > | atan (const HyperVolume< T > &V) |
Returns the atan value of each element of the HyperVolume. More... | |
template<typename T > | |
HyperVolume< T > | exp (const HyperVolume< T > &V) |
Returns the exp value of each element of the HyperVolume. More... | |
template<typename T > | |
HyperVolume< T > | log (const HyperVolume< T > &V) |
Returns the log value of each element of the HyperVolume. More... | |
template<typename T > | |
HyperVolume< T > | cosh (const HyperVolume< T > &V) |
Returns the cosh value of each element of the HyperVolume. More... | |
template<typename T > | |
HyperVolume< T > | sinh (const HyperVolume< T > &V) |
Returns the sinh value of each element of the HyperVolume. More... | |
template<typename T > | |
HyperVolume< T > | tanh (const HyperVolume< T > &V) |
Returns the tanh value of each element of the HyperVolume. More... | |
template<typename T > | |
HyperVolume< T > | log10 (const HyperVolume< T > &V) |
Returns the log10 value of each element of the HyperVolume. More... | |
Numerical container class This is a four-dimensional dynamic and generic container. This container satisfies the BidirectionnalContainer concepts of the STL. It is also an 4d extension of the RandomAccessContainer concept. That is to say the bracket element access is replaced by the triple bracket element access. Data are stored using a Matrix4d class. It extends the interface of Matrix4d adding image read/write operations. These operations are done using the ImageMagick library.
T | Type of object in the HyperVolume |
Definition at line 104 of file HyperVolume.hpp.
typedef slip::stride_iterator<pointer> slip::HyperVolume< T >::col_iterator |
Definition at line 191 of file HyperVolume.hpp.
typedef slip::stride_iterator<col_iterator> slip::HyperVolume< T >::col_range_iterator |
Definition at line 200 of file HyperVolume.hpp.
typedef slip::stride_iterator<const_pointer> slip::HyperVolume< T >::const_col_iterator |
Definition at line 192 of file HyperVolume.hpp.
typedef slip::stride_iterator<const_col_iterator> slip::HyperVolume< T >::const_col_range_iterator |
Definition at line 201 of file HyperVolume.hpp.
typedef const_iterator4d slip::HyperVolume< T >::const_default_iterator |
Definition at line 234 of file HyperVolume.hpp.
typedef const_pointer slip::HyperVolume< T >::const_iterator |
Definition at line 178 of file HyperVolume.hpp.
typedef slip::Array4d<T>::const_iterator4d slip::HyperVolume< T >::const_iterator4d |
Definition at line 223 of file HyperVolume.hpp.
typedef slip::Array4d<T>::const_iterator4d_range slip::HyperVolume< T >::const_iterator4d_range |
Definition at line 225 of file HyperVolume.hpp.
typedef const value_type* slip::HyperVolume< T >::const_pointer |
Definition at line 170 of file HyperVolume.hpp.
typedef const value_type& slip::HyperVolume< T >::const_reference |
Definition at line 172 of file HyperVolume.hpp.
typedef std::reverse_iterator<const_col_iterator> slip::HyperVolume< T >::const_reverse_col_iterator |
Definition at line 210 of file HyperVolume.hpp.
typedef std::reverse_iterator<const_col_range_iterator> slip::HyperVolume< T >::const_reverse_col_range_iterator |
Definition at line 219 of file HyperVolume.hpp.
typedef std::reverse_iterator<const_iterator> slip::HyperVolume< T >::const_reverse_iterator |
Definition at line 181 of file HyperVolume.hpp.
typedef std::reverse_iterator<const_iterator4d> slip::HyperVolume< T >::const_reverse_iterator4d |
Definition at line 228 of file HyperVolume.hpp.
typedef std::reverse_iterator<const_iterator4d_range> slip::HyperVolume< T >::const_reverse_iterator4d_range |
Definition at line 230 of file HyperVolume.hpp.
typedef std::reverse_iterator<const_iterator> slip::HyperVolume< T >::const_reverse_row_iterator |
Definition at line 208 of file HyperVolume.hpp.
typedef std::reverse_iterator<const_row_range_iterator> slip::HyperVolume< T >::const_reverse_row_range_iterator |
Definition at line 217 of file HyperVolume.hpp.
typedef std::reverse_iterator<const_slab_iterator> slip::HyperVolume< T >::const_reverse_slab_iterator |
Definition at line 204 of file HyperVolume.hpp.
typedef std::reverse_iterator<const_slab_range_iterator> slip::HyperVolume< T >::const_reverse_slab_range_iterator |
Definition at line 213 of file HyperVolume.hpp.
typedef std::reverse_iterator<const_slice_iterator> slip::HyperVolume< T >::const_reverse_slice_iterator |
Definition at line 206 of file HyperVolume.hpp.
typedef std::reverse_iterator<const_slice_range_iterator> slip::HyperVolume< T >::const_reverse_slice_range_iterator |
Definition at line 215 of file HyperVolume.hpp.
typedef const_pointer slip::HyperVolume< T >::const_row_iterator |
Definition at line 190 of file HyperVolume.hpp.
typedef slip::stride_iterator<const_pointer> slip::HyperVolume< T >::const_row_range_iterator |
Definition at line 199 of file HyperVolume.hpp.
typedef slip::stride_iterator<const_pointer> slip::HyperVolume< T >::const_slab_iterator |
Definition at line 186 of file HyperVolume.hpp.
typedef slip::stride_iterator<const_slab_iterator> slip::HyperVolume< T >::const_slab_range_iterator |
Definition at line 195 of file HyperVolume.hpp.
typedef slip::stride_iterator<const_pointer> slip::HyperVolume< T >::const_slice_iterator |
Definition at line 188 of file HyperVolume.hpp.
typedef slip::stride_iterator<const_slice_iterator> slip::HyperVolume< T >::const_slice_range_iterator |
Definition at line 197 of file HyperVolume.hpp.
typedef iterator4d slip::HyperVolume< T >::default_iterator |
Definition at line 233 of file HyperVolume.hpp.
typedef ptrdiff_t slip::HyperVolume< T >::difference_type |
Definition at line 174 of file HyperVolume.hpp.
typedef pointer slip::HyperVolume< T >::iterator |
Definition at line 177 of file HyperVolume.hpp.
typedef slip::Array4d<T>::iterator4d slip::HyperVolume< T >::iterator4d |
Definition at line 222 of file HyperVolume.hpp.
typedef slip::Array4d<T>::iterator4d_range slip::HyperVolume< T >::iterator4d_range |
Definition at line 224 of file HyperVolume.hpp.
typedef value_type* slip::HyperVolume< T >::pointer |
Definition at line 169 of file HyperVolume.hpp.
typedef slip::Range<int> slip::HyperVolume< T >::range |
Definition at line 237 of file HyperVolume.hpp.
typedef value_type& slip::HyperVolume< T >::reference |
Definition at line 171 of file HyperVolume.hpp.
typedef std::reverse_iterator<col_iterator> slip::HyperVolume< T >::reverse_col_iterator |
Definition at line 209 of file HyperVolume.hpp.
typedef std::reverse_iterator<col_range_iterator> slip::HyperVolume< T >::reverse_col_range_iterator |
Definition at line 218 of file HyperVolume.hpp.
typedef std::reverse_iterator<iterator> slip::HyperVolume< T >::reverse_iterator |
Definition at line 180 of file HyperVolume.hpp.
typedef std::reverse_iterator<iterator4d> slip::HyperVolume< T >::reverse_iterator4d |
Definition at line 227 of file HyperVolume.hpp.
typedef std::reverse_iterator<iterator4d_range> slip::HyperVolume< T >::reverse_iterator4d_range |
Definition at line 229 of file HyperVolume.hpp.
typedef std::reverse_iterator<iterator> slip::HyperVolume< T >::reverse_row_iterator |
Definition at line 207 of file HyperVolume.hpp.
typedef std::reverse_iterator<row_range_iterator> slip::HyperVolume< T >::reverse_row_range_iterator |
Definition at line 216 of file HyperVolume.hpp.
typedef std::reverse_iterator<slab_iterator> slip::HyperVolume< T >::reverse_slab_iterator |
Definition at line 203 of file HyperVolume.hpp.
typedef std::reverse_iterator<slab_range_iterator> slip::HyperVolume< T >::reverse_slab_range_iterator |
Definition at line 212 of file HyperVolume.hpp.
typedef std::reverse_iterator<slice_iterator> slip::HyperVolume< T >::reverse_slice_iterator |
Definition at line 205 of file HyperVolume.hpp.
typedef std::reverse_iterator<slice_range_iterator> slip::HyperVolume< T >::reverse_slice_range_iterator |
Definition at line 214 of file HyperVolume.hpp.
typedef pointer slip::HyperVolume< T >::row_iterator |
Definition at line 189 of file HyperVolume.hpp.
typedef slip::stride_iterator<pointer> slip::HyperVolume< T >::row_range_iterator |
Definition at line 198 of file HyperVolume.hpp.
typedef HyperVolume<T> slip::HyperVolume< T >::self |
Definition at line 167 of file HyperVolume.hpp.
typedef std::size_t slip::HyperVolume< T >::size_type |
Definition at line 175 of file HyperVolume.hpp.
typedef slip::stride_iterator<pointer> slip::HyperVolume< T >::slab_iterator |
Definition at line 185 of file HyperVolume.hpp.
typedef slip::stride_iterator<slab_iterator> slip::HyperVolume< T >::slab_range_iterator |
Definition at line 194 of file HyperVolume.hpp.
typedef slip::stride_iterator<pointer> slip::HyperVolume< T >::slice_iterator |
Definition at line 187 of file HyperVolume.hpp.
typedef slip::stride_iterator<slice_iterator> slip::HyperVolume< T >::slice_range_iterator |
Definition at line 196 of file HyperVolume.hpp.
typedef T slip::HyperVolume< T >::value_type |
Definition at line 166 of file HyperVolume.hpp.
|
inline |
Constructs a HyperVolume.
Definition at line 3560 of file HyperVolume.hpp.
slip::HyperVolume< T >::HyperVolume | ( | const std::size_t | d1, |
const std::size_t | d2, | ||
const std::size_t | d3, | ||
const std::size_t | d4 | ||
) |
Constructs a HyperVolume.
d1 | first dimension of the HyperVolume |
d2 | second dimension of the HyperVolume |
d3 | third dimension of the HyperVolume |
d4 | fourth dimension of the HyperVolume |
slip::HyperVolume< T >::HyperVolume | ( | const std::size_t | d1, |
const std::size_t | d2, | ||
const std::size_t | d3, | ||
const std::size_t | d4, | ||
const T & | val | ||
) |
Constructs a HyperVolume initialized by the scalar value val.
d1 | first dimension of the HyperVolume |
d2 | second dimension of the HyperVolume |
d3 | third dimension of the HyperVolume |
d4 | fourth dimension of the HyperVolume |
val | initialization value of the elements |
slip::HyperVolume< T >::HyperVolume | ( | const std::size_t | d1, |
const std::size_t | d2, | ||
const std::size_t | d3, | ||
const std::size_t | d4, | ||
const T * | val | ||
) |
Constructs a HyperVolume initialized by an array val.
d1 | first dimension of the HyperVolume |
d2 | second dimension of the HyperVolume |
d3 | third dimension of the HyperVolume |
d4 | fourth dimension of the HyperVolume |
val | initialization array value of the elements |
|
inline |
Contructs a HyperVolume from a range.
d1 | first dimension of the HyperVolume |
d2 | second dimension of the HyperVolume |
d3 | third dimension of the HyperVolume |
d4 | fourth dimension of the HyperVolume |
first | An input iterator. |
last | An input iterator. |
Create a HyperVolume consisting of copies of the elements from [first,last).
Definition at line 305 of file HyperVolume.hpp.
|
inline |
Constructs a copy of the HyperVolume rhs.
Definition at line 3596 of file HyperVolume.hpp.
|
inline |
Destructor of the HyperVolume.
Definition at line 3602 of file HyperVolume.hpp.
|
inline |
Definition at line 3566 of file HyperVolume.hpp.
|
inline |
Definition at line 3575 of file HyperVolume.hpp.
|
inline |
Definition at line 3585 of file HyperVolume.hpp.
|
inline |
Applys the one-parameter C-function fun to each element of the HyperVolume.
fun | The one-parameter C function |
Definition at line 4905 of file HyperVolume.hpp.
|
inline |
Applys the one-parameter C-function fun to each element of the HyperVolume.
fun | The one-const-parameter C function |
Definition at line 4913 of file HyperVolume.hpp.
|
inline |
Returns a read-only (constant) iterator that points to the first element in the HyperVolume. Iteration is done in ordinary element order.
Definition at line 3673 of file HyperVolume.hpp.
|
inline |
Returns a read/write iterator that points to the first element in the HyperVolume. Iteration is done in ordinary element order.
Definition at line 3659 of file HyperVolume.hpp.
col_iterator slip::HyperVolume< T >::col_begin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col | ||
) |
Returns a read/write iterator that points to the first element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns.
slab | The index of the slab. |
slice | The index of the slice. |
col | The index of the column |
const_col_iterator slip::HyperVolume< T >::col_begin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col | ||
) | const |
Returns a read_only iterator that points to the first element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns.
slab | The index of the slab. |
slice | The index of the slice. |
col | The index of the column |
col_range_iterator slip::HyperVolume< T >::col_begin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) |
Returns a read-write iterator that points to the first element of the Range range of the col col in the slab slab and the slice slice in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
col | The index of the column to iterate. |
range | Range of the column to iterate |
const_col_range_iterator slip::HyperVolume< T >::col_begin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read-only iterator that points to the first element of the Range range of the col col in the slab slab and the slice slice in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
col | The index of the column to iterate. |
range | Range of the column to iterate. |
col_iterator slip::HyperVolume< T >::col_end | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col | ||
) |
Returns a read/write iterator that points to the past-the-end element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns.
slab | The index of the slab. |
slice | The index of the slice. |
col | The index of the column |
const_col_iterator slip::HyperVolume< T >::col_end | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col | ||
) | const |
Returns a read_only iterator that points to the past-the-end element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns.
slab | The index of the slab. |
slice | The index of the slice. |
col | The index of the column |
col_range_iterator slip::HyperVolume< T >::col_end | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) |
Returns a read-write iterator that points to the past the end element of the Range range of the col col in the slab slab and the slice slice in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
col | The index of the column to iterate. |
range | Range of the column to iterate. |
const_col_range_iterator slip::HyperVolume< T >::col_end | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read-only iterator that points to the past the end element of the Range range of the col col in the slab slab and the slice slice in the HyperVolume.
slab | slab coordinate of the line Iteration is done in ordinary element order according to the Range. |
slice | The index of the slice. |
col | The index of the column to iterate. |
range | Range of the column to iterate |
reverse_col_iterator slip::HyperVolume< T >::col_rbegin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col | ||
) |
Returns a read/write reverse iterator that points to the last element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns.
slab | The index of the slab. |
slice | The index of the slice. |
col | The index of the column |
const_reverse_col_iterator slip::HyperVolume< T >::col_rbegin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col | ||
) | const |
Returns a read_only reverse iterator that points to the last element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns.
slab | The index of the slab. |
slice | The index of the slice. |
col | The index of the column |
reverse_col_range_iterator slip::HyperVolume< T >::col_rbegin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) |
Returns a read-write iterator that points to the last element of the Range range of the col of a slice col in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
col | The index of the column to iterate. |
range | Range of the column to iterate. |
const_reverse_col_range_iterator slip::HyperVolume< T >::col_rbegin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read_only iterator that points to the last element of the Range & range of the col of a slice col in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
col | The index of the column to iterate. |
range | Range of the column to iterate. |
reverse_col_iterator slip::HyperVolume< T >::col_rend | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col | ||
) |
Returns a read/write reverse iterator that points to the first element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns.
slab | The index of the slab. |
slice | The index of the slice. |
col | The index of the column |
const_reverse_col_iterator slip::HyperVolume< T >::col_rend | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col | ||
) | const |
Returns a read_only reverse iterator that points to the first element of the column column of a given slab slab and a given slice slice in the HyperVolume. Iteration is done modulo the number of columns.
slab | The index of the slab. |
slice | The index of the slice. |
col | The index of the column |
reverse_col_range_iterator slip::HyperVolume< T >::col_rend | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) |
Returns a read-write iterator that points to one before the first element of the Range range of the col of a slice col in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
col | The index of the column to iterate. |
range | Range of the column to iterate. |
const_reverse_col_range_iterator slip::HyperVolume< T >::col_rend | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read-only iterator that points to the first element of the Range range of the col of a slice col in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
col | The index of the column to iterate. |
range | Range of the column to iterate. |
|
inline |
Returns the number of columns (fourth dimension size) in the HyperVolume.
Definition at line 4696 of file HyperVolume.hpp.
|
inline |
Returns the number of columns (fourth dimension size) in the HyperVolume.
Definition at line 4701 of file HyperVolume.hpp.
|
inline |
Returns the number of slabs (first dimension size) in the HyperVolume.
Definition at line 4661 of file HyperVolume.hpp.
|
inline |
Returns the number of slices (second dimension size) in the HyperVolume.
Definition at line 4671 of file HyperVolume.hpp.
|
inline |
Returns the number of rows (third dimension size) in the HyperVolume.
Definition at line 4681 of file HyperVolume.hpp.
|
inline |
Returns the number of columns (fourth dimension size) in the HyperVolume.
Definition at line 4691 of file HyperVolume.hpp.
|
inline |
Returns true if the HyperVolume is empty. (Thus size() == 0)
Definition at line 4716 of file HyperVolume.hpp.
|
inline |
Returns a read/write iterator that points one past the last element in the HyperVolume. Iteration is done in ordinary element order.
Definition at line 3666 of file HyperVolume.hpp.
|
inline |
Returns a read-only (constant) iterator that points one past the last element in the HyperVolume. Iteration is done in ordinary element order.
Definition at line 3681 of file HyperVolume.hpp.
|
inline |
Fills the container range [begin(),begin()+size()) with copies of value.
value | A reference-to-const of arbitrary type. |
Definition at line 2923 of file HyperVolume.hpp.
|
inline |
Fills the container range [begin(),begin()+size()) with a copy of the value array.
value | A pointer of arbitrary type. |
Definition at line 2934 of file HyperVolume.hpp.
|
inline |
Fills the container range [begin(),begin()+size()) with a copy of the range [first,last)
first | An input iterator. |
last | An input iterator. |
Definition at line 2948 of file HyperVolume.hpp.
|
inline |
Returns a read/write iterator4d that points to the first element of the HyperVolume. It points to the first front upper left element of the HyperVolume.
Definition at line 4365 of file HyperVolume.hpp.
|
inline |
Returns a read-only iterator4d that points to the first element of the HyperVolume. It points to the fist front upper left element of the HyperVolume.
Definition at line 4372 of file HyperVolume.hpp.
|
inline |
Returns a read/write iterator4d that points to the first element of the HyperVolume. It points to the first front upper left element of the Box4d associated to the HyperVolume.
box | A Box4d defining the range of indices to iterate within the HyperVolume. |
Definition at line 4432 of file HyperVolume.hpp.
|
inline |
Returns a read only iterator4d that points to the first element of the HyperVolume. It points to the front upper left element of the Box4d associated to the HyperVolume.
box | a Box4d defining the range of indices to iterate within the HyperVolume. |
Definition at line 4439 of file HyperVolume.hpp.
iterator4d_range slip::HyperVolume< T >::first_front_upper_left | ( | const range & | slab_range, |
const range & | slice_range, | ||
const range & | row_range, | ||
const range & | col_range | ||
) |
Returns a read/write iterator4d_range that points to the first front upper left element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume.
slab_range | The range of the slices. |
slice_range | The range of the slices. |
row_range | The range of the rows. |
col_range | The range of the columns. |
const_iterator4d_range slip::HyperVolume< T >::first_front_upper_left | ( | const range & | slab_range, |
const range & | slice_range, | ||
const range & | row_range, | ||
const range & | col_range | ||
) | const |
Returns a read-only iterator4d_range that points to the to the first front upper left element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume.
slab_range | The range of the slices. |
slice_range | The range of the slices. |
row_range | The range of the rows. |
col_range | The range of the columns. |
|
inline |
Returns a read/write iterator4d that points to the past the end element of the HyperVolume. It points to past the end element of the last back bottom right element of the HyperVolume.
Definition at line 4381 of file HyperVolume.hpp.
|
inline |
Returns a read-only iterator4d that points to the past the end element of the HyperVolume. It points to past the end element of the last back bottom right element of the HyperVolume.
Definition at line 4388 of file HyperVolume.hpp.
|
inline |
Returns a read/write iterator4d that points to the past the end element of the HyperVolume. It points to past the end element of the last back bottom right element of the Box4d associated to the HyperVolume.
box | a Box4d defining the range of indices to iterate within the HyperVolume. |
Definition at line 4449 of file HyperVolume.hpp.
|
inline |
Returns a read only iterator4d that points to the past the end element of the HyperVolume. It points to past the end element of the back bottom right element of the Box4d associated to the HyperVolume.
box | a Box4d defining the range of indices to iterate within the HyperVolume. |
Definition at line 4457 of file HyperVolume.hpp.
iterator4d_range slip::HyperVolume< T >::last_back_bottom_right | ( | const range & | slab_range, |
const range & | slice_range, | ||
const range & | row_range, | ||
const range & | col_range | ||
) |
Returns a read/write iterator4d_range that points to the past the end last back bottom right element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume.
slab_range | The range of the slices. |
slice_range | The range of the slices. |
row_range | The range of the rows. |
col_range | The range of the columns. |
const_iterator4d_range slip::HyperVolume< T >::last_back_bottom_right | ( | const range & | slab_range, |
const range & | slice_range, | ||
const range & | row_range, | ||
const range & | col_range | ||
) | const |
Returns a read-only iterator4d_range that points to the past the end last back bottom right element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume.
slab_range | The range of the slices. |
slice_range | The range of the slices. |
row_range | The range of the rows. |
col_range | The range of the columns. |
|
inline |
Returns the max element of the HyperVolume according to the operator <.
Definition at line 4888 of file HyperVolume.hpp.
|
inline |
Returns the maximal size (number of elements) in the HyperVolume.
Definition at line 4712 of file HyperVolume.hpp.
|
inline |
Returns the min element of the HyperVolume according to the operator <.
Definition at line 4880 of file HyperVolume.hpp.
|
inline |
Returns the name of the class.
Definition at line 4656 of file HyperVolume.hpp.
reference slip::HyperVolume< T >::operator() | ( | const size_type | l, |
const size_type | k, | ||
const size_type | i, | ||
const size_type | j | ||
) |
Subscript access to the data contained in the HyperVolume.
l | The index of the slab for which the data should be accessed. |
k | The index of the slice for which the data should be accessed. |
i | The index of the row for which the data should be accessed. |
j | The index of the column for which the data should be accessed. |
const_reference slip::HyperVolume< T >::operator() | ( | const size_type | l, |
const size_type | k, | ||
const size_type | i, | ||
const size_type | j | ||
) | const |
Subscript access to the data contained in the HyperVolume.
l | The index of the slab for which the data should be accessed. |
k | The index of the slice for which the data should be accessed. |
i | The index of the row for which the data should be accessed. |
j | The index of the column for which the data should be accessed. |
|
inline |
Definition at line 4807 of file HyperVolume.hpp.
|
inline |
Definition at line 4857 of file HyperVolume.hpp.
|
inline |
Add val to each element of the HyperVolume.
val | value |
Definition at line 4791 of file HyperVolume.hpp.
|
inline |
Definition at line 4832 of file HyperVolume.hpp.
|
inline |
Definition at line 4823 of file HyperVolume.hpp.
|
inline |
Definition at line 4799 of file HyperVolume.hpp.
|
inline |
Definition at line 4845 of file HyperVolume.hpp.
|
inline |
Definition at line 4815 of file HyperVolume.hpp.
|
inline |
Definition at line 4869 of file HyperVolume.hpp.
|
inline |
Assign a HyperVolume.
Assign elements of HyperVolume in rhs
rhs | HyperVolume to get the values from. |
Definition at line 3615 of file HyperVolume.hpp.
|
inline |
Assign all the elments of the HyperVolume by value.
value | A reference-to-const of arbitrary type. |
Definition at line 3626 of file HyperVolume.hpp.
T*** slip::HyperVolume< T >::operator[] | ( | const size_type | l | ) |
const T** const* slip::HyperVolume< T >::operator[] | ( | const size_type | l | ) | const |
|
inline |
Returns a read/write reverse iterator that points to the last element in the HyperVolume. Iteration is done in reverse element order.
Definition at line 3690 of file HyperVolume.hpp.
|
inline |
Returns a read-only (constant) reverse iterator that points to the last element in the HyperVolume. Iteration is done in reverse element order.
Definition at line 3704 of file HyperVolume.hpp.
|
inline |
Returns a read/write reverse iterator that points to one before the first element in the HyperVolume. Iteration is done in reverse element order.
Definition at line 3697 of file HyperVolume.hpp.
|
inline |
Returns a read-only (constant) reverse iterator that points to one before the first element in the HyperVolume. Iteration is done in reverse element order.
Definition at line 3711 of file HyperVolume.hpp.
|
inline |
Resizes a HyperVolume.
d1 | new first dimension |
d2 | new second dimension |
d3 | new third dimension |
d4 | new fourth dimension |
val | new value for all the elements |
Definition at line 3634 of file HyperVolume.hpp.
|
inline |
Returns a read/write reverse iterator4d. It points to the last back bottom right element of the HyperVolume. Iteration is done within the HyperVolume in the reverse order.
Definition at line 4414 of file HyperVolume.hpp.
|
inline |
Returns a read only reverse iterator4d that points. It points to the last back bottom right element of the HyperVolume. Iteration is done within the HyperVolume in the reverse order.
Definition at line 4422 of file HyperVolume.hpp.
|
inline |
Returns a read/write reverse iterator4d. It points to the back bottom right element of the Box4d associated to the HyperVolume. Iteration is done in the reverse order.
box | a Box4d defining the range of indices to iterate within the HyperVolume. |
Definition at line 4483 of file HyperVolume.hpp.
|
inline |
Returns a read only reverse iterator4d. It points to the back bottom right element of the Box4d box associated to the HyperVolume. Iteration is done in the reverse order.
box | A Box4d defining the range of indices to iterate within the HyperVolume. |
Definition at line 4491 of file HyperVolume.hpp.
reverse_iterator4d_range slip::HyperVolume< T >::rfirst_front_upper_left | ( | const range & | slab_range, |
const range & | slice_range, | ||
const range & | row_range, | ||
const range & | col_range | ||
) |
Returns a read/write reverse_iterator4d_range that points to the past the last back bottom right element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume. Iteration is done in the reverse order.
slab_range | The range of the slices. |
slice_range | The range of the slices. |
row_range | The range of the rows. |
col_range | The range of the columns. |
const_reverse_iterator4d_range slip::HyperVolume< T >::rfirst_front_upper_left | ( | const range & | slab_range, |
const range & | slice_range, | ||
const range & | row_range, | ||
const range & | col_range | ||
) | const |
Returns a read-only reverse_iterator4d_range that points to the past the last back bottom right element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume. Iteration is done in the reverse order.
slab_range | The range of the slices. |
slice_range | The range of the slices. |
row_range | The range of the rows. |
col_range | The range of the columns. |
|
inline |
Returns a read/write reverse iterator4d. It points to past the first front upper left element of the HyperVolume. Iteration is done in the reverse order.
Definition at line 4397 of file HyperVolume.hpp.
|
inline |
Returns a read only reverse iterator4d. It points to past the first front upper left element of the HyperVolume. Iteration is done in the reverse order.
Definition at line 4405 of file HyperVolume.hpp.
|
inline |
Returns a read/write reverse iterator4d. It points to one before the front upper left element of the Box4d box associated to the HyperVolume.
box | A Box4d defining the range of indices to iterate within the HyperVolume. |
Definition at line 4466 of file HyperVolume.hpp.
|
inline |
Returns a read-only reverse iterator4d. It points to one before the front element of the bottom right element of the Box4d box associated to the HyperVolume.
box | A Box4d defining the range of indices to iterate within the HyperVolume. |
Definition at line 4474 of file HyperVolume.hpp.
reverse_iterator4d_range slip::HyperVolume< T >::rlast_back_bottom_right | ( | const range & | slab_range, |
const range & | slice_range, | ||
const range & | row_range, | ||
const range & | col_range | ||
) |
Returns a read/write reverse_iterator4d_range that points to one before the first front upper left element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume. Iteration is done in the reverse order.
slab_range | The range of the slices. |
slice_range | The range of the slices. |
row_range | The range of the rows. |
col_range | The range of the columns. |
const_reverse_iterator4d_range slip::HyperVolume< T >::rlast_back_bottom_right | ( | const range & | slab_range, |
const range & | slice_range, | ||
const range & | row_range, | ||
const range & | col_range | ||
) | const |
Returns a read-only reverse_iterator4d_range that points to one before the first front upper left element of the ranges slab_range, slice_range, row_range and col_range associated to the HyperVolume. Iteration is done in the reverse order.
slab_range | The range of the slices. |
slice_range | The range of the slices. |
row_range | The range of the rows. |
col_range | The range of the columns. |
row_iterator slip::HyperVolume< T >::row_begin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row | ||
) |
Returns a read/write iterator that points to the first element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in ordinary element order.
slab | The index of the slab. |
slice | The index of the slice. |
row | The index of the row. |
const_row_iterator slip::HyperVolume< T >::row_begin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row | ||
) | const |
Returns a read_only iterator that points to the first element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in ordinary element order.
slab | The index of the slab. |
slice | The index of the slice. |
row | The index of the row. |
row_range_iterator slip::HyperVolume< T >::row_begin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row, | ||
const slip::Range< int > & | range | ||
) |
Returns a read/write iterator that points to the first element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
row | The index of the row to iterate. |
range | Range of the row to iterate. |
const_row_range_iterator slip::HyperVolume< T >::row_begin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read-only iterator that points to the first element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
row | The index of the row to iterate. |
range | Range of the row to iterate. |
row_iterator slip::HyperVolume< T >::row_end | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row | ||
) |
Returns a read/write iterator that points to the past-the-end element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in ordinary element order.
slab | The index of the slab. |
slice | The index of the slice. |
row | The index of the row. |
const_row_iterator slip::HyperVolume< T >::row_end | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row | ||
) | const |
Returns a read_only iterator that points to the past-the-end element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in ordinary element order.
slab | The index of the slab. |
slice | The index of the slice. |
row | The index of the row. |
row_range_iterator slip::HyperVolume< T >::row_end | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row, | ||
const slip::Range< int > & | range | ||
) |
Returns a read/write iterator that points one past the end element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
row | The index of the row to iterate. |
range | Range of the row to iterate. |
const_row_range_iterator slip::HyperVolume< T >::row_end | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read_only iterator that points one past the last element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
row | Row to iterate. |
range | Range of the row to iterate |
reverse_row_iterator slip::HyperVolume< T >::row_rbegin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row | ||
) |
Returns a read/write reverse iterator that points to the last element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in reverse element order.
slab | The index of the slab. |
slice | The index of the slice. |
row | The index of the row. |
const_reverse_row_iterator slip::HyperVolume< T >::row_rbegin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row | ||
) | const |
Returns a read_only reverse iterator that points to the last element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in reverse element order.
slab | The index of the slab. |
slice | The index of the slice. |
row | The index of the row. |
reverse_row_range_iterator slip::HyperVolume< T >::row_rbegin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row, | ||
const slip::Range< int > & | range | ||
) |
Returns a read-write iterator that points to the last element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
row | The index of the row to iterate. |
range | Range of the row to iterate. |
const_reverse_row_range_iterator slip::HyperVolume< T >::row_rbegin | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read-only iterator that points to the last element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
row | The index of the row to iterate. |
range | Range of the row to iterate |
reverse_row_iterator slip::HyperVolume< T >::row_rend | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row | ||
) |
Returns a read/write reverse iterator that points to the first element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in reverse element order.
slab | The index of the slab. |
slice | The index of the slice. |
row | The index of the row. |
const_reverse_row_iterator slip::HyperVolume< T >::row_rend | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row | ||
) | const |
Returns a read_only reverse iterator that points to the first element of the row row of a given slab slab and a given slice slice in the HyperVolume. Iteration is done in reverse element order.
slab | The index of the slab. |
slice | The index of the slice. |
row | The index of the row. |
reverse_row_range_iterator slip::HyperVolume< T >::row_rend | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row, | ||
const slip::Range< int > & | range | ||
) |
Returns a read-write iterator that points one before the first element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
row | The index of the row to iterate. |
range | Range of the row to iterate. |
const_reverse_row_range_iterator slip::HyperVolume< T >::row_rend | ( | const size_type | slab, |
const size_type | slice, | ||
const size_type | row, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read-only iterator that points one before the first element of the Range range of the row row in the slab slab and the slice slice in the HyperVolume. Iteration is done in the reverse element order according to the Range.
slab | slab coordinate of the line |
slice | The index of the slice. |
row | The index of the row to iterate. |
range | Range of the row to iterate |
|
inline |
Returns the number of rows (third dimension size) in the HyperVolume.
Definition at line 4686 of file HyperVolume.hpp.
|
inline |
Returns the number of elements in the HyperVolume.
Definition at line 4707 of file HyperVolume.hpp.
slab_iterator slip::HyperVolume< T >::slab_begin | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col | ||
) |
Returns a read/write iterator that points to the first element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order (increasing slab number).
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
const_slab_iterator slip::HyperVolume< T >::slab_begin | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col | ||
) | const |
Returns a read-only (constant) iterator that points to the first element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order (increasing slab number).
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
slab_range_iterator slip::HyperVolume< T >::slab_begin | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) |
Returns a read/write iterator that points to the first element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
const_slab_range_iterator slip::HyperVolume< T >::slab_begin | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read only (constant) iterator that points to the first element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
slab_iterator slip::HyperVolume< T >::slab_end | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col | ||
) |
Returns a read/write iterator that points to the one past the end element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order (increasing slab number).
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
const_slab_iterator slip::HyperVolume< T >::slab_end | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col | ||
) | const |
Returns a read-only (constant) iterator that points to the one past the end element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order (increasing slab number).
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
slab_range_iterator slip::HyperVolume< T >::slab_end | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) |
Returns a read/write iterator that points one past the end element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
const_slab_range_iterator slip::HyperVolume< T >::slab_end | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read_only iterator that points one past the last element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
reverse_slab_iterator slip::HyperVolume< T >::slab_rbegin | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col | ||
) |
Returns a read/write iterator that points to the last element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in reverse element order (decreasing slab number).
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
const_reverse_slab_iterator slip::HyperVolume< T >::slab_rbegin | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col | ||
) | const |
Returns a read-only (constant) iterator that points to the last element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in reverse element order (decreasing slab number).
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
reverse_slab_range_iterator slip::HyperVolume< T >::slab_rbegin | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) |
Returns a read/write iterator that points to the last element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in the reverse element order according to the Range.
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
const_reverse_slab_range_iterator slip::HyperVolume< T >::slab_rbegin | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read only (constant) iterator that points to the last element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in reverse element order according to the Range.
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
reverse_slab_iterator slip::HyperVolume< T >::slab_rend | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col | ||
) |
Returns a read/write iterator that points to the one before the first element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in reverse element order (decreasing slab number).
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
const_reverse_slab_iterator slip::HyperVolume< T >::slab_rend | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col | ||
) | const |
Returns a read (constant) iterator that points to the one before the first element of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in reverse element order (decreasing slab number).
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
reverse_slab_range_iterator slip::HyperVolume< T >::slab_rend | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) |
Returns a read/write iterator that points to the first element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in reverse element order according to the Range.
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
const_reverse_slab_range_iterator slip::HyperVolume< T >::slab_rend | ( | const size_type | slice, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read_only iterator that points one past the lastto the first element of the Range range of the of the line (slice,row,col) through the slabs in the HyperVolume. Iteration is done in reverse element order according to the Range.
slice | slice coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
|
inline |
Returns the number of slabs (first dimension size) in the HyperVolume.
Definition at line 4666 of file HyperVolume.hpp.
slice_iterator slip::HyperVolume< T >::slice_begin | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col | ||
) |
Returns a read/write iterator that points to the first element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order (increasing slice number).
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
const_slice_iterator slip::HyperVolume< T >::slice_begin | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col | ||
) | const |
Returns a read-only (constant) iterator that points to the first element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order (increasing slice number).
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
slice_range_iterator slip::HyperVolume< T >::slice_begin | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) |
Returns a read/write iterator that points to the first element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
const_slice_range_iterator slip::HyperVolume< T >::slice_begin | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read only (constant) iterator that points to the first element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
slice_iterator slip::HyperVolume< T >::slice_end | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col | ||
) |
Returns a read/write iterator that points to the one past the end element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order (increasing slice number).
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
const_slice_iterator slip::HyperVolume< T >::slice_end | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col | ||
) | const |
Returns a read-only (constant) iterator that points to the one past the end element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order (increasing slice number).
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
slice_range_iterator slip::HyperVolume< T >::slice_end | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) |
Returns a read/write iterator that points one past the end element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
const_slice_range_iterator slip::HyperVolume< T >::slice_end | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read_only iterator that points one past the last element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in ordinary element order according to the Range.
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
reverse_slice_iterator slip::HyperVolume< T >::slice_rbegin | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col | ||
) |
Returns a read/write iterator that points to the last element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in reverse element order (decreasing slice number).
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
const_reverse_slice_iterator slip::HyperVolume< T >::slice_rbegin | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col | ||
) | const |
Returns a read-only (constant) iterator that points to the last element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in reverse element order (decreasing slice number).
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
reverse_slice_range_iterator slip::HyperVolume< T >::slice_rbegin | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) |
Returns a read/write iterator that points to the last element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in the reverse element order according to the Range.
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
const_reverse_slice_range_iterator slip::HyperVolume< T >::slice_rbegin | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read only (constant) iterator that points to the last element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in reverse element order according to the Range.
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
reverse_slice_iterator slip::HyperVolume< T >::slice_rend | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col | ||
) |
Returns a read/write iterator that points to the one before the first element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in reverse element order (decreasing slice number).
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
const_reverse_slice_iterator slip::HyperVolume< T >::slice_rend | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col | ||
) | const |
Returns a read (constant) iterator that points to the one before the first element of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in reverse element order (decreasing slice number).
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
reverse_slice_range_iterator slip::HyperVolume< T >::slice_rend | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) |
Returns a read/write iterator that points to the first element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in reverse element order according to the Range.
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
const_reverse_slice_range_iterator slip::HyperVolume< T >::slice_rend | ( | const size_type | slab, |
const size_type | row, | ||
const size_type | col, | ||
const slip::Range< int > & | range | ||
) | const |
Returns a read_only iterator that points one past the lastto the first element of the Range range of the of the line (slab,row,col) through the slices in the HyperVolume. Iteration is done in reverse element order according to the Range.
slab | slab coordinate of the line |
row | row coordinate of the line |
col | col coordinate of the line |
range | Range of the line to iterate. |
|
inline |
Returns the number of slices (second dimension size) in the HyperVolume.
Definition at line 4676 of file HyperVolume.hpp.
|
inline |
Returns the sum of the elements of the HyperVolume.
Definition at line 4896 of file HyperVolume.hpp.
|
inline |
|
related |
Returns the abs value of each element of the HyperVolume.
V | The HyperVolume |
Definition at line 5064 of file HyperVolume.hpp.
|
related |
Returns the acos value of each element of the HyperVolume.
V | The HyperVolume |
Definition at line 5092 of file HyperVolume.hpp.
|
related |
Returns the sin value of each element of the HyperVolume.
V | The HyperVolume |
Definition at line 5110 of file HyperVolume.hpp.
|
related |
Returns the atan value of each element of the HyperVolume.
V | The HyperVolume |
Definition at line 5128 of file HyperVolume.hpp.
|
friend |
Definition at line 3237 of file HyperVolume.hpp.
|
related |
Returns the cos value of each element of the HyperVolume.
V | The HyperVolume |
Definition at line 5083 of file HyperVolume.hpp.
|
related |
Returns the cosh value of each element of the HyperVolume.
V | The HyperVolume |
Definition at line 5155 of file HyperVolume.hpp.
|
related |
Returns the exp value of each element of the HyperVolume.
V | The HyperVolume |
Definition at line 5137 of file HyperVolume.hpp.
|
related |
Returns the log value of each element of the HyperVolume.
V | The HyperVolume |
Definition at line 5146 of file HyperVolume.hpp.
|
related |
Returns the log10 value of each element of the HyperVolume.
V | The HyperVolume |
Definition at line 5182 of file HyperVolume.hpp.
|
related |
Returns the max element of a HyperVolume.
M1 | the HyperVolume |
Definition at line 5057 of file HyperVolume.hpp.
|
related |
Returns the min element of a HyperVolume.
M1 | the HyperVolume |
Definition at line 5050 of file HyperVolume.hpp.
|
friend |
HyperVolume inequality comparison
x | A HyperVolume |
y | A HyperVolume of the same type of x |
Definition at line 4739 of file HyperVolume.hpp.
|
friend |
Less than comparison operator (HyperVolume ordering relation)
x | A HyperVolume |
y | A HyperVolume of the same type of x |
Definition at line 4751 of file HyperVolume.hpp.
|
friend |
Write the HyperVolume to the ouput stream.
out | output std::ostream |
a | HyperVolume to write to the output stream |
Definition at line 4599 of file HyperVolume.hpp.
|
friend |
Less than equal comparison operator.
x | A HyperVolume |
y | A HyperVolume of the same type of x |
Definition at line 4769 of file HyperVolume.hpp.
|
friend |
HyperVolume equality comparison
x | A HyperVolume |
y | A HyperVolume of the same type of x |
Definition at line 4730 of file HyperVolume.hpp.
|
friend |
More than comparison operator.
x | A HyperVolume |
y | A HyperVolume of the same type of x |
Definition at line 4761 of file HyperVolume.hpp.
|
friend |
More than equal comparison operator.
x | A HyperVolume |
y | A HyperVolume of the same type of x |
Definition at line 4777 of file HyperVolume.hpp.
|
related |
Returns the sin value of each element of the HyperVolume.
V | The HyperVolume |
Definition at line 5101 of file HyperVolume.hpp.
|
related |
Returns the sinh value of each element of the HyperVolume.
V | The HyperVolume |
Definition at line 5164 of file HyperVolume.hpp.
|
related |
Returns the sqrt value of each element of the HyperVolume.
V | The HyperVolume |
Definition at line 5074 of file HyperVolume.hpp.
|
related |
Returns the tan value of each element of the HyperVolume.
V | The HyperVolume |
Definition at line 5119 of file HyperVolume.hpp.
|
related |
Returns the tanh value of each element of the HyperVolume.
V | The HyperVolume |
Definition at line 5173 of file HyperVolume.hpp.
|
static |
Definition at line 239 of file HyperVolume.hpp.