ug4
ug::GlobalAttachments Class Reference

Global attachments are automatically read/written from/to files and are considered during redistribution. More...

#include <global_attachments.h>

Classes

struct  AttachmentEntry
 
struct  AttachmentType
 
struct  FunctionEntry
 
struct  IAttachmentType
 
struct  IFunctionEntry
 

Static Public Member Functions

template<class TElem >
static void add_data_serializer (GridDataSerializationHandler &handler, Grid &grid, const std::string &name)
 
template<class TElem >
static void attach (Grid &g, const std::string &name)
 
template<class TAttachment >
static TAttachment attachment (const std::string &name)
 
static bool attachment_pass_on_behaviour (const std::string &name)
 
template<class TAttachment >
static void declare_attachment (const std::string &name, bool passOnBehaviour=false)
 
static void declare_attachment (const std::string &name, const std::string &typeName, bool passOnBehaviour=false)
 
static const std::vector< std::string > & declared_attachment_names ()
 
template<class TElem >
static bool is_attached (Grid &g, const std::string &name)
 
static bool is_declared (const std::string &name)
 
template<class TElem >
static void read_attachment_values (std::istream &in, Grid &grid, const std::string &name)
 
template<class TAttachment >
static void register_attachment_type ()
 
static void SynchronizeDeclaredGlobalAttachments (Grid &grid, int procId)
 
static bool type_is_registered (const std::string &typeName)
 
static const char * type_name (const std::string &name)
 
template<class TAttachment >
static void undeclare_attachment (const std::string &name)
 
template<class TElem >
static void write_attachment_values (std::ostream &out, Grid &grid, const std::string &name)
 

Private Types

typedef std::map< std::string, AttachmentEntryAttachmentMap
 
typedef std::map< std::string, IAttachmentTypeAttachmentTypeMap
 
typedef std::vector< IFunctionEntryFunctionVec
 

Private Member Functions

 GlobalAttachments ()
 
 ~GlobalAttachments ()
 

Static Private Member Functions

template<class TElem , class TAttachment >
static void add_attachment_serializer (GridDataSerializationHandler &handler, Grid &g, IAttachment &attachment)
 
static AttachmentEntryattachment_entry (const std::string &name)
 
static std::vector< std::string > & attachment_names ()
 
static AttachmentTypeMapattachment_types ()
 
static AttachmentMapattachments ()
 
template<class TElem , class TAttachment >
static void cast_and_attach (Grid &grid, IAttachment &attachment)
 
template<class TElem >
static IFunctionEntryfunction_entry (const AttachmentEntry &ae)
 
template<class TElem >
static IFunctionEntryfunction_entry (const std::string &name)
 
template<class TElem >
static FunctionVecfunctions ()
 
static GlobalAttachmentsinst ()
 
template<class TElem , class TAttachment >
static void read_attachment_from_stream (std::istream &in, Grid &grid, IAttachment &attachment)
 
static void register_standard_attachment_types ()
 
template<class TElem >
static void remove_function_entry (const AttachmentEntry &ae)
 
template<class TElem , class TAttachment >
static void write_attachment_to_stream (std::ostream &out, Grid &grid, IAttachment &attachment)
 

Private Attributes

AttachmentMap m_attachmentMap
 
std::vector< std::string > m_attachmentNames
 
AttachmentTypeMap m_attachmentTypeMap
 
FunctionVec m_functionVecs [4]
 

Detailed Description

Global attachments are automatically read/written from/to files and are considered during redistribution.

Member Typedef Documentation

◆ AttachmentMap

typedef std::map<std::string, AttachmentEntry> ug::GlobalAttachments::AttachmentMap
private

◆ AttachmentTypeMap

typedef std::map<std::string, IAttachmentType> ug::GlobalAttachments::AttachmentTypeMap
private

◆ FunctionVec

typedef std::vector<IFunctionEntry> ug::GlobalAttachments::FunctionVec
private

Constructor & Destructor Documentation

◆ GlobalAttachments()

ug::GlobalAttachments::GlobalAttachments ( )
inlineprivate

◆ ~GlobalAttachments()

ug::GlobalAttachments::~GlobalAttachments ( )
inlineprivate

References attachments().

Member Function Documentation

◆ add_attachment_serializer()

template<class TElem , class TAttachment >
static void ug::GlobalAttachments::add_attachment_serializer ( GridDataSerializationHandler handler,
Grid g,
IAttachment attachment 
)
inlinestaticprivate

◆ add_data_serializer()

template<class TElem >
static void ug::GlobalAttachments::add_data_serializer ( GridDataSerializationHandler handler,
Grid grid,
const std::string &  name 
)
inlinestatic

◆ attach()

template<class TElem >
static void ug::GlobalAttachments::attach ( Grid g,
const std::string &  name 
)
inlinestatic

◆ attachment()

