SimiLie
Loading...
Searching...
No Matches
sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > Class Template Reference

#include <local_chain.hpp>

Collaboration diagram for sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >:
Collaboration graph

Public Types

using memory_space = MemorySpace
 
using simplex_type = SimplexType
 
using discrete_element_type = typename simplex_type::discrete_element_type
 
using discrete_vector_type = typename simplex_type::discrete_vector_type
 
using storage_type = std::array<simplex_type, MAX_SIZE>
 
using iterator_type = LocalChainIterator<SimplexType, LayoutStridedPolicy, MemorySpace>
 
using const_iterator_type = iterator_type
 

Public Member Functions

KOKKOS_DEFAULTED_FUNCTION constexpr LocalChain ()=default
 
KOKKOS_DEFAULTED_FUNCTION constexpr LocalChain (LocalChain const &)=default
 
KOKKOS_DEFAULTED_FUNCTION constexpr LocalChain (LocalChain &&)=default
 
KOKKOS_DEFAULTED_FUNCTION constexpr ~LocalChain ()=default
 
KOKKOS_DEFAULTED_FUNCTION LocalChainoperator= (LocalChain const &)=default
 
KOKKOS_DEFAULTED_FUNCTION LocalChainoperator= (LocalChain &&)=default
 
KOKKOS_FUNCTION constexpr LocalChain (discrete_element_type origin, std::size_t size=0) noexcept
 
template<misc::Specialization< Kokkos::View > AllocationType>
KOKKOS_FUNCTION constexpr LocalChain (AllocationType const &, discrete_element_type origin)
 
template<misc::NotSpecialization< ddc::DiscreteVector >... T>
KOKKOS_FUNCTION constexpr LocalChain (discrete_element_type origin, T... simplex) noexcept
 
template<misc::Specialization< Kokkos::View > AllocationType, misc::NotSpecialization< ddc::DiscreteVector > First, misc::NotSpecialization< ddc::DiscreteVector >... Rest>
KOKKOS_FUNCTION constexpr LocalChain (AllocationType const &, First first_simplex, Rest... simplices) noexcept
 
template<misc::Specialization< ddc::DiscreteVector >... T>
requires (sizeof...(T) >= 1)
KOKKOS_FUNCTION constexpr LocalChain (discrete_element_type origin, T... vect) noexcept
 
template<misc::Specialization< Kokkos::View > AllocationType, misc::Specialization< ddc::DiscreteVector >... T>
requires (sizeof...(T) >= 1)
KOKKOS_FUNCTION constexpr LocalChain (AllocationType const &, discrete_element_type origin, T... vect) noexcept
 
KOKKOS_FUNCTION constexpr discrete_element_type origin () const noexcept
 
KOKKOS_FUNCTION constexpr storage_typeallocation () noexcept
 
KOKKOS_FUNCTION constexpr storage_type const & allocation () const noexcept
 
KOKKOS_FUNCTION constexpr std::size_t size () const noexcept
 
KOKKOS_FUNCTION constexpr std::size_t allocation_size () const noexcept
 
KOKKOS_FUNCTION constexpr void resize (std::size_t size) noexcept
 
KOKKOS_FUNCTION constexpr int check () const noexcept
 
KOKKOS_FUNCTION constexpr iterator_type begin () noexcept
 
KOKKOS_FUNCTION constexpr const_iterator_type begin () const noexcept
 
KOKKOS_FUNCTION constexpr iterator_type end () noexcept
 
KOKKOS_FUNCTION constexpr const_iterator_type end () const noexcept
 
KOKKOS_FUNCTION constexpr const_iterator_type cbegin () const noexcept
 
KOKKOS_FUNCTION constexpr const_iterator_type cend () const noexcept
 
KOKKOS_FUNCTION constexpr simplex_type const & operator[] (std::size_t i) const noexcept
 
KOKKOS_FUNCTION constexpr LocalChainoperator++ ()
 
KOKKOS_FUNCTION constexpr LocalChainoperator+= (std::size_t n)
 
KOKKOS_FUNCTION constexpr LocalChainoperator+= (discrete_vector_type const &vect)
 
KOKKOS_FUNCTION constexpr LocalChainoperator+= (simplex_type const &simplex)
 
KOKKOS_FUNCTION constexpr LocalChainoperator+= (LocalChain const &simplices_to_add)
 
KOKKOS_FUNCTION constexpr LocalChain operator+ (simplex_type const &simplex) const
 
KOKKOS_FUNCTION constexpr LocalChain operator+ (LocalChain const &simplices_to_add) const
 
