Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

TLDefaultOperators_Construct_PDT< T > Struct Template Reference

Constructor/assignment/destructor operator template for plain types. More...

#include <defop.h>

Inheritance diagram for TLDefaultOperators_Construct_PDT< T >:

Inheritance graph
[legend]
Collaboration diagram for TLDefaultOperators_Construct_PDT< T >:

Collaboration graph
[legend]
List of all members.

Static Public Member Functions

_constfn_ size_t size ()
 Return object size in bytes.

T & ass (T &l, T const &r)
 Assignment:.

_constfn_ void ini (T *)
 Construction and destruction operators.

void ini (T *p, T const &a)
_constfn_ void clr (T *)

Static Public Attributes

const bool pdt = 1

Detailed Description

template<typename T>
struct TLDefaultOperators_Construct_PDT< T >

Constructor/assignment/destructor operator template for plain types.

Author:
Wolfgang Wieser ] wwieser (a) gmx <*> de [
Can be used as base for combined operator classes.

Definition at line 169 of file defop.h.


Member Function Documentation

template<typename T>
T& TLDefaultOperators_Construct_PDT< T >::ass T &  l,
T const &  r
[inline, static]
 

Assignment:.

Definition at line 181 of file defop.h.

template<typename T>
_constfn_ void TLDefaultOperators_Construct_PDT< T >::clr T *   )  [inline, static]
 

Definition at line 204 of file defop.h.

template<typename T>
void TLDefaultOperators_Construct_PDT< T >::ini T *  p,
T const &  a
[inline, static]
 

Definition at line 203 of file defop.h.

template<typename T>
_constfn_ void TLDefaultOperators_Construct_PDT< T >::ini T *   )  [inline, static]
 

Construction and destruction operators.

For non-plain types (pdt==0), these define the constructor and destructor. These functions must be able to properly set up and destroy the passed object pointer which points to size() number of bytes allocated for the object. There are two ini() functions: one for the default constructor and one for the copy constructor.

Note:
For plain data types (pdt=1), there is no guarantee that ini() or clr() are called -- and there may even be the case that ini() is called for an element but not clr() or vice versa. This is because plain data types are assumed to be "plain", i.e. do not need construction/destruction which allows optimization to skip initailizing/cleanup loops. pdt=0 data types, however, are guaranteed to get ini() and clr() called properly.

Definition at line 202 of file defop.h.

template<typename T>
_constfn_ size_t TLDefaultOperators_Construct_PDT< T >::size  )  [inline, static]
 

Return object size in bytes.

Definition at line 177 of file defop.h.


Member Data Documentation

template<typename T>
const bool TLDefaultOperators_Construct_PDT< T >::pdt = 1 [static]
 

If this type (T) is a plain data type or not. Plain data types are all PODs and structures without constructor, destructor, virtual functions,...

Reimplemented in VM::NamespaceInfo::PtrListOperators< T >.

Definition at line 174 of file defop.h.


The documentation for this struct was generated from the following file:
Generated on Sat Feb 19 22:35:49 2005 for Ray by doxygen 1.3.5