Mesh Oriented datABase  (version 5.5.0)
An array-based unstructured mesh library
moab::serial_tag_data Struct Reference

Public Member Functions

size_t len () const
 
void * default_value ()
 
const void * default_value () const
 
void set_default_value (const void *val)
 

Static Public Member Functions

static size_t pad (size_t len)
 
static size_t def_val_bytes (int def_val_len, DataType type)
 
static size_t len (int name_len, int def_val_len, DataType type)
 

Public Attributes

TagType storage
 
DataType type
 
int size
 
int name_len
 
int def_val_len
 
char name [sizeof(unsigned long)]
 

Detailed Description

Definition at line 524 of file WriteHDF5Parallel.cpp.

Member Function Documentation

◆ def_val_bytes()

static size_t moab::serial_tag_data::def_val_bytes ( int  def_val_len,
DataType  type 
)
inlinestatic

Definition at line 541 of file WriteHDF5Parallel.cpp.

542  {
543  switch( type )
544  {
545  case MB_TYPE_BIT:
546  return def_val_len ? 1 : 0;
547  case MB_TYPE_OPAQUE:
548  return def_val_len;
549  case MB_TYPE_INTEGER:
550  return def_val_len * sizeof( int );
551  case MB_TYPE_DOUBLE:
552  return def_val_len * sizeof( double );
553  case MB_TYPE_HANDLE:
554  return def_val_len * sizeof( EntityHandle );
555  }
556  return 0;
557  }

References def_val_len, MB_TYPE_BIT, MB_TYPE_DOUBLE, MB_TYPE_HANDLE, MB_TYPE_INTEGER, MB_TYPE_OPAQUE, and type.

Referenced by len(), and set_default_value().

◆ default_value() [1/2]

void* moab::serial_tag_data::default_value ( )
inline

Definition at line 568 of file WriteHDF5Parallel.cpp.

569  {
570  return def_val_len ? name + name_len : 0;
571  }

References def_val_len, name, and name_len.

Referenced by moab::WriteHDF5Parallel::check_serial_tag_data(), default_value(), and set_default_value().

◆ default_value() [2/2]

const void* moab::serial_tag_data::default_value ( ) const
inline

Definition at line 572 of file WriteHDF5Parallel.cpp.

573  {
574  return const_cast< serial_tag_data* >( this )->default_value();
575  }

References default_value().

◆ len() [1/2]

size_t moab::serial_tag_data::len ( ) const
inline

Definition at line 564 of file WriteHDF5Parallel.cpp.

565  {
566  return len( name_len, def_val_len, type );
567  }

References def_val_len, name_len, and type.

Referenced by moab::WriteHDF5Parallel::append_serial_tag_data(), and pad().

◆ len() [2/2]

static size_t moab::serial_tag_data::len ( int  name_len,
int  def_val_len,
DataType  type 
)
inlinestatic

Definition at line 559 of file WriteHDF5Parallel.cpp.

560  {
561  return sizeof( serial_tag_data ) + pad( name_len + def_val_bytes( def_val_len, type ) ) -
562  sizeof( unsigned long );
563  }

References def_val_bytes(), def_val_len, name_len, pad(), and type.

Referenced by moab::WriteHDF5Parallel::check_serial_tag_data().

◆ pad()

static size_t moab::serial_tag_data::pad ( size_t  len)
inlinestatic

Definition at line 533 of file WriteHDF5Parallel.cpp.

534  {
535  if( len % sizeof( unsigned long ) )
536  return len + sizeof( unsigned long ) - len % sizeof( unsigned long );
537  else
538  return len;
539  }

References len().

Referenced by len().

◆ set_default_value()

void moab::serial_tag_data::set_default_value ( const void *  val)
inline

Definition at line 576 of file WriteHDF5Parallel.cpp.

577  {
578  memcpy( default_value(), val, def_val_bytes( def_val_len, type ) );
579  }

References def_val_bytes(), def_val_len, default_value(), and type.

Referenced by moab::WriteHDF5Parallel::append_serial_tag_data().

Member Data Documentation

◆ def_val_len

◆ name

char moab::serial_tag_data::name[sizeof(unsigned long)]

◆ name_len

int moab::serial_tag_data::name_len

◆ size

int moab::serial_tag_data::size

◆ storage

◆ type


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