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

Chain class. More...

#include <chain.hpp>

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

Public Types

using memory_space = MemorySpace
 
using simplex_type = SimplexType
 
using simplices_type = Kokkos::View<SimplexType*, LayoutStridedPolicy, memory_space>
 
using discrete_element_type = typename simplex_type::discrete_element_type
 
using discrete_vector_type = typename simplex_type::discrete_vector_type
 
using iterator_type = Kokkos::Experimental::Impl::RandomAccessIterator<simplices_type>
 

Public Member Functions

KOKKOS_DEFAULTED_FUNCTION constexpr Chain ()=default
 
KOKKOS_DEFAULTED_FUNCTION constexpr Chain (Chain const &)=default
 
KOKKOS_DEFAULTED_FUNCTION constexpr Chain (Chain &&)=default
 
template<class... T>
requires (!std::is_convertible_v<T, std::size_t> && ...)
KOKKOS_FUNCTION constexpr Chain (simplices_type allocation, T... simplex) noexcept
 
KOKKOS_FUNCTION constexpr Chain (simplices_type allocation, std::size_t size) noexcept
 
KOKKOS_DEFAULTED_FUNCTION ~Chain ()=default
 
KOKKOS_DEFAULTED_FUNCTION Chainoperator= (Chain const &other)=default
 
KOKKOS_DEFAULTED_FUNCTION Chainoperator= (Chain &&other)=default
 
KOKKOS_FUNCTION simplices_typeallocation () noexcept
 
KOKKOS_FUNCTION std::size_t size () noexcept
 
KOKKOS_FUNCTION std::size_t size () const noexcept
 
KOKKOS_FUNCTION std::size_t allocation_size () noexcept
 
KOKKOS_FUNCTION std::size_t allocation_size () const noexcept
 
void resize ()
 
void resize (std::size_t size)
 
KOKKOS_FUNCTION int check ()
 
KOKKOS_FUNCTION void optimize ()
 
KOKKOS_FUNCTION auto begin ()
 
KOKKOS_FUNCTION auto begin () const
 
KOKKOS_FUNCTION auto end ()
 
KOKKOS_FUNCTION auto end () const
 
KOKKOS_FUNCTION auto cbegin () const
 
KOKKOS_FUNCTION auto cend () const
 
KOKKOS_FUNCTION simplex_typeoperator[] (std::size_t i) noexcept
 
KOKKOS_FUNCTION simplex_type const & operator[] (std::size_t i) const noexcept
 
KOKKOS_FUNCTION Chainoperator++ ()
 
KOKKOS_FUNCTION Chainoperator+= (const std::size_t n)
 
KOKKOS_FUNCTION Chainoperator+= (const simplex_type &simplex)
 
KOKKOS_FUNCTION Chainoperator+= (const Chain &simplices_to_add)
 
KOKKOS_FUNCTION Chain operator+ (simplex_type simplex)
 
KOKKOS_FUNCTION Chain operator+ (Chain simplices_to_add)
 
KOKKOS_FUNCTION Chainrevert ()
 
KOKKOS_FUNCTION Chain operator- ()
 
template<class T >
KOKKOS_FUNCTION auto operator- (T t)
 
template<class T >
KOKKOS_FUNCTION Chainoperator*= (T t)
 
template<class T >
KOKKOS_FUNCTION auto operator* (T t)
 
KOKKOS_FUNCTION bool operator== (Chain simplices)
 

Static Public Member Functions

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

Detailed Description

template<class SimplexType, class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
class sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >

Chain class.

Definition at line 25 of file chain.hpp.

Member Typedef Documentation

◆ memory_space

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
using sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::memory_space = MemorySpace

Definition at line 28 of file chain.hpp.

◆ simplex_type

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
using sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::simplex_type = SimplexType

Definition at line 30 of file chain.hpp.

◆ simplices_type

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
using sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::simplices_type = Kokkos::View<SimplexType*, LayoutStridedPolicy, memory_space>

Definition at line 31 of file chain.hpp.

◆ discrete_element_type

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
using sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::discrete_element_type = typename simplex_type::discrete_element_type

Definition at line 32 of file chain.hpp.

◆ discrete_vector_type

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
using sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::discrete_vector_type = typename simplex_type::discrete_vector_type

Definition at line 33 of file chain.hpp.

◆ iterator_type

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
using sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::iterator_type = Kokkos::Experimental::Impl::RandomAccessIterator<simplices_type>

Definition at line 35 of file chain.hpp.

Constructor & Destructor Documentation

◆ Chain() [1/5]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_DEFAULTED_FUNCTION constexpr sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::Chain ( )
constexprdefault

◆ Chain() [2/5]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_DEFAULTED_FUNCTION constexpr sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::Chain ( Chain< SimplexType, LayoutStridedPolicy, MemorySpace > const & )
constexprdefault

◆ Chain() [3/5]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_DEFAULTED_FUNCTION constexpr sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::Chain ( Chain< SimplexType, LayoutStridedPolicy, MemorySpace > && )
constexprdefault

