Main Page Modules Namespaces C++ Classes Compound List File List Index
TNL: Object Management Trickery

# Object Management Trickery

## Detailed Description

These functions are to construct and destruct objects in memory without causing a free or malloc call to occur.

This is so that we don't have to worry about allocating, say, space for a hundred NetAddresses with a single malloc call, calling delete on a single NetAdress, and having it try to free memory out from under us.

## Functions

template<class T>
T * | TNL::constructInPlace (T *p)
| Constructs an object that already has memory allocated for it.
template<class T>
T * | TNL::constructInPlace (T *p, const T *copy)
| Copy constructs an object that already has memory allocated for it.
template<class T>
void | TNL::destructInPlace (T *p)
| Destructs an object without freeing the memory associated with it.

## Function Documentation

template<class T>

T* TNL::constructInPlace | ( | T * | p | ) | `[inline]`

Constructs an object that already has memory allocated for it.

template<class T>

T* TNL::constructInPlace | ( | T * | p,
|  | const T * | copy |
| ) |  |  | `[inline]`

Copy constructs an object that already has memory allocated for it.

template<class T>

void TNL::destructInPlace | ( | T * | p | ) | `[inline]`

Destructs an object without freeing the memory associated with it.