template<class T >
KOKKOS_FUNCTION constexpr LocalChainoperator*= (T t)
 
template<class T >
KOKKOS_FUNCTION constexpr auto operator* (T t) const
 
KOKKOS_FUNCTION constexpr bool operator== (LocalChain const &simplices) const
 

Static Public Member Functions

static KOKKOS_FUNCTION constexpr bool is_local () noexcept
 
static KOKKOS_FUNCTION constexpr std::size_t dimension () noexcept
 
static KOKKOS_FUNCTION constexpr bool negative ()
 

Static Public Attributes

static constexpr std::size_t MAX_SIZE = 1UL << ddc::type_seq_size_v<ddc::to_type_seq_t<discrete_vector_type>>
 

Detailed Description

template<class SimplexType, class LayoutStridedPolicy, class MemorySpace>
class sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >

Definition at line 124 of file local_chain.hpp.

Member Typedef Documentation

◆ memory_space

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
using sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::memory_space = MemorySpace

Definition at line 127 of file local_chain.hpp.

◆ simplex_type

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
using sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::simplex_type = SimplexType

Definition at line 128 of file local_chain.hpp.

◆ discrete_element_type

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
using sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::discrete_element_type = typename simplex_type::discrete_element_type

Definition at line 129 of file local_chain.hpp.

◆ discrete_vector_type

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
using sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::discrete_vector_type = typename simplex_type::discrete_vector_type

Definition at line 130 of file local_chain.hpp.

◆ storage_type

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
using sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::storage_type = std::array<simplex_type, MAX_SIZE>

Definition at line 133 of file local_chain.hpp.

◆ iterator_type

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
using sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::iterator_type = LocalChainIterator<SimplexType, LayoutStridedPolicy, MemorySpace>

Definition at line 135 of file local_chain.hpp.

◆ const_iterator_type

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
using sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::const_iterator_type = iterator_type

Definition at line 136 of file local_chain.hpp.

Constructor & Destructor Documentation

◆ LocalChain() [1/9]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_DEFAULTED_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( )
constexprdefault

◆ LocalChain() [2/9]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_DEFAULTED_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > const & )
constexprdefault

◆ LocalChain() [3/9]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_DEFAULTED_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > && )
constexprdefault

◆ ~LocalChain()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_DEFAULTED_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::~LocalChain ( )
constexprdefault

◆ LocalChain() [4/9]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( discrete_element_type origin,
std::size_t size = 0 )
inlineexplicitconstexprnoexcept

Definition at line 153 of file local_chain.hpp.

◆ LocalChain() [5/9]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
template<misc::Specialization< Kokkos::View > AllocationType>
KOKKOS_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( AllocationType const & ,
discrete_element_type origin )
inlineexplicitconstexpr

Definition at line 163 of file local_chain.hpp.

◆ LocalChain() [6/9]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
template<misc::NotSpecialization< ddc::DiscreteVector >... T>
KOKKOS_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( discrete_element_type origin,
T... simplex )
inlineexplicitconstexprnoexcept

Definition at line 171 of file local_chain.hpp.

◆ LocalChain() [7/9]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
template<misc::Specialization< Kokkos::View > AllocationType, misc::NotSpecialization< ddc::DiscreteVector > First, misc::NotSpecialization< ddc::DiscreteVector >... Rest>
KOKKOS_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( AllocationType const & ,
First first_simplex,
Rest... simplices )
inlineexplicitconstexprnoexcept

Definition at line 193 of file local_chain.hpp.

◆ LocalChain() [8/9]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
template<misc::Specialization< ddc::DiscreteVector >... T>
requires (sizeof...(T) >= 1)
KOKKOS_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( discrete_element_type origin,
T... vect )
inlineexplicitconstexprnoexcept

Definition at line 203 of file local_chain.hpp.

◆ LocalChain() [9/9]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
template<misc::Specialization< Kokkos::View > AllocationType, misc::Specialization< ddc::DiscreteVector >... T>
requires (sizeof...(T) >= 1)
KOKKOS_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( AllocationType const & ,
discrete_element_type origin,
T... vect )
inlineexplicitconstexprnoexcept

Definition at line 217 of file local_chain.hpp.

Member Function Documentation

◆ operator=() [1/2]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_DEFAULTED_FUNCTION LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator= ( LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > const & )
default

◆ operator=() [2/2]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_DEFAULTED_FUNCTION LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator= ( LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > && )
default

◆ is_local()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
static KOKKOS_FUNCTION constexpr bool sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::is_local ( )
inlinestaticconstexprnoexcept

