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

An indexed set (a tuple) of entities in a simulation. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/latest/src/axom/slam/NullSet.hpp>

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

Public Types

using ParentSet = Set< PosType, ElemType >
 
using PositionType = typename ParentSet::PositionType
 
using ElementType = typename ParentSet::ElementType
 

Public Member Functions

 NullSet ()
 
AXOM_HOST_DEVICE PositionType size () const
 Get the number of entities in the set. More...
 
ElementType at (PositionType pos) const
 
ElementType operator[] (PositionType pos) const
 
bool isSubset () const
 Determines if the Set is a Subset of another set. More...
 
const ParentSetparentSet () const
 
bool isValid (bool AXOM_UNUSED_PARAM(verboseOutput)=false) const
 
AXOM_HOST_DEVICE bool empty () const
 Checks if there are any elements in the set – equivalent to: set.size() == 0. More...
 
virtual ElementType at (PositionType) const=0
 Random access to the entities of the set. More...
 
virtual bool isValid (bool verboseOutput=false) const=0
 Checks whether the set is valid. More...
 

Detailed Description

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

An indexed set (a tuple) of entities in a simulation.

Member Typedef Documentation

◆ ParentSet

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
using axom::slam::NullSet< PosType, ElemType >::ParentSet = Set<PosType, ElemType>

◆ PositionType

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

◆ ElementType

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

Constructor & Destructor Documentation

◆ NullSet()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
axom::slam::NullSet< PosType, ElemType >::NullSet ( )
inline

Member Function Documentation

◆ size()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
AXOM_HOST_DEVICE PositionType axom::slam::NullSet< PosType, ElemType >::size ( ) const
inlinevirtual

Get the number of entities in the set.

Returns
The number of entities in the set.

Implements axom::slam::Set< slam::DefaultPositionType, slam::DefaultElementType >.

◆ at() [1/2]

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

◆ operator[]()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
ElementType axom::slam::NullSet< PosType, ElemType >::operator[] ( PositionType  pos) const
inline

◆ isSubset()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
bool axom::slam::NullSet< PosType, ElemType >::isSubset ( ) const
inlinevirtual

Determines if the Set is a Subset of another set.

Returns
true if the set is a subset of another set, otherwise false.

Implements axom::slam::Set< slam::DefaultPositionType, slam::DefaultElementType >.

◆ parentSet()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
const ParentSet* axom::slam::NullSet< PosType, ElemType >::parentSet ( ) const
inline

◆ isValid() [1/2]

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
bool axom::slam::NullSet< PosType, ElemType >::isValid ( bool   AXOM_UNUSED_PARAMverboseOutput = false) const
inline

◆ empty()

template<typename PosType = slam::DefaultPositionType, typename ElemType = slam::DefaultElementType>
AXOM_HOST_DEVICE bool axom::slam::NullSet< PosType, ElemType >::empty ( ) const
inlinevirtual

Checks if there are any elements in the set – equivalent to: set.size() == 0.

Implements axom::slam::Set< slam::DefaultPositionType, slam::DefaultElementType >.

◆ at() [2/2]

Random access to the entities of the set.

Parameters
Theindex of the desired element
Returns
The value of the element at the given position
Precondition
The position must be less than the number of elements in the set ( size() )
Note
Concrete realizations of Set also support subscript operator – operator[].
How are we planning to handle indexes that are out or range (accidentally)? Are we planning to handle indexes that are intentionally out of range (e.g. to indicate a problem, or a missing element etc..)?

Implemented in axom::slam::NullSet< slam::DefaultPositionType, slam::DefaultElementType >.

◆ isValid() [2/2]

virtual bool axom::slam::Set< slam::DefaultPositionType , slam::DefaultElementType >::isValid ( bool  verboseOutput = false) const
pure virtualinherited

Checks whether the set is valid.

Returns
true if the underlying indices are valid, false otherwise.

Implemented in axom::slam::DynamicSet< PosType, ElemType, SizePolicy >.


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