Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

vbl_sparse_array_2d< T > Class Template Reference

#include <vbl_sparse_array_2d.h>

Inheritance diagram for vbl_sparse_array_2d< T >:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class T>
class vbl_sparse_array_2d< T >

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.

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 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).
Tconst & operator() (vcl_pair< unsigned, unsigned >i) const
 Return contents at (i). Asserts if (i) 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.
unsigned 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.


Member Typedef Documentation

template<class T>
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.

template<class T>
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 82 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 78 of file vbl_sparse_array_base.h.


Member Function Documentation

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 86 of file vbl_sparse_array_base.h.

void vbl_sparse_array_base< T , vcl_pair< unsigned, unsigned > >::clear  )  [inherited]
 

Empty the sparse matrix.

unsigned 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 72 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 89 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.

template<class T>
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.

template<class T>
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.

template<class T>
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 const& vbl_sparse_array_base< T , vcl_pair< unsigned, unsigned > >::operator() vcl_pair< unsigned, unsigned >   i  )  const [inherited]
 

Return contents at (i). Asserts if (i) empty.

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 48 of file vbl_sparse_array_base.h.

template<class T>
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.

template<class T>
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.

template<class T>
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_base< T , vcl_pair< unsigned, unsigned > >::put vcl_pair< unsigned, unsigned >   ,
const T & 
[inherited]
 

Put a value into location (i).

template<class T>
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.


Member Data Documentation

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.


The documentation for this class was generated from the following file:
Generated on Thu Jan 10 14:39:09 2008 for core/vbl by  doxygen 1.4.4