WaveBlocksND
Public Member Functions | Private Attributes | List of all members
waveblocks::wavepackets::shapes::ShapeExtensionCache< D, MultiIndex > Class Template Reference

#include <shape_extension_cache.hpp>

Public Member Functions

ShapeEnumSharedPtr< D, MultiIndex > get_extended_shape (std::shared_ptr< ShapeEnum< D, MultiIndex > > shape) const
 shape reference to shape to check actuality of cache More...
 
void set_extended_shape (std::shared_ptr< ShapeEnum< D, MultiIndex > > shape, std::shared_ptr< ShapeEnum< D, MultiIndex > > extension)
 Manually sets extended shape. More...
 
void update_extended_shape (std::shared_ptr< ShapeEnum< D, MultiIndex > > shape) const
 Recomputes extended shape if source shape changed. More...
 

Private Attributes

ShapeEnumSharedPtr< D, MultiIndex > cached_extended_shape_
 
ShapeEnum< D, MultiIndex > * cached_extended_shape_source_
 

Member Function Documentation

template<dim_t D, class MultiIndex>
ShapeEnumSharedPtr<D,MultiIndex> waveblocks::wavepackets::shapes::ShapeExtensionCache< D, MultiIndex >::get_extended_shape ( std::shared_ptr< ShapeEnum< D, MultiIndex > >  shape) const
inline

shape reference to shape to check actuality of cache

Returns
template<dim_t D, class MultiIndex>
void waveblocks::wavepackets::shapes::ShapeExtensionCache< D, MultiIndex >::set_extended_shape ( std::shared_ptr< ShapeEnum< D, MultiIndex > >  shape,
std::shared_ptr< ShapeEnum< D, MultiIndex > >  extension 
)
inline

Manually sets extended shape.

Parameters
shapesource of new extended shape
extensionnew extended shape
template<dim_t D, class MultiIndex>
void waveblocks::wavepackets::shapes::ShapeExtensionCache< D, MultiIndex >::update_extended_shape ( std::shared_ptr< ShapeEnum< D, MultiIndex > >  shape) const
inline

Recomputes extended shape if source shape changed.

Parameters
shapenew source shape

Member Data Documentation

template<dim_t D, class MultiIndex>
ShapeEnumSharedPtr<D,MultiIndex> waveblocks::wavepackets::shapes::ShapeExtensionCache< D, MultiIndex >::cached_extended_shape_
mutableprivate
template<dim_t D, class MultiIndex>
ShapeEnum<D,MultiIndex>* waveblocks::wavepackets::shapes::ShapeExtensionCache< D, MultiIndex >::cached_extended_shape_source_
mutableprivate

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