Main MRPT website > C++ reference
MRPT logo
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes

CompressedStorage< _Scalar, _Index > Class Template Reference


Detailed Description

template<typename _Scalar, typename _Index>
class CompressedStorage< _Scalar, _Index >

Stores a sparse set of values as a list of values and a list of indices.

Definition at line 32 of file CompressedStorage.h.

#include <src/Sparse/CompressedStorage.h>

Inheritance diagram for CompressedStorage< _Scalar, _Index >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef _Scalar Scalar
typedef _Index Index

Public Member Functions

 CompressedStorage ()
 CompressedStorage (size_t size)
 CompressedStorage (const CompressedStorage &other)
CompressedStorageoperator= (const CompressedStorage &other)
void swap (CompressedStorage &other)
 ~CompressedStorage ()
void reserve (size_t size)
void squeeze ()
void resize (size_t size, float reserveSizeFactor=0)
void append (const Scalar &v, Index i)
size_t size () const
size_t allocatedSize () const
void clear ()
Scalarvalue (size_t i)
const Scalarvalue (size_t i) const
Indexindex (size_t i)
const Indexindex (size_t i) const
Index searchLowerIndex (Index key) const
Index searchLowerIndex (size_t start, size_t end, Index key) const
Scalar at (Index key, Scalar defaultValue=Scalar(0)) const
Scalar atInRange (size_t start, size_t end, Index key, Scalar defaultValue=Scalar(0)) const
 Like at(), but the search is performed in the range [start,end).
ScalaratWithInsertion (Index key, Scalar defaultValue=Scalar(0))
void prune (Scalar reference, RealScalar epsilon=NumTraits< RealScalar >::dummy_precision())

Static Public Member Functions

static CompressedStorage Map (Index *indices, Scalar *values, size_t size)

Protected Types

typedef NumTraits< Scalar >::Real RealScalar

Protected Member Functions

void reallocate (size_t size)

Protected Attributes

Scalarm_values
Indexm_indices
size_t m_size
size_t m_allocatedSize

Member Typedef Documentation

template<typename _Scalar, typename _Index>
typedef _Index CompressedStorage< _Scalar, _Index >::Index

Definition at line 37 of file CompressedStorage.h.

template<typename _Scalar, typename _Index>
typedef NumTraits<Scalar>::Real CompressedStorage< _Scalar, _Index >::RealScalar [protected]

Definition at line 41 of file CompressedStorage.h.

template<typename _Scalar, typename _Index>
typedef _Scalar CompressedStorage< _Scalar, _Index >::Scalar

Definition at line 36 of file CompressedStorage.h.


Constructor & Destructor Documentation

template<typename _Scalar, typename _Index>
CompressedStorage< _Scalar, _Index >::CompressedStorage (  )  [inline]

Definition at line 45 of file CompressedStorage.h.

template<typename _Scalar, typename _Index>
CompressedStorage< _Scalar, _Index >::CompressedStorage ( size_t  size  )  [inline]

Definition at line 49 of file CompressedStorage.h.

template<typename _Scalar, typename _Index>
CompressedStorage< _Scalar, _Index >::CompressedStorage ( const CompressedStorage< _Scalar, _Index > &  other  )  [inline]

Definition at line 55 of file CompressedStorage.h.

template<typename _Scalar, typename _Index>
CompressedStorage< _Scalar, _Index >::~CompressedStorage (  )  [inline]

Definition at line 77 of file CompressedStorage.h.


Member Function Documentation

template<typename _Scalar, typename _Index>
size_t CompressedStorage< _Scalar, _Index >::allocatedSize (  )  const [inline]
template<typename _Scalar, typename _Index>
void CompressedStorage< _Scalar, _Index >::append ( const Scalar v,
Index  i 
) [inline]
template<typename _Scalar, typename _Index>
Scalar CompressedStorage< _Scalar, _Index >::at ( Index  key,
Scalar  defaultValue = Scalar(0) 
) const [inline]
Returns:
the stored value at index key If the value does not exist, then the value defaultValue is returned without any insertion.

Definition at line 152 of file CompressedStorage.h.

Referenced by SparseVector< _Scalar, _Options, _Index >::coeff().

template<typename _Scalar, typename _Index>
Scalar CompressedStorage< _Scalar, _Index >::atInRange ( size_t  start,
size_t  end,
Index  key,
Scalar  defaultValue = Scalar(0) 
) const [inline]