Definition at line 225 of file local_chain.hpp.

◆ dimension()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
static KOKKOS_FUNCTION constexpr std::size_t sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::dimension ( )
inlinestaticconstexprnoexcept

Definition at line 230 of file local_chain.hpp.

◆ origin()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr discrete_element_type sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::origin ( ) const
inlineconstexprnoexcept

Definition at line 235 of file local_chain.hpp.

◆ allocation() [1/2]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr storage_type & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::allocation ( )
inlineconstexprnoexcept

Definition at line 240 of file local_chain.hpp.

◆ allocation() [2/2]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr storage_type const & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::allocation ( ) const
inlineconstexprnoexcept

Definition at line 245 of file local_chain.hpp.

◆ size()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr std::size_t sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::size ( ) const
inlineconstexprnoexcept

Definition at line 250 of file local_chain.hpp.

◆ allocation_size()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr std::size_t sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::allocation_size ( ) const
inlineconstexprnoexcept

Definition at line 255 of file local_chain.hpp.

◆ negative()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
static KOKKOS_FUNCTION constexpr bool sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::negative ( )
inlinestaticconstexpr

Definition at line 260 of file local_chain.hpp.

◆ resize()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr void sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::resize ( std::size_t size)
inlineconstexprnoexcept

Definition at line 265 of file local_chain.hpp.

◆ check()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr int sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::check ( ) const
inlineconstexprnoexcept

Definition at line 271 of file local_chain.hpp.

◆ begin() [1/2]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr iterator_type sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::begin ( )
inlineconstexprnoexcept

Definition at line 283 of file local_chain.hpp.

◆ begin() [2/2]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr const_iterator_type sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::begin ( ) const
inlineconstexprnoexcept

Definition at line 288 of file local_chain.hpp.

◆ end() [1/2]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr iterator_type sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::end ( )
inlineconstexprnoexcept

Definition at line 293 of file local_chain.hpp.

◆ end() [2/2]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr const_iterator_type sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::end ( ) const
inlineconstexprnoexcept

Definition at line 298 of file local_chain.hpp.

◆ cbegin()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr const_iterator_type sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::cbegin ( ) const
inlineconstexprnoexcept

Definition at line 303 of file local_chain.hpp.

◆ cend()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr const_iterator_type sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::cend ( ) const
inlineconstexprnoexcept

Definition at line 308 of file local_chain.hpp.

◆ operator[]()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr simplex_type const & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator[] ( std::size_t i) const
inlineconstexprnoexcept

Definition at line 313 of file local_chain.hpp.

◆ operator++()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator++ ( )
inlineconstexpr

Definition at line 319 of file local_chain.hpp.

◆ operator+=() [1/4]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+= ( std::size_t n)
inlineconstexpr

Definition at line 326 of file local_chain.hpp.

◆ operator+=() [2/4]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+= ( discrete_vector_type const & vect)
inlineconstexpr

Definition at line 333 of file local_chain.hpp.

◆ operator+=() [3/4]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+= ( simplex_type const & simplex)
inlineconstexpr

Definition at line 340 of file local_chain.hpp.

◆ operator+=() [4/4]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+= ( LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > const & simplices_to_add)
inlineconstexpr

Definition at line 347 of file local_chain.hpp.

◆ operator+() [1/2]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr LocalChain sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+ ( simplex_type const & simplex) const
inlineconstexpr

Definition at line 358 of file local_chain.hpp.

◆ operator+() [2/2]

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr LocalChain sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+ ( LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > const & simplices_to_add) const
inlineconstexpr

Definition at line 365 of file local_chain.hpp.

◆ operator*=()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
template<class T >
KOKKOS_FUNCTION constexpr LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator*= ( T t)
inlineconstexpr

Definition at line 373 of file local_chain.hpp.

◆ operator*()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
template<class T >
KOKKOS_FUNCTION constexpr auto sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator* ( T t) const
inlineconstexpr

Definition at line 387 of file local_chain.hpp.

◆ operator==()

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
KOKKOS_FUNCTION constexpr bool sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator== ( LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > const & simplices) const
inlineconstexpr

Definition at line 394 of file local_chain.hpp.

Member Data Documentation

◆ MAX_SIZE

template<class SimplexType , class LayoutStridedPolicy , class MemorySpace >
std::size_t sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::MAX_SIZE = 1UL << ddc::type_seq_size_v<ddc::to_type_seq_t<discrete_vector_type>>
staticconstexpr

Definition at line 131 of file local_chain.hpp.


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