AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::slam::NullBivariateSet< SetType1, SetType2 > 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.7.0/src/axom/slam/BivariateSet.hpp>

Inheritance diagram for axom::slam::NullBivariateSet< SetType1, SetType2 >:

Public Types

using FirstSetType = SetType1
 
using SecondSetType = SetType2
 
using BSet = BivariateSet< FirstSetType, SecondSetType >
 
using PositionType = typename BSet::PositionType
 
using ElementType = typename BSet::ElementType
 
using OrderedSetType = typename BSet::OrderedSetType
 
using RangeSetType = typename BSet::RangeSetType
 
using NullSetType = NullSet< PositionType, ElementType >
 

Public Member Functions

 NullBivariateSet ()=default
 
PositionType findElementIndex (PositionType pos1, PositionType pos2=0) const override
 
PositionType findElementFlatIndex (PositionType s1, PositionType s2) const override
 
PositionType findElementFlatIndex (PositionType s1) const override
 
RangeSetType elementRangeSet (PositionType) const override
 
ElementType at (PositionType) const override
 
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
 
const OrderedSetType getElements (PositionType) const override
 
virtual PositionType findElementIndex (PositionType pos1, PositionType pos2) const=0
 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...
 
virtual PositionType findElementFlatIndex (PositionType pos1, PositionType pos2) const=0
 Search for the FlatIndex of the element given its DenseIndex. More...
 
virtual PositionType findElementFlatIndex (PositionType pos1) const=0
 Searches for the first existing element given the row index (first set position). More...
 
virtual RangeSetType elementRangeSet (PositionType pos1) const=0
 Finds the range of indices of valid elements in the second set, given the index of an element in the first set. More...
 
virtual PositionType size (PositionType pos1) const=0
 Number of elements of the BivariateSet whose first index is pos. More...
 
PositionType firstSetSize () const
 Size of the first set. More...
 
PositionType secondSetSize () const
 Size of the second set. More...
 
const FirstSetTypegetFirstSet () const
 Returns pointer to the first set. More...
 
const SecondSetTypegetSecondSet () const
 Returns pointer to the second set. More...
 
virtual ElementType at (PositionType pos) const=0
 Returns the element at the given FlatIndex pos. More...
 
virtual const OrderedSetType getElements (PositionType s1) const=0
 A set of elements with the given first set index. 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
 
static const NullSetType s_nullSet
 

Protected Attributes

const FirstSetTypem_set1
 
const SecondSetTypem_set2
 

Detailed Description

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
class axom::slam::NullBivariateSet< SetType1, SetType2 >

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

Member Typedef Documentation

◆ FirstSetType

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
using axom::slam::NullBivariateSet< SetType1, SetType2 >::FirstSetType = SetType1

◆ SecondSetType

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
using axom::slam::NullBivariateSet< SetType1, SetType2 >::SecondSetType = SetType2

◆ BSet

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
using axom::slam::NullBivariateSet< SetType1, SetType2 >::BSet = BivariateSet<FirstSetType, SecondSetType>

◆ PositionType

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
using axom::slam::NullBivariateSet< SetType1, SetType2 >::PositionType = typename BSet::PositionType

◆ ElementType

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
using axom::slam::NullBivariateSet< SetType1, SetType2 >::ElementType = typename BSet::ElementType

◆ OrderedSetType

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
using axom::slam::NullBivariateSet< SetType1, SetType2 >::OrderedSetType = typename BSet::OrderedSetType

◆ RangeSetType

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
using axom::slam::NullBivariateSet< SetType1, SetType2 >::RangeSetType = typename BSet::RangeSetType

◆ NullSetType

using axom::slam::BivariateSet< SetType1 , SetType2 >::NullSetType = NullSet<PositionType, ElementType>
inherited

Constructor & Destructor Documentation

◆ NullBivariateSet()

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
axom::slam::NullBivariateSet< SetType1, SetType2 >::NullBivariateSet ( )
default

Member Function Documentation

◆ findElementIndex() [1/2]

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
PositionType axom::slam::NullBivariateSet< SetType1, SetType2 >::findElementIndex ( PositionType  pos1,
PositionType  pos2 = 0 
) const
inlineoverride

◆ findElementFlatIndex() [1/4]

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
PositionType axom::slam::NullBivariateSet< SetType1, SetType2 >::findElementFlatIndex ( PositionType  s1,
PositionType  s2 
) const
inlineoverride

