moab
moab::serial_tag_data Struct Reference

List of all members.

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 511 of file WriteHDF5Parallel.cpp.


Member Function Documentation

static size_t moab::serial_tag_data::def_val_bytes ( int  def_val_len,
DataType  type 
) [inline, static]

Definition at line 526 of file WriteHDF5Parallel.cpp.

                                                                {
    switch (type) {
      case MB_TYPE_BIT:     return def_val_len ? 1 : 0;             break;
      case MB_TYPE_OPAQUE:  return def_val_len;                     break;
      case MB_TYPE_INTEGER: return def_val_len*sizeof(int);         break;
      case MB_TYPE_DOUBLE:  return def_val_len*sizeof(double);      break;
      case MB_TYPE_HANDLE:  return def_val_len*sizeof(EntityHandle);break;
    }
    return 0;
  }

Definition at line 541 of file WriteHDF5Parallel.cpp.

{ return def_val_len ? name + name_len : 0; }
const void* moab::serial_tag_data::default_value ( ) const [inline]

Definition at line 542 of file WriteHDF5Parallel.cpp.

{ return const_cast<serial_tag_data*>(this)->default_value(); }
static size_t moab::serial_tag_data::len ( int  name_len,
int  def_val_len,
DataType  type 
) [inline, static]

Definition at line 537 of file WriteHDF5Parallel.cpp.

                                                                    {
    return sizeof(serial_tag_data) + pad(name_len + def_val_bytes(def_val_len,type)) - sizeof(unsigned long);
  }
size_t moab::serial_tag_data::len ( ) const [inline]

Definition at line 540 of file WriteHDF5Parallel.cpp.

{ return len( name_len, def_val_len, type ); }
static size_t moab::serial_tag_data::pad ( size_t  len) [inline, static]

Definition at line 519 of file WriteHDF5Parallel.cpp.

                                  {
    if (len % sizeof(unsigned long))
      return len + sizeof(unsigned long) - len % sizeof(unsigned long);
    else
      return len;
  }
void moab::serial_tag_data::set_default_value ( const void *  val) [inline]

Definition at line 543 of file WriteHDF5Parallel.cpp.

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

Member Data Documentation

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

Definition at line 517 of file WriteHDF5Parallel.cpp.

Definition at line 514 of file WriteHDF5Parallel.cpp.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines