AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 > Struct Template Reference

The base class of concrete-interface bivariate sets. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/main/src/axom/slam/policies/BivariateSetInterfacePolicies.hpp>

Public Types

using FirstSetType = Set1
 
using SecondSetType = Set2
 
using PositionType = typename FirstSetType::PositionType
 
using ElementType = typename FirstSetType::ElementType
 
using SubsetType = void
 
using RangeSetType = typename RangeSet< PositionType, ElementType >::ConcreteSet
 

Public Member Functions

 ConcreteBivariateSet (const Set1 *set1=policies::EmptySetTraits< Set1 >::emptySet(), const Set2 *set2=policies::EmptySetTraits< Set2 >::emptySet())
 Constructor taking pointers to the two sets that defines the range of the indices of the BivariateSet. More...
 
AXOM_HOST_DEVICE PositionType firstSetSize () const
 Size of the first set.
More...
 
AXOM_HOST_DEVICE 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...
 
bool isValid (bool verboseOutput=false) const
 

Static Public Attributes

static constexpr PositionType INVALID_POS = PositionType(-1)
 

Protected Attributes

const FirstSetTypem_set1
 
const SecondSetTypem_set2
 

Detailed Description

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
struct axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >

The base class of concrete-interface bivariate sets.

This is effectively slam::BivariateSet without the virtual functions.

Member Typedef Documentation

◆ FirstSetType

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
using axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::FirstSetType = Set1

◆ SecondSetType

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
using axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::SecondSetType = Set2

◆ PositionType

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
using axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::PositionType = typename FirstSetType::PositionType

◆ ElementType

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
using axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::ElementType = typename FirstSetType::ElementType

◆ SubsetType

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
using axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::SubsetType = void

◆ RangeSetType

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
using axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::RangeSetType = typename RangeSet<PositionType, ElementType>::ConcreteSet

Constructor & Destructor Documentation

◆ ConcreteBivariateSet()

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::ConcreteBivariateSet ( const Set1 *  set1 = policies::EmptySetTraits<Set1>::emptySet(),
const Set2 *  set2 = policies::EmptySetTraits<Set2>::emptySet() 
)
inline

Constructor taking pointers to the two sets that defines the range of the indices of the BivariateSet.

Parameters
set1Pointer to the first Set.
set2Pointer to the second Set.

Member Function Documentation

◆ firstSetSize()

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
AXOM_HOST_DEVICE PositionType axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::firstSetSize ( ) const
inline

◆ secondSetSize()

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
AXOM_HOST_DEVICE PositionType axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::secondSetSize ( ) const
inline

◆ getFirstSet()

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
const FirstSetType* axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::getFirstSet ( ) const
inline

Returns pointer to the first set.

References axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::m_set1.

◆ getSecondSet()

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
const SecondSetType* axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::getSecondSet ( ) const
inline

Returns pointer to the second set.

References axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::m_set2.

◆ isValid()

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
bool axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::isValid ( bool  verboseOutput = false) const
inline

Member Data Documentation

◆ INVALID_POS

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
constexpr PositionType axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::INVALID_POS = PositionType(-1)
staticconstexpr

◆ m_set1

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
const FirstSetType* axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::m_set1
protected

◆ m_set2

template<typename Set1 = slam::Set<>, typename Set2 = slam::Set<>>
const SecondSetType* axom::slam::policies::detail::ConcreteBivariateSet< Set1, Set2 >::m_set2
protected

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