MDSTk Libraries  1.1.0
Medical Data Segmentation Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
mds::base::CSmallObject< C, M, A > Class Template Reference

Base class for polymorphic small objects providing fast allocations and deallocations. More...

#include <mdsSmallObject.h>

Inheritance diagram for mds::base::CSmallObject< C, M, A >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef CLibraryLockableClass
< CSmallObjectBase< C, M, A >
>::CLock 
tLock
 Lock type.

Public Member Functions

virtual ~CSmallObject ()
 Virtual destructor.

Static Public Member Functions

static void lock ()
 Locks the object.
static void operator delete (void *p, std::size_t Size)
 Deallocates small object.
static void operator delete (void *p, void *pPlace)
 Placement single-object delete merely calls global placement delete.
static void operator delete[] (void *p, std::size_t Size)
 Deallocates array-object.
static void operator delete[] (void *p, void *pPlace)
 Placement array-object delete merely calls global placement delete.
static void * operator new (std::size_t Size)
 Allocates a small object.
static void * operator new (std::size_t Size, void *pPlace)
 Placement single-object new merely calls global placement new.
static void * operator new[] (std::size_t Size)
 Allocates array-object.
static void * operator new[] (std::size_t Size, void *pPlace)
 Placement array-object new merely calls global placement new.
static void unlock ()
 Locks the object.

Protected Member Functions

 CSmallObject ()
 Protected default constructor.
 CSmallObject (const CSmallObject &)
 Copy-constructor.
CSmallObjectoperator= (const CSmallObject &)
 Assignment operator.

Detailed Description

template<tSize C = smallobj::DEFAULT_CHUNK_SIZE, tSize M = smallobj::DEFAULT_MAX_OBJECT_SIZE, tSize A = smallobj::DEFAULT_OBJECT_ALIGNMENT>
class mds::base::CSmallObject< C, M, A >

Base class for polymorphic small objects providing fast allocations and deallocations.


Member Typedef Documentation

template<tSize C, tSize M, tSize A>
typedef CLibraryLockableClass<CSmallObjectBase<C,M,A> >::CLock mds::base::CSmallObjectBase< C, M, A >::tLock [inherited]

Lock type.


Constructor & Destructor Documentation

template<tSize C = smallobj::DEFAULT_CHUNK_SIZE, tSize M = smallobj::DEFAULT_MAX_OBJECT_SIZE, tSize A = smallobj::DEFAULT_OBJECT_ALIGNMENT>
virtual mds::base::CSmallObject< C, M, A >::~CSmallObject ( ) [virtual]

Virtual destructor.

template<tSize C = smallobj::DEFAULT_CHUNK_SIZE, tSize M = smallobj::DEFAULT_MAX_OBJECT_SIZE, tSize A = smallobj::DEFAULT_OBJECT_ALIGNMENT>
mds::base::CSmallObject< C, M, A >::CSmallObject ( ) [protected]

Protected default constructor.

template<tSize C = smallobj::DEFAULT_CHUNK_SIZE, tSize M = smallobj::DEFAULT_MAX_OBJECT_SIZE, tSize A = smallobj::DEFAULT_OBJECT_ALIGNMENT>
mds::base::CSmallObject< C, M, A >::CSmallObject ( const CSmallObject< C, M, A > &  ) [protected]

Copy-constructor.


Member Function Documentation

static void mds::base::CLockableClass< CSmallObjectBase< C, M, A > >::lock ( ) [static, inherited]

Locks the object.

template<tSize C, tSize M, tSize A>
static void mds::base::CSmallObjectBase< C, M, A >::operator delete ( void *  p,
std::size_t  Size 
) [static, inherited]

Deallocates small object.

template<tSize C, tSize M, tSize A>
static void mds::base::CSmallObjectBase< C, M, A >::operator delete ( void *  p,
void *  pPlace 
) [static, inherited]

Placement single-object delete merely calls global placement delete.

template<tSize C, tSize M, tSize A>
static void mds::base::CSmallObjectBase< C, M, A >::operator delete[] ( void *  p,
std::size_t  Size 
) [static, inherited]

Deallocates array-object.

template<tSize C, tSize M, tSize A>
static void mds::base::CSmallObjectBase< C, M, A >::operator delete[] ( void *  p,
void *  pPlace 
) [static, inherited]

Placement array-object delete merely calls global placement delete.

template<tSize C, tSize M, tSize A>
static void* mds::base::CSmallObjectBase< C, M, A >::operator new ( std::size_t  Size) [static, inherited]

Allocates a small object.

template<tSize C, tSize M, tSize A>
static void* mds::base::CSmallObjectBase< C, M, A >::operator new ( std::size_t  Size,
void *  pPlace 
) [static, inherited]

Placement single-object new merely calls global placement new.

template<tSize C, tSize M, tSize A>
static void* mds::base::CSmallObjectBase< C, M, A >::operator new[] ( std::size_t  Size) [static, inherited]

Allocates array-object.

template<tSize C, tSize M, tSize A>
static void* mds::base::CSmallObjectBase< C, M, A >::operator new[] ( std::size_t  Size,
void *  pPlace 
) [static, inherited]

Placement array-object new merely calls global placement new.

template<tSize C = smallobj::DEFAULT_CHUNK_SIZE, tSize M = smallobj::DEFAULT_MAX_OBJECT_SIZE, tSize A = smallobj::DEFAULT_OBJECT_ALIGNMENT>
CSmallObject& mds::base::CSmallObject< C, M, A >::operator= ( const CSmallObject< C, M, A > &  ) [protected]

Assignment operator.

static void mds::base::CLockableClass< CSmallObjectBase< C, M, A > >::unlock ( ) [static, inherited]

Locks the object.


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