SparseArray< 2, T > Class Template Reference

A sparse array of type T in 2-D. More...

#include <SparseArray2.h>

Inheritance diagram for SparseArray< 2, T >:
SparseArray< 1, T > ArrayContainer< T >

List of all members.

Public Types

typedef Types::value_type value_type
 The element type of the array.
typedef Types::parameter_type parameter_type
 The parameter type.
typedef
Types::unqualified_value_type 
unqualified_value_type
 The unqualified value type.
typedef Types::pointer pointer
 A pointer to an array element.
typedef Types::const_pointer const_pointer
 A pointer to a constant array element.
typedef Types::iterator iterator
 An iterator in the array.
typedef Types::const_iterator const_iterator
 A iterator on constant elements in the array.
typedef Types::reference reference
 A reference to an array element.
typedef Types::const_reference const_reference
 A reference to a constant array element.
typedef Types::size_type size_type
 The size type is a signed integer.
typedef Types::difference_type difference_type
 Pointer difference type.
typedef FixedArray< 2, int > index_type
 A multi-index. Index in 2 dimensions.

Public Member Functions

Constructors etc.

 SparseArray ()
 Default constructor.
template<typename IndexBiDirIter , typename ValueForwardIter >
 SparseArray (IndexBiDirIter indicesBeginning, IndexBiDirIter indicesEnd, ValueForwardIter valuesBeginning, ValueForwardIter valuesEnd, parameter_type nullValue=value_type())
 Construct a 2-D array sparse array from the values and indices.
template<typename T2 , bool A>
 SparseArray (const Array< 2, T2, A > &array, parameter_type nullValue)
 Construct a 2-D sparse array from a 2-D dense array.
 SparseArray (const SparseArray &x)
 Copy constructor. Deep copy.
 ~SparseArray ()
 Destructor.
Assignment operators.

SparseArray & operator= (const SparseArray &other)
 Assignment operator.
Accessors.

size_type getMemoryUsage () const
 Return the memory size.
bool isNull (const index_type &index) const
 Return true if the element is null.
bool isNonNull (const index_type &index) const
 Return true if the element is non-null.
parameter_type operator() (const index_type &index) const
 Return the specified element.
bool operator== (const SparseArray &x) const
 Return true if this sparse array is equal to the argument.
bool operator!= (const SparseArray &x) const
 Return true if this sparse array is not equal to the argument.
template<typename T2 , bool A>
void fill (ads::Array< 2, T2, A > *array) const
 Fill a dense array with the elements from this sparse array.
template<typename T2 , bool A>
void fillNonNull (ads::Array< 2, T2, A > *array) const
 Fill a dense array using only the non-null elements from this sparse array.
Manipulators.

void swap (SparseArray &other)
 Swaps data with another SparseArray.
Assignment operators with scalar operand.

SparseArray & operator= (parameter_type x)
 Set each component to x.
File I/O.

void put (std::ostream &out) const
 Write the array to a file stream in ascii format.
void get (std::istream &in)
 Read from a file stream in ascii format.

Static Public Member Functions

Static members.

static int getRank ()
 Return the rank (number of dimensions) of the array.

Detailed Description

template<typename T>
class SparseArray< 2, T >

A sparse array of type T in 2-D.

Parameters:
T is the value type. By default it is double.

Member Typedef Documentation

template<typename T >
typedef Types::parameter_type SparseArray< 2, T >::parameter_type

The parameter type.

This is used for passing the value type as an argument.

Reimplemented from SparseArray< 1, T >.

template<typename T >
typedef Types::size_type SparseArray< 2, T >::size_type

The size type is a signed integer.

Having std::size_t (which is an unsigned integer) as the size type causes minor problems. Consult "Large Scale C++ Software Design" by John Lakos for a discussion of using unsigned integers in a class interface.

Reimplemented from SparseArray< 1, T >.

template<typename T >
typedef Types::unqualified_value_type SparseArray< 2, T >::unqualified_value_type

The unqualified value type.

The value type with top level const and volatile qualifiers removed.

Reimplemented from SparseArray< 1, T >.


Constructor & Destructor Documentation

template<typename T >
template<typename IndexBiDirIter , typename ValueForwardIter >
SparseArray< 2, T >::SparseArray ( IndexBiDirIter  indicesBeginning,
IndexBiDirIter  indicesEnd,
ValueForwardIter  valuesBeginning,
ValueForwardIter  valuesEnd,
parameter_type  nullValue = value_type() 
) [inline]

Construct a 2-D array sparse array from the values and indices.

If the null value is not specified, the default value for the type is used. For built-in types, value_type() is equivalent to value_type(0).


The documentation for this class was generated from the following file:
Generated on Thu Jun 30 02:14:52 2016 for Algorithms and Data Structures Package by  doxygen 1.6.3