
/**
 @page convert_07_to_10 Converting Memory Allocation Calls from Trick 07

@anchor ip_alloc_type
@section convert_ip_alloc Converting ip_alloc calls
  
   In Trick 07, ip_alloc is a macro defined in exec_proto.h as:

   \code #define ip_alloc(NUM, SIZE) ip_alloc_type(NUM, SIZE, NULL, NULL) \endcode

   This macro allocates memory without any type information.

   \attention Allocating non-typed memory is NOT ALLOWED in Trick 10.

   Lets suppose that in your Trick 07 sim, it was your intention to allocate 10 characters (type char), for example:

       \code char* A = (char*)ip_alloc(10, sizeof(char)); \endcode

   In Trick 10 you have several choices.

   If you'd like the use the "C" Memory Mananger Interface, you'll need to 

       \code #include "memorymanager_c_intf.h" \endcode

       Then you can replace the ip_alloc call with either:

       - \code char* A = (char*)TMM_declare_var_s("char[10]"); \endcode
or
       - \code char* A = (char*)TMM_declare_var_1d("char", 10); \endcode

   If instead you'd like to use the C++ interface:

       \code extern Trick::MemoryManager* trick_MM; \endcode

       Then you can replace the ip_alloc call with either:

       - \code char* A = (char*)trick_MM->declare_var("char[10]"); \endcode
or 
       - \code char* A = (char*)trick_MM->declare_var("char", 10); \endcode

@anchor ip_alloc_type
@section convert_ip_alloc_type Converting ip_alloc_type calls

 In Trick 10: use one of the three versions of Trick::MemoryManager::declare_var.
 See @subpage examples_declare_var "Examples of declare_var".

 Or, alternatively use the C interfaces:
 - TMM_declare_var (Most general form, where each part of a declaration is in a separate parameter).
 - TMM_declare_var_1d (Convenience version for creating a 1 dimensional array.)
 - TMM_declare_var_s (Convenience version for creating using variable using a declaration string.)

@anchor ip_alloc_user_type
@section convert_ip_alloc_user_type Converting ip_alloc_user_type calls

 In Trick 10: use one of the three versions of Trick::MemoryManager::declare_ext_var.

 Or, alternatively use the C interfaces:
 - TMM_declare_ext_var (Most general form, where each part of a declaration is in a separate parameter).
 - TMM_declare_ext_var_1d (Convenience version for declaring an external 1 dimensional array.)
 - TMM_declare_ext_var_s (Convenience version for declaring an external variable using a declaration string.)

@anchor ip_realloc
@section convert_ip_realloc Converting ip_realloc calls

 In Trick 10, use Trick::MemoryManager::resize_array.

 Or, alternatively use the C interfaces:
 - TMM_resize_array_a (Resize array by address reference.) 
 - TMM_resize_array_n (Resize array by name reference.)
 - TMM_resize_array_1d_a (Resize one dimensional array by address reference).
 - TMM_resize_array_1d_n(Resize one dimensional array by name reference)

@anchor ip_strdup
@section convert_ip_strdup Converting ip_strdup calls

 In Trick 10, use Trick::MemoryManager::mm_strdup.

@anchor get_size
@section convert_get_size Converting get_size calls

 In Trick 10, use Trick::MemoryManager::get_size.

@anchor ip_is_alloced
@section convert_ip_is_alloced Converting ip_is_alloced calls

 In Trick 10, use Trick::MemoryManager::is_alloced.

@anchor ip_destruct
@section convert_ip_destruct Converting ip_destruct calls

 In Trick 10, use:

 - Trick::MemoryManager::delete_var
 or
 - Trick::MemoryManager::delete_extern_var.

@anchor ip_free
@section convert_ip_free Converting ip_free_debug and ip_free_multi_dim_array calls

 In Trick 10, use:

 - Trick::MemoryManager::delete_var
 or
 - Trick::MemoryManager::delete_extern_var.

*/


