/**
@page LEVEL2 Trick Memory Manager

The Trick MemoryManager is a C++ Class that provides memory tracking,
allocation, checkpointing and various other memory-resource administration
services.  It is a "keeper of knowledge" about variables (chunks of memory).
It manages variables that a user has asked it to allocate as well as
user-allocated variables that the user tells it about.

Variables whose memory is allocated by the memory manager are called
\b TRICK_LOCAL variables. Those allocated by the user are \b TRICK_EXTERN
variables.  Variables can also optionally be named.

TRICK_LOCAL variables are declared using \b Trick::MemoryManager::declare_var.
This function allocates memory according to a user-provided declaration.
Information about the allocation, and it's declared type are retained.

TRICK_EXTERN variables are declared using: \b Trick::MemoryManager::declare_extern_var
This function stores information about a chunk of memory that the user
has allocated and has declared to be of a given type.

By tracking allocation and type information, the Memory Manager can, on
request, write  human-readable representations of memory resources to a
file.  To write the value(s) of a single variable to a file, use \b Trick::MemoryManager::write_var.
To write a checkpoint, consisting of declarations and values of all variables
 known to the memory manager, use \b Trick::MemoryManager::write_checkpoint.
These memory resources can later be restored from this checkpoint file using
\b Trick::MemoryManager::read_checkpoint or \b Trick::MemoryManager::init_from_checkpoint.

See Also:
- Trick::MemoryManager
- @subpage defsMemoryManager "Memory Manager Definitions"
- @subpage ADEF_Syntax "Allocation Declaration Syntax"
- @subpage examples_declare_var
- @subpage convert_07_to_10 
- @subpage placement_new_init
*/
