AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::slam::BivariateMap< T, BSet, IndPol, StrPol > Class Template Reference

A Map for BivariateSet. It associates a constant number of values to every element in a BivariateSet (as determined by StridePolicy). More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/v0.7.0/src/axom/slam/BivariateMap.hpp>

Inheritance diagram for axom::slam::BivariateMap< T, BSet, IndPol, StrPol >:

Classes

class  BivariateMapIterator
 An iterator type for a BivariateMap, iterating via its ElementFlatIndex. More...
 

Public Types

using DataType = T
 
using BivariateSetType = BSet
 
using IndirectionPolicy = IndPol
 
using StridePolicyType = StrPol
 
using SetPosition = typename BSet::PositionType
 
using SetElement = typename BSet::ElementType
 
using SetType = slam::RangeSet< SetPosition, SetElement >
 
using MapType = Map< DataType, SetType, IndPol, StrPol >
 
using OrderedSetType = typename BSet::OrderedSetType
 
using BivariateMapType = BivariateMap< DataType, BSet, IndPol, StrPol >
 
using SubMapType = SubMap< BivariateMapType, SetType >
 
using ConstSubMapType = const SubMap< const BivariateMapType, SetType >
 
using SubMapIterator = typename SubMapType::SubMapIterator
 
using NullBivariateSetType = NullBivariateSet< typename BSet::FirstSetType, typename BSet::SecondSetType >
 

Public Member Functions

 BivariateMap (const BivariateSetType *bSet=&s_nullBiSet, DataType defaultValue=DataType(), SetPosition stride=StridePolicyType::DEFAULT_VALUE)
 Constructor for a BivariateMap. More...
 
template<typename BivariateSetRetType , typename RelType = void>
std::enable_if<!traits::has_relation_ptr< BivariateSetRetType >::value, BivariateSetRetType >::type getBivariateSet () const
 
template<typename BivariateSetRetType , typename RelType >
std::enable_if< traits::has_relation_ptr< BivariateSetRetType >::value, BivariateSetRetType >::type getBivariateSet () const
 
BivariateMapIterator begin ()
 
BivariateMapIterator end ()
 
SubMapIterator begin (int i)
 
SubMapIterator end (int i)
 
const BivariateSetTypeset () const
 
const MapTypegetMap () const
 
MapTypegetMap ()
 
virtual bool isValid (bool verboseOutput=false) const override
 Checks whether the Map is valid. More...
 
void copy (DataType *data_arr)
 Given a DataType array of size totalSize()*numComp(), copy the data into the BivariateMap storage. More...
 
void copy (const DataType *data_arr)
 
void clear ()
 replace all elements in the Map with the default DataType More...
 
BivariateMap value access functions
const DataTypeoperator[] (SetPosition setIndex) const
 Access the value in the map using a FlatIndex in the range of 0 to size()*numComp() More...
 
DataTypeoperator[] (SetPosition setIndex)
 
const ConstSubMapType operator() (SetPosition firstIdx) const
 Returns a SubMap containing the subset of the BivariateMap given the first set index. More...
 
SubMapType operator() (SetPosition firstIdx)
 
const DataTypeoperator() (SetPosition s1, SetPosition s2, SetPosition comp=0) const
 Access the value associated with the given SparseIndex into the BivariateSet and the component index. More...
 
DataTypeoperator() (SetPosition s1, SetPosition s2, SetPosition comp=0)
 
const DataTypefindValue (SetPosition s1, SetPosition s2, SetPosition comp=0) const
 Access the value associated with the given DenseIndex into the BivariateSet and the component index. More...
 
DataTypefindValue (SetPosition s1, SetPosition s2, SetPosition comp=0)
 
BivariateMap index access functions
SetPosition index (SetPosition s1, SetPosition s2) const
 Returns the SparseIndex of the element given the DenseIndex. More...
 
OrderedSetType indexSet (SetPosition s1) const
 Return a set of DenseIndex associated to the given first set index. More...
 
SetPosition flatIndex (SetPosition s1, SetPosition s2) const
 Search for the FlatIndex of an element given its DenseIndex in the BivariateSet. More...
 
BivariateMap cardinality functions
SetPosition size () const override
 Returns the BivariateSet size. More...
 
SetPosition totalSize () const
 Returns the BivariateSet size. More...
 
SetPosition firstSetSize () const
 
SetPosition secondSetSize () const
 
SetPosition size (SetPosition s) const
 Returns the number of the BivariateSet ordered pairs with the given first set index. More...
 
SetPosition numComp () const
 Return the number of components of the map. More...
 

Protected Member Functions

constexpr bool useCompIndexing () const
 Compile time predicate to check if we should use component indexing. More...
 
constexpr bool submapIndicesHaveIndirection () const
 Utility function to determine if submaps should use indirection when finding the set indices of their elements. More...
 

