AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::slam::NullBivariateSet< PosType, ElemType > Class Template Referenceabstract

A Null BivariateSet class. Same as the NullSet for Set class. More...

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

Inheritance diagram for axom::slam::NullBivariateSet< PosType, ElemType >:

Public Types

using PositionType = PosType
 
using ElementType = ElemType
 
using OrderedSetType = typename BivariateSet< PosType, ElemType >::OrderedSetType
 
using SetType = Set< PositionType, ElementType >
 

Public Member Functions

 NullBivariateSet ()=default
 
PositionType findElementIndex (PositionType pos1, PositionType pos2=0) const override
 Searches for the SparseIndex of the element given its DenseIndex. If the element (i,j) is the kth non-zero in the row, then findElementIndex(i,j) returns k. If element (i,j) does not exist (such as the case of a zero in a sparse matrix), then INVALID_POS is returned. More...
 
PositionType findElementFlatIndex (PositionType s1, PositionType s2) const override
 Search for the FlatIndex of the element given its DenseIndex. More...
 
PositionType findElementFlatIndex (PositionType s1) const override
 Searches for the first existing element given the row index (first set position). More...
 
ElementType at (PositionType) const override
 Returns the element at the given FlatIndex pos. More...
 
PositionType size () const override
 Size of the BivariateSet, which is the number of non-zero entries in the BivariateSet. More...
 
PositionType size (PositionType) const override
 Number of elements of the BivariateSet whose first index is pos. More...
 
const OrderedSetType getElements (PositionType) const override
 A set of elements with the given first set index. More...
 
PositionType firstSetSize () const
 Size of the first set. More...
 
PositionType secondSetSize () const
 Size of the second set. More...
 
virtual const SetTypegetFirstSet () const
 Returns pointer to the first set. More...
 
virtual const SetTypegetSecondSet () const
 Returns pointer to the second set. More...
 
virtual bool isValid (bool verboseOutput=false) const
 
virtual void verifyPosition (PositionType s1, PositionType s2) const =0
 

Static Public Attributes

static const PositionType INVALID_POS = PositionType(-1)
 
static const NullSet< PosType, ElemType > s_nullSet
 

Protected Attributes

const SetTypem_set1
 
const SetTypem_set2
 

Detailed Description

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
class axom::slam::NullBivariateSet< PosType, ElemType >

A Null BivariateSet class. Same as the NullSet for Set class.

Member Typedef Documentation

◆ PositionType

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::NullBivariateSet< PosType, ElemType >::PositionType = PosType

◆ ElementType

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::NullBivariateSet< PosType, ElemType >::ElementType = ElemType

◆ OrderedSetType

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::NullBivariateSet< PosType, ElemType >::OrderedSetType = typename BivariateSet<PosType, ElemType>::OrderedSetType

◆ SetType

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::BivariateSet< PosType, ElemType >::SetType = Set<PositionType, ElementType>
inherited

Constructor & Destructor Documentation

◆ NullBivariateSet()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
axom::slam::NullBivariateSet< PosType, ElemType >::NullBivariateSet ( )
default

Member Function Documentation

◆ findElementIndex()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
PositionType axom::slam::NullBivariateSet< PosType, ElemType >::findElementIndex ( PositionType  pos1,
PositionType  pos2 = 0 
) const
inlineoverridevirtual

Searches for the SparseIndex of the element given its DenseIndex. If the element (i,j) is the kth non-zero in the row, then findElementIndex(i,j) returns k. If element (i,j) does not exist (such as the case of a zero in a sparse matrix), then INVALID_POS is returned.

Parameters
pos1The first set position.
pos2The second set position.
Returns
The DenseIndex of the given element, or INVALID_POS if such element is missing from the set.
Precondition
0 <= pos1 <= set1.size() && 0 <= pos2 <= size2.size()

Implements axom::slam::BivariateSet< PosType, ElemType >.

◆ findElementFlatIndex() [1/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
PositionType axom::slam::NullBivariateSet< PosType, ElemType >::findElementFlatIndex ( PositionType  pos1,
PositionType  pos2 
) const
inlineoverridevirtual

Search for the FlatIndex of the element given its DenseIndex.

Parameters
pos1The first set position.
pos2The second set position.
Returns
The element's FlatIndex
Precondition
0 <= pos1 <= set1.size() && 0 <= pos2 <= size2.size()

Implements axom::slam::BivariateSet< PosType, ElemType >.

◆ findElementFlatIndex() [2/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
PositionType axom::slam::NullBivariateSet< PosType, ElemType >::findElementFlatIndex ( PositionType  pos1) const
inlineoverridevirtual

Searches for the first existing element given the row index (first set position).

Parameters
pos1The first set position.
Returns
The found element's FlatIndex.
Precondition
0 <= pos1 <= set1.size()

Implements axom::slam::BivariateSet< PosType, ElemType >.

◆ at()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
ElementType axom::slam::NullBivariateSet< PosType, ElemType >::at ( PositionType  pos) const
inlineoverridevirtual

Returns the element at the given FlatIndex pos.

Implements axom::slam::BivariateSet< PosType, ElemType >.

◆ size() [1/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
PositionType axom::slam::NullBivariateSet< PosType, ElemType >::size ( ) const
inlineoverridevirtual

Size of the BivariateSet, which is the number of non-zero entries in the BivariateSet.

Implements axom::slam::BivariateSet< PosType, ElemType >.

◆ size() [2/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
PositionType axom::slam::NullBivariateSet< PosType, ElemType >::size ( PositionType  pos1) const
inlineoverridevirtual

Number of elements of the BivariateSet whose first index is pos.

Precondition
0 <= pos1 <= set1.size()

Implements axom::slam::BivariateSet< PosType, ElemType >.

◆ getElements()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
const OrderedSetType axom::slam::NullBivariateSet< PosType, ElemType >::getElements ( PositionType  s1) const
inlineoverridevirtual

A set of elements with the given first set index.

Parameters
s1The first set index.
Returns
An OrderedSet containing the elements
Precondition
0 <= pos1 <= set1.size()

Implements axom::slam::BivariateSet< PosType, ElemType >.

◆ firstSetSize()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
PositionType axom::slam::BivariateSet< PosType, ElemType >::firstSetSize ( ) const
inlineinherited

◆ secondSetSize()

◆ getFirstSet()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
virtual const SetType* axom::slam::BivariateSet< PosType, ElemType >::getFirstSet ( ) const
inlinevirtualinherited

Returns pointer to the first set.

◆ getSecondSet()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
virtual const SetType* axom::slam::BivariateSet< PosType, ElemType >::getSecondSet ( ) const
inlinevirtualinherited

Returns pointer to the second set.

◆ isValid()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
virtual bool axom::slam::BivariateSet< PosType, ElemType >::isValid ( bool  verboseOutput = false) const
inlinevirtualinherited

◆ verifyPosition()

Member Data Documentation

◆ INVALID_POS

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
const PositionType axom::slam::BivariateSet< PosType, ElemType >::INVALID_POS = PositionType(-1)
staticinherited

◆ s_nullSet

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
const NullSet< PosType, ElemType > axom::slam::BivariateSet< PosType, ElemType >::s_nullSet
staticinherited

◆ m_set1

◆ m_set2


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