◆ Chain() [4/5]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
template<class... T>
requires (!std::is_convertible_v<T, std::size_t> && ...)
KOKKOS_FUNCTION constexpr sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::Chain ( simplices_type allocation,
T... simplex )
inlineexplicitconstexprnoexcept

Definition at line 53 of file chain.hpp.

◆ Chain() [5/5]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION constexpr sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::Chain ( simplices_type allocation,
std::size_t size )
inlineexplicitconstexprnoexcept

Definition at line 62 of file chain.hpp.

◆ ~Chain()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_DEFAULTED_FUNCTION sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::~Chain ( )
default

Member Function Documentation

◆ operator=() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_DEFAULTED_FUNCTION Chain & sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator= ( Chain< SimplexType, LayoutStridedPolicy, MemorySpace > const & other)
default

◆ operator=() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_DEFAULTED_FUNCTION Chain & sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator= ( Chain< SimplexType, LayoutStridedPolicy, MemorySpace > && other)
default

◆ is_local()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
static KOKKOS_FUNCTION constexpr bool sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::is_local ( )
inlinestaticconstexprnoexcept

Definition at line 75 of file chain.hpp.

◆ dimension()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
static KOKKOS_FUNCTION constexpr std::size_t sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::dimension ( )
inlinestaticconstexprnoexcept

Definition at line 80 of file chain.hpp.

◆ allocation()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION simplices_type & sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::allocation ( )
inlinenoexcept

Definition at line 85 of file chain.hpp.

◆ size() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION std::size_t sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::size ( )
inlinenoexcept

Definition at line 90 of file chain.hpp.

◆ size() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION std::size_t sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::size ( ) const
inlinenoexcept

Definition at line 95 of file chain.hpp.

◆ allocation_size() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION std::size_t sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::allocation_size ( )
inlinenoexcept

Definition at line 100 of file chain.hpp.

◆ allocation_size() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION std::size_t sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::allocation_size ( ) const
inlinenoexcept

Definition at line 105 of file chain.hpp.

◆ resize() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
void sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::resize ( )
inline

Definition at line 110 of file chain.hpp.

◆ resize() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
void sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::resize ( std::size_t size)
inline

Definition at line 115 of file chain.hpp.

◆ check()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION int sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::check ( )
inline

Definition at line 120 of file chain.hpp.

◆ optimize()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION void sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::optimize ( )
inline

Definition at line 132 of file chain.hpp.

◆ begin() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION auto sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::begin ( )
inline

Definition at line 155 of file chain.hpp.

◆ begin() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION auto sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::begin ( ) const
inline

Definition at line 160 of file chain.hpp.

◆ end() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION auto sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::end ( )
inline

Definition at line 165 of file chain.hpp.

◆ end() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION auto sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::end ( ) const
inline

Definition at line 170 of file chain.hpp.

◆ cbegin()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION auto sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::cbegin ( ) const
inline

Definition at line 175 of file chain.hpp.

◆ cend()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION auto sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::cend ( ) const
inline

Definition at line 180 of file chain.hpp.

◆ operator[]() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION simplex_type & sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator[] ( std::size_t i)
inlinenoexcept

Definition at line 185 of file chain.hpp.

◆ operator[]() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION simplex_type const & sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator[] ( std::size_t i) const
inlinenoexcept

Definition at line 191 of file chain.hpp.

◆ operator++()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION Chain & sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator++ ( )
inline

Definition at line 197 of file chain.hpp.

◆ operator+=() [1/3]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION Chain & sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+= ( const std::size_t n)
inline

Definition at line 204 of file chain.hpp.

◆ operator+=() [2/3]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION Chain & sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+= ( const simplex_type & simplex)
inline

Definition at line 211 of file chain.hpp.

◆ operator+=() [3/3]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION Chain & sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+= ( const Chain< SimplexType, LayoutStridedPolicy, MemorySpace > & simplices_to_add)
inline

Definition at line 219 of file chain.hpp.

◆ operator+() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION Chain sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+ ( simplex_type simplex)
inline

Definition at line 229 of file chain.hpp.

◆ operator+() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION Chain sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+ ( Chain< SimplexType, LayoutStridedPolicy, MemorySpace > simplices_to_add)
inline

Definition at line 236 of file chain.hpp.

◆ revert()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION Chain & sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::revert ( )
inline

Definition at line 243 of file chain.hpp.

◆ operator-() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION Chain sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator- ( )
inline

Definition at line 253 of file chain.hpp.

◆ operator-() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
template<class T >
KOKKOS_FUNCTION auto sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator- ( T t)
inline

Definition at line 261 of file chain.hpp.

◆ operator*=()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
template<class T >
KOKKOS_FUNCTION Chain & sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator*= ( T t)
inline

Definition at line 267 of file chain.hpp.

◆ operator*()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
template<class T >
KOKKOS_FUNCTION auto sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator* ( T t)
inline

Definition at line 279 of file chain.hpp.

◆ operator==()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION bool sil::exterior::Chain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator== ( Chain< SimplexType, LayoutStridedPolicy, MemorySpace > simplices)
inline

Definition at line 286 of file chain.hpp.


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