Sparse 2D array allowing space efficient access of the form s(300,700) =2. More...
#include <vbl_sparse_array_2d.h>

Public Types | |
| typedef vbl_sparse_array_base < T, vcl_pair< unsigned, unsigned > >::const_iterator | const_iterator |
| The type of iterators into the efficient storage. | |
| typedef vcl_size_t | size_type |
| typedef T | T_type |
| The type of values stored by the sparse array. | |
| typedef Map::value_type | sequence_value_type |
| The type of values of the controlled sequence. | |
Public Member Functions | |
| bool | put (unsigned i, unsigned j, const T &t) |
| Put a value into location (i,j). | |
| T & | operator() (unsigned i, unsigned j) |
| Return contents of location (i,j). | |
| const T & | operator() (unsigned i, unsigned j) const |
| Return contents of (i,j). Assertion failure if not yet filled. | |
| void | erase (unsigned i, unsigned j) |
| Erase element at location (i,j). Assertion failure if not yet filled. | |
| bool | fullp (unsigned i, unsigned j) const |
| Return true if location (i,j) has been filled. | |
| T * | get_addr (unsigned i, unsigned j) |
| Return the address of location (i,j). 0 if not yet filled. | |
| vcl_ostream & | print (vcl_ostream &out) const |
| Print the Array to a stream in "(i,j): value" format. | |
| T & | operator() (vcl_pair< unsigned, unsigned >i) |
| Return contents at (i). | |
| T const & | operator() (vcl_pair< unsigned, unsigned >i) const |
| Return contents at (i). Asserts that (i) is non-empty. | |
| void | erase (vcl_pair< unsigned, unsigned >) |
| Erase element at location (i). Assertion failure if not yet filled. | |
| bool | fullp (vcl_pair< unsigned, unsigned >) const |
| Return true if location (i) has been filled. | |
| bool | put (vcl_pair< unsigned, unsigned >, const T &) |
| Put a value into location (i). | |
| T * | get_addr (vcl_pair< unsigned, unsigned >) |
| Return the address of location (i). 0 if not yet filled. | |
| void | clear () |
| Empty the sparse matrix. | |
| size_type | count_nonempty () const |
| Return number of locations that have been assigned a value using "put". | |
| const_iterator | begin () const |
| A bidirectional iterator pointing at the first non-empty element. | |
| const_iterator | end () const |
| A bidirectional iterator pointing just beyond last non-empty element. | |
Protected Types | |
| typedef vcl_map< vcl_pair < unsigned, unsigned >, T, vcl_less< vcl_pair< unsigned, unsigned > > > | Map |
| The type of the storage. | |
Protected Attributes | |
| Map | storage_ |
| This stores a compact list of the values. | |
Private Types | |
| typedef vbl_sparse_array_base < T, vcl_pair< unsigned, unsigned > >::Index_type | Index_type |
| The type of objects used to index the sparse array. | |
Sparse 2D array allowing space efficient access of the form s(300,700) =2.
Definition at line 30 of file vbl_sparse_array_2d.h.
| typedef vbl_sparse_array_base<T,vcl_pair<unsigned,unsigned> >::const_iterator vbl_sparse_array_2d< T >::const_iterator |
The type of iterators into the efficient storage.
Reimplemented from vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >.
Definition at line 34 of file vbl_sparse_array_2d.h.
typedef vbl_sparse_array_base<T,vcl_pair<unsigned,unsigned> >::Index_type vbl_sparse_array_2d< T >::Index_type [private] |
The type of objects used to index the sparse array.
Reimplemented from vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >.
Definition at line 32 of file vbl_sparse_array_2d.h.
typedef vcl_map<vcl_pair< unsigned, unsigned > , T, vcl_less<vcl_pair< unsigned, unsigned > > > vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::Map [protected, inherited] |
The type of the storage.
Definition at line 41 of file vbl_sparse_array_base.h.
typedef Map::value_type vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::sequence_value_type [inherited] |
The type of values of the controlled sequence.
The value_type is a vcl_pair<Index_type, typename T_type>
Definition at line 84 of file vbl_sparse_array_base.h.
typedef vcl_size_t vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::size_type [inherited] |
Definition at line 47 of file vbl_sparse_array_base.h.
typedef T vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::T_type [inherited] |
The type of values stored by the sparse array.
Definition at line 80 of file vbl_sparse_array_base.h.
| const_iterator vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::begin | ( | ) | const [inline, inherited] |
A bidirectional iterator pointing at the first non-empty element.
If the array is empty it points just beyond the end.
Definition at line 88 of file vbl_sparse_array_base.h.
| void vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::clear | ( | ) | [inherited] |
Empty the sparse matrix.
| size_type vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::count_nonempty | ( | ) | const [inline, inherited] |
Return number of locations that have been assigned a value using "put".
Definition at line 74 of file vbl_sparse_array_base.h.
| const_iterator vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::end | ( | ) | const [inline, inherited] |
A bidirectional iterator pointing just beyond last non-empty element.
Definition at line 91 of file vbl_sparse_array_base.h.
| void vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::erase | ( | vcl_pair< unsigned, unsigned > | ) | [inherited] |
Erase element at location (i). Assertion failure if not yet filled.
| void vbl_sparse_array_2d< T >::erase | ( | unsigned | i, |
| unsigned | j | ||
| ) | [inline] |
Erase element at location (i,j). Assertion failure if not yet filled.
Definition at line 57 of file vbl_sparse_array_2d.h.
| bool vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::fullp | ( | vcl_pair< unsigned, unsigned > | ) | const [inherited] |
Return true if location (i) has been filled.
| bool vbl_sparse_array_2d< T >::fullp | ( | unsigned | i, |
| unsigned | j | ||
| ) | const [inline] |
Return true if location (i,j) has been filled.
Definition at line 62 of file vbl_sparse_array_2d.h.
| T* vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::get_addr | ( | vcl_pair< unsigned, unsigned > | ) | [inherited] |
Return the address of location (i). 0 if not yet filled.
Return the memory address of location (i). 0 if not yet filled.
| T* vbl_sparse_array_2d< T >::get_addr | ( | unsigned | i, |
| unsigned | j | ||
| ) | [inline] |
Return the address of location (i,j). 0 if not yet filled.
Definition at line 68 of file vbl_sparse_array_2d.h.
| T& vbl_sparse_array_2d< T >::operator() | ( | unsigned | i, |
| unsigned | j | ||
| ) | [inline] |
Return contents of location (i,j).
Returns an undefined value (in fact a T()) if location (i,j) has not been filled with a value.
Definition at line 45 of file vbl_sparse_array_2d.h.
| T& vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::operator() | ( | vcl_pair< unsigned, unsigned > | i | ) | [inline, inherited] |
Return contents at (i).
Definition at line 50 of file vbl_sparse_array_base.h.
| const T& vbl_sparse_array_2d< T >::operator() | ( | unsigned | i, |
| unsigned | j | ||
| ) | const [inline] |
Return contents of (i,j). Assertion failure if not yet filled.
Definition at line 51 of file vbl_sparse_array_2d.h.
| T const& vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::operator() | ( | vcl_pair< unsigned, unsigned > | i | ) | const [inherited] |
Return contents at (i). Asserts that (i) is non-empty.
Return contents of (i). Assertion failure if not yet filled.
| vcl_ostream& vbl_sparse_array_2d< T >::print | ( | vcl_ostream & | out | ) | const [inline] |
Print the Array to a stream in "(i,j): value" format.
Definition at line 74 of file vbl_sparse_array_2d.h.
| bool vbl_sparse_array_2d< T >::put | ( | unsigned | i, |
| unsigned | j, | ||
| const T & | t | ||
| ) | [inline] |
Put a value into location (i,j).
Definition at line 37 of file vbl_sparse_array_2d.h.
| bool vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::put | ( | vcl_pair< unsigned, unsigned > | , |
| const T & | |||
| ) | [inherited] |
Put a value into location (i).
Map vbl_sparse_array_base< T, vcl_pair< unsigned, unsigned > >::storage_ [protected, inherited] |
This stores a compact list of the values.
Definition at line 43 of file vbl_sparse_array_base.h.
1.7.5.1