Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
mundy::mesh::TaggedComponent< Tag, ComponentType > Class Template Reference

A small helper type for tying a Tag to an underlying component.

#include <Component.hpp>

Public Types

using our_t = TaggedComponent<Tag, ComponentType>
using view_t = typename ComponentType::view_t
using tag_type = Tag
using component_type = ComponentType
using canonical_access = typename component_type::canonical_access

Public Member Functions

 TaggedComponent ()=default
 TaggedComponent (component_type component)
 TaggedComponent (const TaggedComponent &)=default
 Default copy/move/assign constructors.
 TaggedComponent (TaggedComponent &&)=default
TaggedComponentoperator= (const TaggedComponent &)=default
TaggedComponentoperator= (TaggedComponent &&)=default
decltype(auto) operator() (stk::mesh::Entity entity) const
const component_typecomponent () const
component_typecomponent ()
void sync_to_device ()
void sync_to_host ()
void modify_on_device ()
void modify_on_host ()
void clear_host_sync_state ()
void clear_device_sync_state ()
Our Tags (types never need to be complete)
template<class EntityExpr>
auto operator() (const impl::EntityExprBase< EntityExpr > &e) const
 Calling operator()(entity_expr) on any accessor will return an AccessorExpr Example: auto v3_accessor = Vector3FieldComponent(v3_field); EntityExpr all_nodes(node_selector, stk::topology::NODE_RANK); auto get_v3_expr = v3_accessor(all_nodes);.

Member Typedef Documentation

◆ our_t

template<typename Tag, typename ComponentType>
using mundy::mesh::TaggedComponent< Tag, ComponentType >::our_t = TaggedComponent<Tag, ComponentType>

◆ view_t

template<typename Tag, typename ComponentType>
using mundy::mesh::TaggedComponent< Tag, ComponentType >::view_t = typename ComponentType::view_t

◆ tag_type

template<typename Tag, typename ComponentType>
using mundy::mesh::TaggedComponent< Tag, ComponentType >::tag_type = Tag

◆ component_type

template<typename Tag, typename ComponentType>
using mundy::mesh::TaggedComponent< Tag, ComponentType >::component_type = ComponentType

◆ canonical_access

template<typename Tag, typename ComponentType>
using mundy::mesh::TaggedComponent< Tag, ComponentType >::canonical_access = typename component_type::canonical_access

Constructor & Destructor Documentation

◆ TaggedComponent() [1/4]

template<typename Tag, typename ComponentType>
mundy::mesh::TaggedComponent< Tag, ComponentType >::TaggedComponent ( )
default

◆ TaggedComponent() [2/4]

template<typename Tag, typename ComponentType>
mundy::mesh::TaggedComponent< Tag, ComponentType >::TaggedComponent ( component_type component)
inline

◆ TaggedComponent() [3/4]

template<typename Tag, typename ComponentType>
mundy::mesh::TaggedComponent< Tag, ComponentType >::TaggedComponent ( const TaggedComponent< Tag, ComponentType > & )
default

◆ TaggedComponent() [4/4]

template<typename Tag, typename ComponentType>
mundy::mesh::TaggedComponent< Tag, ComponentType >::TaggedComponent ( TaggedComponent< Tag, ComponentType > && )
default

Member Function Documentation

◆ operator=() [1/2]

template<typename Tag, typename ComponentType>
TaggedComponent & mundy::mesh::TaggedComponent< Tag, ComponentType >::operator= ( const TaggedComponent< Tag, ComponentType > & )
default

◆ operator=() [2/2]

template<typename Tag, typename ComponentType>
TaggedComponent & mundy::mesh::TaggedComponent< Tag, ComponentType >::operator= ( TaggedComponent< Tag, ComponentType > && )
default

◆ operator()() [1/2]

template<typename Tag, typename ComponentType>
decltype(auto) mundy::mesh::TaggedComponent< Tag, ComponentType >::operator() ( stk::mesh::Entity entity) const
inline

◆ operator()() [2/2]

template<typename Tag, typename ComponentType>
template<class EntityExpr>
auto mundy::mesh::TaggedComponent< Tag, ComponentType >::operator() ( const impl::EntityExprBase< EntityExpr > & e) const

◆ component() [1/2]

template<typename Tag, typename ComponentType>
const component_type & mundy::mesh::TaggedComponent< Tag, ComponentType >::component ( ) const
inline

◆ component() [2/2]

template<typename Tag, typename ComponentType>
component_type & mundy::mesh::TaggedComponent< Tag, ComponentType >::component ( )
inline

◆ sync_to_device()

template<typename Tag, typename ComponentType>
void mundy::mesh::TaggedComponent< Tag, ComponentType >::sync_to_device ( )
inline

◆ sync_to_host()

template<typename Tag, typename ComponentType>
void mundy::mesh::TaggedComponent< Tag, ComponentType >::sync_to_host ( )
inline

◆ modify_on_device()

template<typename Tag, typename ComponentType>
void mundy::mesh::TaggedComponent< Tag, ComponentType >::modify_on_device ( )
inline

◆ modify_on_host()

template<typename Tag, typename ComponentType>
void mundy::mesh::TaggedComponent< Tag, ComponentType >::modify_on_host ( )
inline

◆ clear_host_sync_state()

template<typename Tag, typename ComponentType>
void mundy::mesh::TaggedComponent< Tag, ComponentType >::clear_host_sync_state ( )
inline

◆ clear_device_sync_state()

template<typename Tag, typename ComponentType>
void mundy::mesh::TaggedComponent< Tag, ComponentType >::clear_device_sync_state ( )
inline