template<class TAttachment >
static TAttachment ug::GlobalAttachments::attachment ( const std::string &  name)
inlinestatic

◆ attachment_entry()

◆ attachment_names()

static std::vector<std::string>& ug::GlobalAttachments::attachment_names ( )
inlinestaticprivate

◆ attachment_pass_on_behaviour()

static bool ug::GlobalAttachments::attachment_pass_on_behaviour ( const std::string &  name)
inlinestatic

◆ attachment_types()

static AttachmentTypeMap& ug::GlobalAttachments::attachment_types ( )
inlinestaticprivate

◆ attachments()

static AttachmentMap& ug::GlobalAttachments::attachments ( )
inlinestaticprivate

◆ cast_and_attach()

template<class TElem , class TAttachment >
static void ug::GlobalAttachments::cast_and_attach ( Grid grid,
IAttachment attachment 
)
inlinestaticprivate

◆ declare_attachment() [1/2]

template<class TAttachment >
static void ug::GlobalAttachments::declare_attachment ( const std::string &  name,
bool  passOnBehaviour = false 
)
inlinestatic

◆ declare_attachment() [2/2]

static void ug::GlobalAttachments::declare_attachment ( const std::string &  name,
const std::string &  typeName,
bool  passOnBehaviour = false 
)
inlinestatic

◆ declared_attachment_names()

static const std::vector<std::string>& ug::GlobalAttachments::declared_attachment_names ( )
inlinestatic

◆ function_entry() [1/2]

template<class TElem >
static IFunctionEntry& ug::GlobalAttachments::function_entry ( const AttachmentEntry ae)
inlinestaticprivate

◆ function_entry() [2/2]

template<class TElem >
static IFunctionEntry& ug::GlobalAttachments::function_entry ( const std::string &  name)
inlinestaticprivate

References attachment_entry(), and name.

◆ functions()

template<class TElem >
static FunctionVec& ug::GlobalAttachments::functions ( )
inlinestaticprivate

References inst(), and m_functionVecs.

◆ inst()

static GlobalAttachments& ug::GlobalAttachments::inst ( )
inlinestaticprivate

◆ is_attached()

template<class TElem >
static bool ug::GlobalAttachments::is_attached ( Grid g,
const std::string &  name 
)
inlinestatic

◆ is_declared()

◆ read_attachment_from_stream()

template<class TElem , class TAttachment >
static void ug::GlobalAttachments::read_attachment_from_stream ( std::istream &  in,
Grid grid,
IAttachment attachment 
)
inlinestaticprivate

◆ read_attachment_values()

template<class TElem >
static void ug::GlobalAttachments::read_attachment_values ( std::istream &  in,
Grid grid,
const std::string &  name 
)
inlinestatic

◆ register_attachment_type()

template<class TAttachment >
static void ug::GlobalAttachments::register_attachment_type ( )
inlinestatic

◆ register_standard_attachment_types()

static void ug::GlobalAttachments::register_standard_attachment_types ( )
inlinestaticprivate

Referenced by attachment_types().

◆ remove_function_entry()

template<class TElem >
static void ug::GlobalAttachments::remove_function_entry ( const AttachmentEntry ae)
inlinestaticprivate

◆ SynchronizeDeclaredGlobalAttachments()

static void ug::GlobalAttachments::SynchronizeDeclaredGlobalAttachments ( Grid grid,
int  procId 
)
inlinestatic

◆ type_is_registered()

static bool ug::GlobalAttachments::type_is_registered ( const std::string &  typeName)
inlinestatic

◆ type_name()

static const char* ug::GlobalAttachments::type_name ( const std::string &  name)
inlinestatic

◆ undeclare_attachment()

template<class TAttachment >
static void ug::GlobalAttachments::undeclare_attachment ( const std::string &  name)
inlinestatic

◆ write_attachment_to_stream()

template<class TElem , class TAttachment >
static void ug::GlobalAttachments::write_attachment_to_stream ( std::ostream &  out,
Grid grid,
IAttachment attachment 
)
inlinestaticprivate

◆ write_attachment_values()

template<class TElem >
static void ug::GlobalAttachments::write_attachment_values ( std::ostream &  out,
Grid grid,
const std::string &  name 
)
inlinestatic

Member Data Documentation

◆ m_attachmentMap

AttachmentMap ug::GlobalAttachments::m_attachmentMap
private

Referenced by attachments().

◆ m_attachmentNames

std::vector<std::string> ug::GlobalAttachments::m_attachmentNames
private

Referenced by attachment_names().

◆ m_attachmentTypeMap

AttachmentTypeMap ug::GlobalAttachments::m_attachmentTypeMap
private

Referenced by attachment_types().

◆ m_functionVecs

FunctionVec ug::GlobalAttachments::m_functionVecs[4]
private

Referenced by functions().


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