library of assembled shared sources

http://lass.cocamware.com

lass::util::ArrayStorage< T, Cascade > Class Template Reference
[Smart Pointers]

Default storage policy for arrays, implementation of StoragePolicy concept. More...

#include <smart_ptr_policies.h>

Inheritance diagram for lass::util::ArrayStorage< T, Cascade >:

Inheritance graph
[legend]
Collaboration diagram for lass::util::ArrayStorage< T, Cascade >:

Collaboration graph
[legend]

Public Types

typedef ArrayStorage< T, CascadeTSelf
typedef T * TStorage
typedef T * TPointer
typedef T & TReference

Public Member Functions

TStoragestorage ()
const TStoragestorage () const

Protected Member Functions

 ArrayStorage ()
 ArrayStorage (T *pointee)
 ArrayStorage (const TSelf &other)
template<typename U >
 ArrayStorage (const ArrayStorage< U, Cascade > &other)
TPointer pointer () const
TReference at (size_t index) const
void dispose ()
bool isNull () const
void swap (TSelf &other)

Static Protected Member Functions

static TStorage defaultStorage ()

Private Attributes

TStorage storage_

Detailed Description

template<typename T, typename Cascade = meta::EmptyType>
class lass::util::ArrayStorage< T, Cascade >

Default storage policy for arrays, implementation of StoragePolicy concept.

Author:
Bram de Greve [Bramz]
This policy is meant for simple arrays that are allocated in C++ by new[] or equivalent (i.e. stuff that should be deallocated by delete[] ). The storage type TStorage used for this policy simply is an ordinary pointer to that array (T*)/.

Definition at line 250 of file smart_ptr_policies.h.


Member Typedef Documentation

template<typename T , typename Cascade = meta::EmptyType>
typedef ArrayStorage<T, Cascade> lass::util::ArrayStorage< T, Cascade >::TSelf

Definition at line 254 of file smart_ptr_policies.h.

template<typename T , typename Cascade = meta::EmptyType>
typedef T* lass::util::ArrayStorage< T, Cascade >::TStorage

Definition at line 255 of file smart_ptr_policies.h.

template<typename T , typename Cascade = meta::EmptyType>
typedef T* lass::util::ArrayStorage< T, Cascade >::TPointer

Definition at line 256 of file smart_ptr_policies.h.

template<typename T , typename Cascade = meta::EmptyType>
typedef T& lass::util::ArrayStorage< T, Cascade >::TReference

Definition at line 257 of file smart_ptr_policies.h.


Constructor & Destructor Documentation

template<typename T , typename Cascade = meta::EmptyType>
lass::util::ArrayStorage< T, Cascade >::ArrayStorage (  )  [inline, protected]

Definition at line 264 of file smart_ptr_policies.h.

template<typename T , typename Cascade = meta::EmptyType>
lass::util::ArrayStorage< T, Cascade >::ArrayStorage ( T *  pointee  )  [inline, explicit, protected]

Definition at line 265 of file smart_ptr_policies.h.

template<typename T , typename Cascade = meta::EmptyType>
lass::util::ArrayStorage< T, Cascade >::ArrayStorage ( const TSelf other  )  [inline, protected]

Definition at line 266 of file smart_ptr_policies.h.

template<typename T , typename Cascade = meta::EmptyType>
template<typename U >
lass::util::ArrayStorage< T, Cascade >::ArrayStorage ( const ArrayStorage< U, Cascade > &  other  )  [inline, protected]

Definition at line 267 of file smart_ptr_policies.h.


Member Function Documentation

template<typename T , typename Cascade = meta::EmptyType>
TStorage& lass::util::ArrayStorage< T, Cascade >::storage (  )  [inline]

template<typename T , typename Cascade = meta::EmptyType>
const TStorage& lass::util::ArrayStorage< T, Cascade >::storage (  )  const [inline]

template<typename T , typename Cascade = meta::EmptyType>
TPointer lass::util::ArrayStorage< T, Cascade >::pointer (  )  const [inline, protected]

template<typename T , typename Cascade = meta::EmptyType>
TReference lass::util::ArrayStorage< T, Cascade >::at ( size_t  index  )  const [inline, protected]

template<typename T , typename Cascade = meta::EmptyType>
void lass::util::ArrayStorage< T, Cascade >::dispose (  )  [inline, protected]

template<typename T , typename Cascade = meta::EmptyType>
bool lass::util::ArrayStorage< T, Cascade >::isNull (  )  const [inline, protected]

template<typename T , typename Cascade = meta::EmptyType>
void lass::util::ArrayStorage< T, Cascade >::swap ( TSelf other  )  [inline, protected]

template<typename T , typename Cascade = meta::EmptyType>
static TStorage lass::util::ArrayStorage< T, Cascade >::defaultStorage (  )  [inline, static, protected]

Definition at line 281 of file smart_ptr_policies.h.


Field Documentation

template<typename T , typename Cascade = meta::EmptyType>
TStorage lass::util::ArrayStorage< T, Cascade >::storage_ [private]


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

Generated on Mon Nov 10 14:22:17 2008 for Library of Assembled Shared Sources by doxygen 1.5.7.1
SourceForge.net Logo