Like at(), but the search is performed in the range [start,end).

Definition at line 165 of file CompressedStorage.h.

Referenced by SparseMatrix< _Scalar, _Options, _Index >::coeff().

template<typename _Scalar, typename _Index>
Scalar& CompressedStorage< _Scalar, _Index >::atWithInsertion ( Index  key,
Scalar  defaultValue = Scalar(0) 
) [inline]
Returns:
a reference to the value at index key If the value does not exist, then the value defaultValue is inserted such that the keys are sorted.

Definition at line 180 of file CompressedStorage.h.

Referenced by SparseVector< _Scalar, _Options, _Index >::coeffRef().

template<typename _Scalar, typename _Index>
void CompressedStorage< _Scalar, _Index >::clear ( void   )  [inline]
template<typename _Scalar, typename _Index>
Index& CompressedStorage< _Scalar, _Index >::index ( size_t  i  )  [inline]
template<typename _Scalar, typename _Index>
const Index& CompressedStorage< _Scalar, _Index >::index ( size_t  i  )  const [inline]

Definition at line 119 of file CompressedStorage.h.

template<typename _Scalar, typename _Index>
static CompressedStorage CompressedStorage< _Scalar, _Index >::Map ( Index indices,
Scalar values,
size_t  size 
) [inline, static]

Definition at line 121 of file CompressedStorage.h.

template<typename _Scalar, typename _Index>
CompressedStorage& CompressedStorage< _Scalar, _Index >::operator= ( const CompressedStorage< _Scalar, _Index > &  other  )  [inline]

Definition at line 61 of file CompressedStorage.h.

template<typename _Scalar, typename _Index>
void CompressedStorage< _Scalar, _Index >::prune ( Scalar  reference,
RealScalar  epsilon = NumTraits<RealScalar>::dummy_precision() 
) [inline]
template<typename _Scalar, typename _Index>
void CompressedStorage< _Scalar, _Index >::reallocate ( size_t  size  )  [inline, protected]
template<typename _Scalar, typename _Index>
void CompressedStorage< _Scalar, _Index >::reserve ( size_t  size  )  [inline]
template<typename _Scalar, typename _Index>
void CompressedStorage< _Scalar, _Index >::resize ( size_t  size,
float  reserveSizeFactor = 0 
) [inline]
template<typename _Scalar, typename _Index>
Index CompressedStorage< _Scalar, _Index >::searchLowerIndex ( size_t  start,
size_t  end,
Index  key 
) const [inline]
Returns:
the largest k in [start,end) such that for all j in [start,k) index[j]<key

Definition at line 137 of file CompressedStorage.h.

template<typename _Scalar, typename _Index>
Index CompressedStorage< _Scalar, _Index >::searchLowerIndex ( Index  key  )  const [inline]
template<typename _Scalar, typename _Index>
size_t CompressedStorage< _Scalar, _Index >::size (  )  const [inline]
template<typename _Scalar, typename _Index>
void CompressedStorage< _Scalar, _Index >::squeeze (  )  [inline]

Definition at line 90 of file CompressedStorage.h.

template<typename _Scalar, typename _Index>
void CompressedStorage< _Scalar, _Index >::swap ( CompressedStorage< _Scalar, _Index > &  other  )  [inline]
template<typename _Scalar, typename _Index>
Scalar& CompressedStorage< _Scalar, _Index >::value ( size_t  i  )  [inline]
template<typename _Scalar, typename _Index>
const Scalar& CompressedStorage< _Scalar, _Index >::value ( size_t  i  )  const [inline]

Definition at line 116 of file CompressedStorage.h.


Member Data Documentation

template<typename _Scalar, typename _Index>
size_t CompressedStorage< _Scalar, _Index >::m_allocatedSize [protected]
template<typename _Scalar, typename _Index>
Index* CompressedStorage< _Scalar, _Index >::m_indices [protected]
template<typename _Scalar, typename _Index>
size_t CompressedStorage< _Scalar, _Index >::m_size [protected]
template<typename _Scalar, typename _Index>
Scalar* CompressedStorage< _Scalar, _Index >::m_values [protected]



Page generated by Doxygen 1.7.1 for MRPT 0.9.4 SVN: at Mon Jan 10 23:33:19 UTC 2011