Wildmeshing Toolkit
wmtk::attribute::AttributeScope< T > Class Template Reference

#include <AttributeScope.hpp>

Inheritance diagram for wmtk::attribute::AttributeScope< T >:
[legend]
Collaboration diagram for wmtk::attribute::AttributeScope< T >:
[legend]

Public Member Functions

 AttributeScope ()
 
 AttributeScope (const AttributeScope &)=delete
 
AttributeScopeoperator= (const AttributeScope &)=delete
 
 AttributeScope (AttributeScope &&)=default
 
AttributeScopeoperator= (AttributeScope &&)=default
 
 ~AttributeScope ()
 
 AttributeScope (std::unique_ptr< AttributeScope< T >> &&next)
 
void apply (Attribute< T > &attr) const
 
void apply (const Attribute< T > &attr, std::vector< T > &data)
 
- Public Member Functions inherited from wmtk::attribute::internal::AttributeFlatCache< T >
 AttributeFlatCache ()
 
 ~AttributeFlatCache ()
 
 AttributeFlatCache (const AttributeFlatCache &)=delete
 
AttributeFlatCacheoperator= (const AttributeFlatCache &)=delete
 
 AttributeFlatCache (AttributeFlatCache &&)=default
 
AttributeFlatCacheoperator= (AttributeFlatCache &&)=default
 
template<typename Derived >
void try_caching (int64_t index, const Eigen::MatrixBase< Derived > &value)
 
void try_caching (int64_t index, const T &value)
 
const T * get_value (int64_t index, size_t dim) const
 
void clear ()
 
size_t size () const
 
void apply_to (Attribute< T > &attribute) const
 
void apply_to (AttributeFlatCache< T > &other) const
 
void apply_to (const Attribute< T > &attribute, std::vector< T > &other) const
 
const std::vector< T > & buffer () const
 
const std::vector< std::pair< size_t, size_t > > & indices () const
 

Private Types

using MapResult = typename AttributeCache< T >::MapResult
 
using ConstMapResult = typename AttributeCache< T >::ConstMapResult
 

Private Member Functions

template<int Dim>
ConstMapResult load_const_cached_vector_value (const AccessorBase< T, Dim > &accessor, int64_t index) const
 
template<int Dim>
load_const_cached_scalar_value (const AccessorBase< T > &accessor, int64_t index) const
 
AttributeCache< T > & get_cache ()
 

Friends

template<typename U , int D>
class CachingAccessor
 

Additional Inherited Members

- Public Types inherited from wmtk::attribute::internal::AttributeFlatCache< T >
using Data = AttributeCacheData< T >
 
using MapResult = internal::MapResult< T >
 
using ConstMapResult = internal::ConstMapResult< T >
 
- Protected Attributes inherited from wmtk::attribute::internal::AttributeFlatCache< T >
std::vector< T > m_buffer
 
std::vector< std::pair< size_t, size_t > > m_indices
 

Detailed Description

template<typename T>
class wmtk::attribute::AttributeScope< T >

Definition at line 16 of file AttributeScope.hpp.

Member Typedef Documentation

◆ ConstMapResult

template<typename T >
using wmtk::attribute::AttributeScope< T >::ConstMapResult = typename AttributeCache<T>::ConstMapResult
private

Definition at line 38 of file AttributeScope.hpp.

◆ MapResult

template<typename T >
using wmtk::attribute::AttributeScope< T >::MapResult = typename AttributeCache<T>::MapResult
private

Definition at line 37 of file AttributeScope.hpp.

Constructor & Destructor Documentation

◆ AttributeScope() [1/4]

template<typename T >
wmtk::attribute::AttributeScope< T >::AttributeScope
inline

Definition at line 6 of file AttributeScope.hxx.

◆ AttributeScope() [2/4]

template<typename T >
wmtk::attribute::AttributeScope< T >::AttributeScope ( const AttributeScope< T > &  )
delete

◆ AttributeScope() [3/4]

template<typename T >
wmtk::attribute::AttributeScope< T >::AttributeScope ( AttributeScope< T > &&  )
default

◆ ~AttributeScope()

template<typename T >
wmtk::attribute::AttributeScope< T >::~AttributeScope
inline

Definition at line 9 of file AttributeScope.hxx.

◆ AttributeScope() [4/4]

template<typename T >
wmtk::attribute::AttributeScope< T >::AttributeScope ( std::unique_ptr< AttributeScope< T >> &&  next)

Member Function Documentation

◆ apply() [1/2]

template<typename T >
void wmtk::attribute::AttributeScope< T >::apply ( Attribute< T > &  attr) const
inline

Definition at line 17 of file AttributeScope.hxx.

References wmtk::attribute::internal::AttributeFlatCache< T >::apply_to().

Here is the call graph for this function:

◆ apply() [2/2]

template<typename T >
void wmtk::attribute::AttributeScope< T >::apply ( const Attribute< T > &  attr,
std::vector< T > &  data 
)
inline

Definition at line 22 of file AttributeScope.hxx.

References wmtk::attribute::internal::AttributeFlatCache< T >::apply_to().

Here is the call graph for this function:

◆ get_cache()

template<typename T >
AttributeCache<T>& wmtk::attribute::AttributeScope< T >::get_cache ( )
inlineprivate

Definition at line 46 of file AttributeScope.hpp.

◆ load_const_cached_scalar_value()

template<typename T >
template<int Dim>
T wmtk::attribute::AttributeScope< T >::load_const_cached_scalar_value ( const AccessorBase< T > &  accessor,
int64_t  index 
) const
private

◆ load_const_cached_vector_value()

template<typename T >
template<int Dim>
ConstMapResult wmtk::attribute::AttributeScope< T >::load_const_cached_vector_value ( const AccessorBase< T, Dim > &  accessor,
int64_t  index 
) const
private

◆ operator=() [1/2]

template<typename T >
AttributeScope& wmtk::attribute::AttributeScope< T >::operator= ( AttributeScope< T > &&  )
default

◆ operator=() [2/2]

template<typename T >
AttributeScope& wmtk::attribute::AttributeScope< T >::operator= ( const AttributeScope< T > &  )
delete

Friends And Related Function Documentation

◆ CachingAccessor

template<typename T >
template<typename U , int D>
friend class CachingAccessor
friend

Definition at line 20 of file AttributeScope.hpp.


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