Detailed Description

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
class axom::slam::BivariateMap< T, BSet, IndPol, StrPol >

A Map for BivariateSet. It associates a constant number of values to every element in a BivariateSet (as determined by StridePolicy).

Like BivariateSet, every value in BivariateMap is indexed by two indices. BivariateMap's operator(i) returns a SubMap of all entries whose first index is i in the BivariateSet.

The different indexing systems (DenseIndex, SparseIndex, FlatIndex) are explained in BivariateSet. Because BivariateMap can have more than one component, FlatIndex is further divided into ComponentFlatIndex, where each component in each element is indexed separately, and ElementFlatIndex, an index that disregards the individual components. Hence, to access each component, one would need to provide a component index as well.

Example: For a 2 x 2 sparse matrix with 3 components below:

0 1
0 abc
1 def

Access the elements using ElementFlatIndex (e) would be...
(e = 0) = abc
(e = 1) = def
To access each component, provide a component index (c) (e = 0, c = 0) = a
(e = 0, c = 1) = b
(e = 0, c = 2) = c
(e = 1, c = 0) = d
(e = 1, c = 1) = e
(e = 1, c = 2) = f
To access using ComponentFlatIndex (idx)...
(idx = 0) = a
(idx = 1) = b
(idx = 2) = c
(idx = 3) = d
(idx = 4) = e
(idx = 5) = f

Template Parameters
DataTypethe data type of each value
StridePolicyA policy class for configuring the number of components associate with each element. There is a fixed stride between the data associated with each element of the set.
See also
BivariateSet, SubMap

Member Typedef Documentation

◆ DataType

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::DataType = T

◆ BivariateSetType

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::BivariateSetType = BSet

◆ IndirectionPolicy

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::IndirectionPolicy = IndPol

◆ StridePolicyType

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::StridePolicyType = StrPol

◆ SetPosition

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::SetPosition = typename BSet::PositionType

◆ SetElement

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::SetElement = typename BSet::ElementType

◆ SetType

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::SetType = slam::RangeSet<SetPosition, SetElement>

◆ MapType

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::MapType = Map<DataType, SetType, IndPol, StrPol>

◆ OrderedSetType

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::OrderedSetType = typename BSet::OrderedSetType

◆ BivariateMapType

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::BivariateMapType = BivariateMap<DataType, BSet, IndPol, StrPol>

◆ SubMapType

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::SubMapType = SubMap<BivariateMapType, SetType>

◆ ConstSubMapType

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::ConstSubMapType = const SubMap<const BivariateMapType, SetType>

◆ SubMapIterator

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::SubMapIterator = typename SubMapType::SubMapIterator

◆ NullBivariateSetType

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
using axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::NullBivariateSetType = NullBivariateSet<typename BSet::FirstSetType, typename BSet::SecondSetType>

Constructor & Destructor Documentation

◆ BivariateMap()

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::BivariateMap ( const BivariateSetType bSet = &s_nullBiSet,
DataType  defaultValue = DataType(),
SetPosition  stride = StridePolicyType::DEFAULT_VALUE 
)
inline

Constructor for a BivariateMap.

Parameters
bSet(Optional) Pointer to the BivariateSet.
defaultValue(Optional) The default value used to initialize the entries of the map.
stride(Optional) The stride, or number of component, of the map.
Note
When using a compile time StridePolicy, stride must be equal to StridePolicy::stride(), when provided.

Member Function Documentation

