Protium
Math and Design Features
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Macros Pages
Protium::Allocation::SmallValueObject< ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy > Class Template Reference

Inherit from this in order to benefit from small object allocation. More...

#include <SmallObject.h>

Inheritance diagram for Protium::Allocation::SmallValueObject< ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy >:

Protected Member Functions

 SmallValueObject (void)
 
 SmallValueObject (const SmallValueObject &)
 
 ~SmallValueObject ()
 
SmallValueObjectoperator= (const SmallValueObject &)
 
- Protected Member Functions inherited from Protium::Allocation::SmallObjectBase< ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy >
 SmallObjectBase (void)
 
 SmallObjectBase (const SmallObjectBase &)
 
 ~SmallObjectBase ()
 
SmallObjectBaseoperator= (const SmallObjectBase &)
 

Additional Inherited Members

- Public Types inherited from Protium::Allocation::SmallObjectBase< ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy >
typedef
Protium::Allocation::SmallObjectAllocator
< ThreadingModel, chunkSize,
maxSmallObjectSize,
objectAlignSize,
LifetimePolicy > 
ObjAllocator
 Type of allocator to host the allocator singleton. More...
 
- Static Public Member Functions inherited from Protium::Allocation::SmallObjectBase< ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy >
static void operator delete (void *p, std::size_t size) throw ()
 
static void operator delete (void *p, const std::nothrow_t &) throw ()
 
static void operator delete (void *p, void *place)
 
static void operator delete[] (void *p, std::size_t size) throw ()
 
static void operator delete[] (void *p, const std::nothrow_t &) throw ()
 
static void operator delete[] (void *p, void *place)
 
static void * operator new (std::size_t size) throw ( std::bad_alloc )
 
static void * operator new (std::size_t size, const std::nothrow_t &) throw ()
 
static void * operator new (std::size_t size, void *place)
 
static void * operator new[] (std::size_t size) throw ( std::bad_alloc )
 
static void * operator new[] (std::size_t size, const std::nothrow_t &) throw ()
 
static void * operator new[] (std::size_t size, void *place)
 

Detailed Description

template<template< class, class > class ThreadingModel = Protium::Threads::InSingleThread, std::size_t chunkSize = 4096, std::size_t maxSmallObjectSize = 256, std::size_t objectAlignSize = 4, template< class > class LifetimePolicy = Protium::Singleton::DeleteLast, class MutexPolicy = Protium::Threads::Mutex>
class Protium::Allocation::SmallValueObject< ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy >

Inherit from this in order to benefit from small object allocation.

Base class for small objects less than 256 bytes in size. If object is a valueobject, use SmallValueObject instead.

Definition at line 158 of file SmallObject.h.

Constructor & Destructor Documentation

template<template< class, class > class ThreadingModel = Protium::Threads::InSingleThread, std::size_t chunkSize = 4096, std::size_t maxSmallObjectSize = 256, std::size_t objectAlignSize = 4, template< class > class LifetimePolicy = Protium::Singleton::DeleteLast, class MutexPolicy = Protium::Threads::Mutex>
Protium::Allocation::SmallValueObject< ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy >::SmallValueObject ( void  )
inlineprotected

Definition at line 162 of file SmallObject.h.

template<template< class, class > class ThreadingModel = Protium::Threads::InSingleThread, std::size_t chunkSize = 4096, std::size_t maxSmallObjectSize = 256, std::size_t objectAlignSize = 4, template< class > class LifetimePolicy = Protium::Singleton::DeleteLast, class MutexPolicy = Protium::Threads::Mutex>
Protium::Allocation::SmallValueObject< ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy >::SmallValueObject ( const SmallValueObject< ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy > &  )
inlineprotected

Definition at line 163 of file SmallObject.h.

template<template< class, class > class ThreadingModel = Protium::Threads::InSingleThread, std::size_t chunkSize = 4096, std::size_t maxSmallObjectSize = 256, std::size_t objectAlignSize = 4, template< class > class LifetimePolicy = Protium::Singleton::DeleteLast, class MutexPolicy = Protium::Threads::Mutex>
Protium::Allocation::SmallValueObject< ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy >::~SmallValueObject ( )
inlineprotected

Definition at line 166 of file SmallObject.h.

Member Function Documentation

template<template< class, class > class ThreadingModel = Protium::Threads::InSingleThread, std::size_t chunkSize = 4096, std::size_t maxSmallObjectSize = 256, std::size_t objectAlignSize = 4, template< class > class LifetimePolicy = Protium::Singleton::DeleteLast, class MutexPolicy = Protium::Threads::Mutex>
SmallValueObject& Protium::Allocation::SmallValueObject< ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy >::operator= ( const SmallValueObject< ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy > &  )
inlineprotected

Definition at line 164 of file SmallObject.h.