MADNESS 0.10.1
madness::detail::StackBase< T, true > Class Template Reference

Base class for Stack which implements basic memory operations for POD objects. More...

#include <stack.h>

Static Protected Member Functions

static void destroy (T *)
 Destroy a POD object (no op).
static void destroy (T *, T *)
 Destroy a range of POD objects (no op).
static void uninitialized_copy (T *first, T *last, T *dest)
 Copy a range of POD objects to an uninitialized buffer.
static void uninitialized_move (T *first, T *last, T *dest)
 Move a range of POD objects to an uninitialized buffer.

Detailed Description

template<typename T>
class madness::detail::StackBase< T, true >

Base class for Stack which implements basic memory operations for POD objects.

Template Parameters
TThe data type of the stack.

Member Function Documentation

◆ destroy() [1/2]

template<typename T>
void madness::detail::StackBase< T, true >::destroy ( T * )
inlinestaticprotected

Destroy a POD object (no op).

No need to destroy PODs.

◆ destroy() [2/2]

template<typename T>
void madness::detail::StackBase< T, true >::destroy ( T * ,
T *  )
inlinestaticprotected

Destroy a range of POD objects (no op).

No need to destroy PODs.

◆ uninitialized_copy()

template<typename T>
void madness::detail::StackBase< T, true >::uninitialized_copy ( T * first,
T * last,
T * dest )
inlinestaticprotected

Copy a range of POD objects to an uninitialized buffer.

Parameters
[in]firstThe beginning of the range to be copied.
[in]lastThe end of the range to be copied.
[in]destPointer to the uninitialized memory buffer.

◆ uninitialized_move()

template<typename T>
void madness::detail::StackBase< T, true >::uninitialized_move ( T * first,
T * last,
T * dest )
inlinestaticprotected

Move a range of POD objects to an uninitialized buffer.

Parameters
[in]firstThe beginning of the range to be moved.
[in]lastThe end of the range to be moved.
[in]destPointer to the uninitialized memory buffer.

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