| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DayaBay::UserData Class Reference

Base Class for user-defined data. More...

#include <UserData.h>

Inheritance diagram for DayaBay::UserData:

[legend]
List of all members.

Public Types

 Unknown = 0
 Float = 1
 FloatArray = 2
 Int = 3
 IntArray = 4
enum  DataType {
  Unknown = 0, Float = 1, FloatArray = 2, Int = 3,
  IntArray = 4
}
 The type of the user-defined data (float, int, vector, etc). More...

Public Member Functions

 UserData (const std::string &name)
 standard constructor
 UserData ()
 Default Constructor.
virtual ~UserData ()
 Default Destructor.
virtual std::ostream & fillStream (std::ostream &s) const
 Fill the ASCII output stream.
virtual UserData::DataType type () const
 Type of this user data field.
const std::string & name () const
 Retrieve const Name of this user data field.
void setName (const std::string &value)
 Update Name of this user data field.

Static Public Member Functions

static void * operator new (size_t size)
 operator new
static void * operator new (size_t size, void *pObj)
 placement operator new it is needed by libstdc++ 3.2.3 (e.g.
static void operator delete (void *p)
 operator delete
static void operator delete (void *p, void *pObj)
 placement operator delete not sure if really needed, but it does not harm

Private Attributes

std::string m_name
 Name of this user data field.

Detailed Description

Base Class for user-defined data.

Author:
dandwyer@caltech.edu created Mon Apr 11 03:30:17 2011

Definition at line 42 of file UserData.h.


Member Enumeration Documentation

enum DayaBay::UserData::DataType

The type of the user-defined data (float, int, vector, etc).

Enumerator:
Unknown 
Float 
FloatArray 
Int 
IntArray 

Definition at line 47 of file UserData.h.

00047                  { Unknown = 0,    // Undefined, indicates error
00048                    Float = 1,      // Floating-point value
00049                    FloatArray = 2, // Array of floating-point values
00050                    Int = 3,        // Integer value
00051                    IntArray = 4    // Array of integer values
00052       };


Constructor & Destructor Documentation

DayaBay::UserData::UserData ( const std::string &  name  )  [inline]

standard constructor

Definition at line 55 of file UserData.h.

00055 : m_name(name) {}

DayaBay::UserData::UserData (  )  [inline]

Default Constructor.

Definition at line 58 of file UserData.h.

00058 : m_name() {}

DayaBay::UserData::~UserData (  )  [virtual]

Default Destructor.

Definition at line 7 of file UserData.cc.

00008 {
00009   ;  
00010 }


Member Function Documentation

std::ostream & DayaBay::UserData::fillStream ( std::ostream &  s  )  const [inline, virtual]

Fill the ASCII output stream.

Reimplemented in DayaBay::UserFloat, DayaBay::UserFloatArray, DayaBay::UserInt, and DayaBay::UserIntArray.

Definition at line 143 of file UserData.h.

00144 {
00145   s << "{ " << "name :  " << m_name << std::endl << " }";
00146   return s;
00147 }

DayaBay::UserData::DataType DayaBay::UserData::type (  )  const [inline, virtual]

Type of this user data field.

Reimplemented in DayaBay::UserFloat, DayaBay::UserFloatArray, DayaBay::UserInt, and DayaBay::UserIntArray.

Definition at line 160 of file UserData.h.

00161 {
00162 return DayaBay::UserData::Unknown;
00163 }

const std::string & DayaBay::UserData::name (  )  const [inline]

Retrieve const Name of this user data field.

Definition at line 150 of file UserData.h.

00151 {
00152   return m_name;
00153 }

void DayaBay::UserData::setName ( const std::string &  value  )  [inline]

Update Name of this user data field.

Definition at line 155 of file UserData.h.

00156 {
00157   m_name = value;
00158 }

static void* DayaBay::UserData::operator new ( size_t  size  )  [inline, static]

operator new

Reimplemented in DayaBay::UserFloat, DayaBay::UserFloatArray, DayaBay::UserInt, and DayaBay::UserIntArray.

Definition at line 80 of file UserData.h.

00081     {
00082       return ( sizeof(UserData) == size ? 
00083                boost::singleton_pool<UserData, sizeof(UserData)>::malloc() :
00084                ::operator new(size) );
00085     }

static void* DayaBay::UserData::operator new ( size_t  size,
void *  pObj 
) [inline, static]

placement operator new it is needed by libstdc++ 3.2.3 (e.g.

in std::vector) it is not needed in libstdc++ >= 3.4

Reimplemented in DayaBay::UserFloat, DayaBay::UserFloatArray, DayaBay::UserInt, and DayaBay::UserIntArray.

Definition at line 90 of file UserData.h.

00091     {
00092       return ::operator new (size,pObj);
00093     }

static void DayaBay::UserData::operator delete ( void *  p  )  [inline, static]

operator delete

Reimplemented in DayaBay::UserFloat, DayaBay::UserFloatArray, DayaBay::UserInt, and DayaBay::UserIntArray.

Definition at line 96 of file UserData.h.

00097     {
00098       boost::singleton_pool<UserData, sizeof(UserData)>::is_from(p) ?
00099       boost::singleton_pool<UserData, sizeof(UserData)>::free(p) :
00100       ::operator delete(p);
00101     }

static void DayaBay::UserData::operator delete ( void *  p,
void *  pObj 
) [inline, static]

placement operator delete not sure if really needed, but it does not harm

Reimplemented in DayaBay::UserFloat, DayaBay::UserFloatArray, DayaBay::UserInt, and DayaBay::UserIntArray.

Definition at line 105 of file UserData.h.

00106     {
00107       ::operator delete (p, pObj);
00108     }


Member Data Documentation

std::string DayaBay::UserData::m_name [private]

Name of this user data field.

Definition at line 114 of file UserData.h.


The documentation for this class was generated from the following files:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:19:30 2011 for UserData by doxygen 1.4.7