◆ findElementFlatIndex() [2/4]

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
PositionType axom::slam::NullBivariateSet< SetType1, SetType2 >::findElementFlatIndex ( PositionType  s1) const
inlineoverride

◆ elementRangeSet() [1/2]

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
RangeSetType axom::slam::NullBivariateSet< SetType1, SetType2 >::elementRangeSet ( PositionType  ) const
inlineoverride

◆ at() [1/2]

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
ElementType axom::slam::NullBivariateSet< SetType1, SetType2 >::at ( PositionType  ) const
inlineoverride

◆ size() [1/3]

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
PositionType axom::slam::NullBivariateSet< SetType1, SetType2 >::size ( ) const
inlineoverridevirtual

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

Implements axom::slam::BivariateSet< SetType1, SetType2 >.

◆ size() [2/3]

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
PositionType axom::slam::NullBivariateSet< SetType1, SetType2 >::size ( PositionType  ) const
inlineoverride

◆ getElements() [1/2]

template<typename SetType1 = slam::Set<>, typename SetType2 = slam::Set<>>
const OrderedSetType axom::slam::NullBivariateSet< SetType1, SetType2 >::getElements ( PositionType  ) const
inlineoverride

◆ findElementIndex() [2/2]

virtual PositionType axom::slam::BivariateSet< SetType1 , SetType2 >::findElementIndex ( PositionType  pos1,
PositionType  pos2 
) const
pure virtualinherited

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()

◆ findElementFlatIndex() [3/4]

virtual PositionType axom::slam::BivariateSet< SetType1 , SetType2 >::findElementFlatIndex ( PositionType  pos1,
PositionType  pos2 
) const
pure virtualinherited

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()

◆ findElementFlatIndex() [4/4]

virtual PositionType axom::slam::BivariateSet< SetType1 , SetType2 >::findElementFlatIndex ( PositionType  pos1) const
pure virtualinherited

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()

◆ elementRangeSet() [2/2]

virtual RangeSetType axom::slam::BivariateSet< SetType1 , SetType2 >::elementRangeSet ( PositionType  pos1) const
pure virtualinherited

Finds the range of indices of valid elements in the second set, given the index of an element in the first set.

Parameters
Positionof the element in the first set
Returns
A range set of the positions in the second set

◆ size() [3/3]

virtual PositionType axom::slam::BivariateSet< SetType1 , SetType2 >::size ( PositionType  pos1) const
pure virtualinherited

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

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

◆ firstSetSize()

PositionType axom::slam::BivariateSet< SetType1 , SetType2 >::firstSetSize ( ) const
inlineinherited

Size of the first set.

References axom::slam::BivariateSet< Set1, Set2 >::m_set1.

◆ secondSetSize()

PositionType axom::slam::BivariateSet< SetType1 , SetType2 >::secondSetSize ( ) const
inlineinherited

Size of the second set.

References axom::slam::BivariateSet< Set1, Set2 >::m_set2.

◆ getFirstSet()

const FirstSetType* axom::slam::BivariateSet< SetType1 , SetType2 >::getFirstSet ( ) const
inlineinherited

Returns pointer to the first set.

References axom::slam::BivariateSet< Set1, Set2 >::m_set1.

◆ getSecondSet()

◆ at() [2/2]

virtual ElementType axom::slam::BivariateSet< SetType1 , SetType2 >::at ( PositionType  pos) const
pure virtualinherited

Returns the element at the given FlatIndex pos.

◆ getElements() [2/2]

virtual const OrderedSetType axom::slam::BivariateSet< SetType1 , SetType2 >::getElements ( PositionType  s1) const
pure virtualinherited

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()

◆ isValid()

◆ verifyPosition()

virtual void axom::slam::BivariateSet< SetType1 , SetType2 >::verifyPosition ( PositionType  s1,
PositionType  s2 
) const
pure virtualinherited

Member Data Documentation

◆ INVALID_POS

const PositionType axom::slam::BivariateSet< SetType1 , SetType2 >::INVALID_POS
staticinherited

◆ s_nullSet

const BivariateSet< SetType1 , SetType2 >::NullSetType axom::slam::BivariateSet< SetType1 , SetType2 >::s_nullSet
staticinherited

◆ m_set1

const FirstSetType* axom::slam::BivariateSet< SetType1 , SetType2 >::m_set1
protectedinherited

◆ m_set2

const SecondSetType* axom::slam::BivariateSet< SetType1 , SetType2 >::m_set2
protectedinherited

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