◆ getBivariateSet() [1/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
template<typename BivariateSetRetType , typename RelType = void>
std::enable_if<!traits::has_relation_ptr<BivariateSetRetType>::value, BivariateSetRetType>::type axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::getBivariateSet ( ) const
inline

◆ getBivariateSet() [2/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
template<typename BivariateSetRetType , typename RelType >
std::enable_if<traits::has_relation_ptr<BivariateSetRetType>::value, BivariateSetRetType>::type axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::getBivariateSet ( ) const
inline

References SLIC_ASSERT.

◆ operator[]() [1/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
const DataType& axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::operator[] ( SetPosition  setIndex) const
inline

Access the value in the map using a FlatIndex in the range of 0 to size()*numComp()

Returns
The value for the jth component of the ith element, where setIndex = i * numComp() + j.
Precondition
0 <= setIndex < size() * numComp()

◆ operator[]() [2/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
DataType& axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::operator[] ( SetPosition  setIndex)
inline

◆ operator()() [1/4]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
const ConstSubMapType axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::operator() ( SetPosition  firstIdx) const
inline

Returns a SubMap containing the subset of the BivariateMap given the first set index.

Precondition
0 <= firstIdx < size(firstIdx)

References axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::submapIndicesHaveIndirection().

◆ operator()() [2/4]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
SubMapType axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::operator() ( SetPosition  firstIdx)
inline

◆ operator()() [3/4]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
const DataType& axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::operator() ( SetPosition  s1,
SetPosition  s2,
SetPosition  comp = 0 
) const
inline

Access the value associated with the given SparseIndex into the BivariateSet and the component index.

Precondition
0 <= s1 < firstSetSize()
0 <= s2 < size(s1)
0 <= comp < numComp()

References axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::flatIndex(), and axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::useCompIndexing().

◆ operator()() [4/4]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
DataType& axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::operator() ( SetPosition  s1,
SetPosition  s2,
SetPosition  comp = 0 
)
inline

◆ findValue() [1/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
const DataType* axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::findValue ( SetPosition  s1,
SetPosition  s2,
SetPosition  comp = 0 
) const
inline

Access the value associated with the given DenseIndex into the BivariateSet and the component index.

Precondition
0 <= s1 < firstSetSize()
0 <= s2 < secondSetSize()
0 <= comp < numComp()
Returns
a DataType pointer to the value associated with the given index, or nullptr if there is no value for the given index.
Warning
For sparse BivariateSet type, this function may have to do a linear search and can be slow.

◆ findValue() [2/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
DataType* axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::findValue ( SetPosition  s1,
SetPosition  s2,
SetPosition  comp = 0 
)
inline

◆ index()

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
SetPosition axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::index ( SetPosition  s1,
SetPosition  s2 
) const
inline

Returns the SparseIndex of the element given the DenseIndex.

Returns
The SparseIndex of the element, or BivariateSet::INVALID_POS if the set doesn't contain the given DenseIndex

◆ indexSet()

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
OrderedSetType axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::indexSet ( SetPosition  s1) const
inline

Return a set of DenseIndex associated to the given first set index.

Parameters
s1the first set index
Returns
OrderedSet containing the elements

◆ flatIndex()

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
SetPosition axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::flatIndex ( SetPosition  s1,
SetPosition  s2 
) const
inline

Search for the FlatIndex of an element given its DenseIndex in the BivariateSet.

◆ useCompIndexing()

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
constexpr bool axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::useCompIndexing ( ) const
inlineprotected

Compile time predicate to check if we should use component indexing.

Note
Intended to help optimize internal indexing

◆ submapIndicesHaveIndirection()

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
constexpr bool axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::submapIndicesHaveIndirection ( ) const
inlineprotected

Utility function to determine if submaps should use indirection when finding the set indices of their elements.

This test distinguishes between ProductSet whose second set do not use indirection and other BivariateSet types

◆ begin() [1/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
BivariateMapIterator axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::begin ( )
inline

◆ end() [1/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
BivariateMapIterator axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::end ( )
inline

◆ begin() [2/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
SubMapIterator axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::begin ( int  i)
inline

◆ end() [2/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
SubMapIterator axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::end ( int  i)
inline

◆ set()

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
const BivariateSetType* axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::set ( ) const
inline

◆ getMap() [1/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
const MapType* axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::getMap ( ) const
inline

◆ getMap() [2/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
MapType* axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::getMap ( )
inline

◆ isValid()

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
virtual bool axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::isValid ( bool  verboseOutput = false) const
inlineoverridevirtual

Checks whether the Map is valid.

Returns
True if valid, false otherwise.

Implements axom::slam::MapBase< BSet::PositionType >.

References axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::isValid().

◆ size() [1/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
SetPosition axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::size ( ) const
inlineoverridevirtual

◆ totalSize()

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
SetPosition axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::totalSize ( ) const
inline

Returns the BivariateSet size.

◆ firstSetSize()

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
SetPosition axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::firstSetSize ( ) const
inline

◆ secondSetSize()

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
SetPosition axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::secondSetSize ( ) const
inline

◆ size() [2/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
SetPosition axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::size ( SetPosition  s) const
inline

Returns the number of the BivariateSet ordered pairs with the given first set index.

◆ numComp()

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
SetPosition axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::numComp ( ) const
inline

Return the number of components of the map.

◆ copy() [1/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
void axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::copy ( DataType data_arr)
inline

Given a DataType array of size totalSize()*numComp(), copy the data into the BivariateMap storage.

Parameters
data_arrThe array of DataType that contains the data to be copied.

References axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::size().

◆ copy() [2/2]

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
void axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::copy ( const DataType data_arr)
inline

◆ clear()

template<typename T, typename BSet = BivariateSet<>, typename IndPol = policies::STLVectorIndirection<typename BSet::PositionType, T>, typename StrPol = policies::StrideOne<typename BSet::PositionType>>
void axom::slam::BivariateMap< T, BSet, IndPol, StrPol >::clear ( )
inline

The documentation for this class was generated from the following file: