INMOST
Mathematical Modelling Toolkit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
INMOST::TagManager Class Reference

#include <inmost_data.h>

Inheritance diagram for INMOST::TagManager:
Collaboration diagram for INMOST::TagManager:

Classes

struct  sparse_sub_record
 

Public Types

typedef tag_array_type::iterator iteratorTag
 

Public Member Functions

virtual ~TagManager ()
 
bool HaveTag (std::string name) const
 
Tag GetTag (std::string name) const
 
void ListTagNames (std::vector< std::string > &list) const
 
Tag CreateTag (Mesh *m, std::string name, DataType dtype, ElementType etype, ElementType sparse, INMOST_DATA_ENUM_TYPE size=ENUMUNDEF)
 
virtual Tag DeleteTag (Tag tag, ElementType mask)
 
bool ElementDefined (Tag const &tag, ElementType etype) const
 

Protected Types

typedef chunk_array
< INMOST_DATA_ENUM_TYPE,
chunk_bits_empty > 
empty_data
 
typedef chunk_array< Tag,
chunk_bits_tags > 
tag_array_type
 
typedef chunk_bulk_array
< chunk_bits_elems > 
dense_sub_type
 
typedef chunk_array
< dense_sub_type,
chunk_bits_dense > 
dense_data_array_type
 
typedef array< sparse_sub_recordsparse_sub_type
 
typedef chunk_array
< sparse_sub_type,
chunk_bits_elems > 
sparse_data_array_type
 
typedef chunk_array
< INMOST_DATA_INTEGER_TYPE,
chunk_bits_elems > 
back_links_type
 
typedef tag_array_type::iterator tag_iterator
 
typedef
tag_array_type::const_iterator 
tag_const_iterator
 

Protected Member Functions

 TagManager ()
 
 TagManager (const TagManager &other)
 
TagManageroperator= (TagManager const &other)
 
void ReallocateData (const Tag &t, INMOST_DATA_INTEGER_TYPE etypenum, INMOST_DATA_ENUM_TYPE new_size)
 
void ReallocateData (INMOST_DATA_INTEGER_TYPE etypenum, INMOST_DATA_ENUM_TYPE new_size)
 
__INLINE sparse_sub_type const & GetSparseData (int etypenum, int local_id) const
 
__INLINE sparse_sub_typeGetSparseData (int etypenum, int local_id)
 
__INLINE dense_sub_type const & GetDenseData (int pos) const
 
__INLINE dense_sub_typeGetDenseData (int pos)
 

Static Protected Member Functions

static void CopyData (const Tag &t, void *adata, const void *bdata)
 
static void DestroyVariableData (const Tag &t, void *adata)
 

Protected Attributes

tag_array_type tags
 
empty_data empty_dense_data
 
dense_data_array_type dense_data
 
sparse_data_array_type sparse_data [NUM_ELEMENT_TYPS]
 
back_links_type back_links [NUM_ELEMENT_TYPS]
 

Detailed Description

Definition at line 224 of file inmost_data.h.

Member Typedef Documentation

Definition at line 237 of file inmost_data.h.

Definition at line 233 of file inmost_data.h.

typedef chunk_bulk_array<chunk_bits_elems> INMOST::TagManager::dense_sub_type
protected

Definition at line 232 of file inmost_data.h.

Definition at line 230 of file inmost_data.h.

typedef tag_array_type::iterator INMOST::TagManager::iteratorTag

Definition at line 240 of file inmost_data.h.

Definition at line 236 of file inmost_data.h.

Definition at line 235 of file inmost_data.h.

typedef chunk_array<Tag, chunk_bits_tags> INMOST::TagManager::tag_array_type
protected

Definition at line 231 of file inmost_data.h.

typedef tag_array_type::const_iterator INMOST::TagManager::tag_const_iterator
protected

Definition at line 260 of file inmost_data.h.

typedef tag_array_type::iterator INMOST::TagManager::tag_iterator
protected

Definition at line 259 of file inmost_data.h.

Constructor & Destructor Documentation

INMOST::TagManager::TagManager ( )
protected
INMOST::TagManager::TagManager ( const TagManager other)
protected
virtual INMOST::TagManager::~TagManager ( )
virtual

Member Function Documentation

static void INMOST::TagManager::CopyData ( const Tag t,
void *  adata,
const void *  bdata 
)
staticprotected
Tag INMOST::TagManager::CreateTag ( Mesh m,
std::string  name,
DataType  dtype,
ElementType  etype,
ElementType  sparse,
INMOST_DATA_ENUM_TYPE  size = ENUMUNDEF 
)
virtual Tag INMOST::TagManager::DeleteTag ( Tag  tag,
ElementType  mask 
)
virtual

Reimplemented in INMOST::Mesh.

static void INMOST::TagManager::DestroyVariableData ( const Tag t,
void *  adata 
)
staticprotected
bool INMOST::TagManager::ElementDefined ( Tag const &  tag,
ElementType  etype 
) const
__INLINE dense_sub_type const& INMOST::TagManager::GetDenseData ( int  pos) const
inlineprotected

Definition at line 254 of file inmost_data.h.

__INLINE dense_sub_type& INMOST::TagManager::GetDenseData ( int  pos)
inlineprotected

Definition at line 255 of file inmost_data.h.

__INLINE sparse_sub_type const& INMOST::TagManager::GetSparseData ( int  etypenum,
int  local_id 
) const
inlineprotected

Definition at line 252 of file inmost_data.h.

__INLINE sparse_sub_type& INMOST::TagManager::GetSparseData ( int  etypenum,
int  local_id 
)
inlineprotected

Definition at line 253 of file inmost_data.h.

Tag INMOST::TagManager::GetTag ( std::string  name) const
bool INMOST::TagManager::HaveTag ( std::string  name) const
void INMOST::TagManager::ListTagNames ( std::vector< std::string > &  list) const
TagManager& INMOST::TagManager::operator= ( TagManager const &  other)
protected
void INMOST::TagManager::ReallocateData ( const Tag t,
INMOST_DATA_INTEGER_TYPE  etypenum,
INMOST_DATA_ENUM_TYPE  new_size 
)
protected
void INMOST::TagManager::ReallocateData ( INMOST_DATA_INTEGER_TYPE  etypenum,
INMOST_DATA_ENUM_TYPE  new_size 
)
protected

Member Data Documentation

back_links_type INMOST::TagManager::back_links[NUM_ELEMENT_TYPS]
protected

Definition at line 266 of file inmost_data.h.

dense_data_array_type INMOST::TagManager::dense_data
protected

Definition at line 264 of file inmost_data.h.

empty_data INMOST::TagManager::empty_dense_data
protected

Definition at line 263 of file inmost_data.h.

sparse_data_array_type INMOST::TagManager::sparse_data[NUM_ELEMENT_TYPS]
protected

Definition at line 265 of file inmost_data.h.

tag_array_type INMOST::TagManager::tags
protected

Definition at line 262 of file inmost_data.h.


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