ComSDK
|
Модуль предоставляет средства для выделенения и освобождения памяти, инициализации и копирования различных структур данных, используемых в приложениях фреймворка. Подробнее...
Классы | |
class | com::mem::fnc_Deleter< DataType > |
Функциональный класс для освобождения памяти Подробнее... | |
class | com::mem::cls_oneDimArray< DATATYPE > |
Класс одномерного массива Подробнее... | |
class | com::mem::cls_twoDimArray< DATATYPE > |
Класс двухмерного массива Подробнее... | |
Макросы | |
#define | MAC_MEMRELEASE(A) {if (A!=NULL) delete A; A = NULL;} |
#define | MAC_ARRRELEASE(A) {if (A!=NULL) delete[] A; A = NULL;} |
#define | MEM_NULL_INIT_VALUE 111 |
#define | MEM_NULL_INIT_ARRAY 112 |
Перечисления | |
enum | com::mem::enu_MultiDimArrayType { com::mem::mdaNotInitialized, com::mem::mdaValue, com::mem::mdaIdentity, com::mem::mdaArray } |
Набор параметров, определяющих как нужно инициализировать многомерный массив. Подробнее... | |
Функции | |
void | com::mem::fnc_Deleter< DataType >::operator() (DataType *p_data) |
template<class T > | |
void | com::mem::tmp_ReleaseList (std::list< T * > *&o_list) |
template<class T > | |
void | com::mem::tmp_ReInitList (std::list< T > *&o_list) |
template<class T > | |
void | com::mem::tmp_ReInitPtrList (std::list< T * > *&v_list) |
template<class T > | |
void | com::mem::tmp_ReleaseTree (tree< T * > *&o_tree) |
template<class T > | |
void | com::mem::tmp_CopyList (std::list< T * > &o_dest, std::list< T * > &p_source) |
template<typename DataType > | |
void | com::mem::copyTwoDimArray (DataType **o_res, DataType **const p_orig, int p_rows, int p_cols) |
template<class T > | |
int | com::mem::tmp_reinitOneDimArray (T *&o_array, bool p_createNew, int p_dim, enu_MultiDimArrayType p_init_type, T *p_init_value) |
template<class T > | |
int | com::mem::tmp_reinitOneDimArray (T *&out, bool p_createNew, int p_dim, const T &p_init_value=T(0)) |
template<class T > | |
int | com::mem::tmp_reinitTwoDimArray (T **&o_array, bool p_create_new, int p_rows, int p_cols, enu_MultiDimArrayType p_init_type, T **p_init_value) |
template<class T > | |
int | com::mem::tmp_reinitTwoDimArray (T **&p_out, bool p_createNew, int p_rows, int p_cols, const T &p_init_value=T(0)) |
template<class T > | |
T * | com::mem::createOneDimArray (int p_dim, enu_MultiDimArrayType p_init_type, T *p_init_array=NULL) |
template<class T > | |
T ** | com::mem::createTwoDimArray (int p_rows, int p_cols, enu_MultiDimArrayType p_init_type, T **p_init_value=NULL) |
template<class T > | |
int | com::mem::tmp_reinitThreeDimArray (T ***&o_array, bool p_create_new, int p_dim1, int p_dim2, int p_dim3, enu_MultiDimArrayType p_init_type, T ***p_init_value) |
template<class T > | |
int | com::mem::tmp_reinitThreeDimArray (T ***&o_out, bool p_create_new, int p_dim1, int p_dim2, int p_dim3, const T &p_init_value=T(0)) |
template<class T > | |
T *** | com::mem::createThreeDimArray (int p_dim1, int p_dim2, int p_dim3, const T &p_init_value=T(0)) |
template<class T > | |
T *** | com::mem::createThreeDimArray (int p_dim1, int p_dim2, int p_dim3, enu_MultiDimArrayType p_init_type, T ***p_init_value=NULL) |
template<class T > | |
T * | com::mem::createOneDimArray (int p_dim, const T &p_init_value=T(0)) |
template<class T > | |
T ** | com::mem::createTwoDimArray (int p_rows, int p_cols, const T &p_init_value=T(0)) |
template<class T > | |
void | com::mem::freeTwoDimArray (T **&o_ptr, int p_rows) |
template<class T > | |
void | com::mem::freeThreeDimArray (T ***o_ptr, int p_dim1, int p_dim2) |
com::mem::cls_oneDimArray< DATATYPE >::cls_oneDimArray (int p_dim1) | |
DATATYPE * | com::mem::cls_oneDimArray< DATATYPE >::data () |
com::mem::cls_twoDimArray< DATATYPE >::cls_twoDimArray (int p_dim1, int p_dim2) | |
DATATYPE ** | com::mem::cls_twoDimArray< DATATYPE >::data () |
Модуль предоставляет средства для выделенения и освобождения памяти, инициализации и копирования различных структур данных, используемых в приложениях фреймворка.
#define MAC_ARRRELEASE | ( | A | ) | {if (A!=NULL) delete[] A; A = NULL;} |
Макрос для освобождения выделенной памяти под массив с обнулением указателя
#define MAC_MEMRELEASE | ( | A | ) | {if (A!=NULL) delete A; A = NULL;} |
Макрос для освобождения выделенной памяти с обнулением указателя
Набор параметров, определяющих как нужно инициализировать многомерный массив.
void com::mem::copyTwoDimArray | ( | DataType ** | o_res, |
DataType **const | p_orig, | ||
int | p_rows, | ||
int | p_cols | ||
) |
Копирует данные из одного двухмерного массива в другой
[out] | o_res | Указатель на результирующий массив |
[in] | p_orig | Указатель на исходный массив |
[in] | p_rows | Количество строк |
[in] | p_cols | Количество столбцов |
T* com::mem::createOneDimArray | ( | int | p_dim, |
enu_MultiDimArrayType | p_init_type, | ||
T * | p_init_array = NULL |
||
) |
Создает одномерный массив
[out] | o_out | Указатель на массив |
[in] | p_dim | Размер массива |
[in] | p_init_type | Тип инициализации |
[in] | p_init_array | Указатель на массив инициализации |
T* com::mem::createOneDimArray | ( | int | p_dim, |
const T & | p_init_value = T(0) |
||
) |
Создает одномерный массив, инициализируемый указанным значением
[in] | p_dim | Размер массива |
[in] | p_init_array | Значение для инициализации |
T*** com::mem::createThreeDimArray | ( | int | p_dim1, |
int | p_dim2, | ||
int | p_dim3, | ||
const T & | p_init_value = T(0) |
||
) |
Создает трехмерный массив, инициализируемый указанным значением
[in] | p_dim1 | Размер массива по первой координате |
[in] | p_dim2 | Размер массива по второй координате |
[in] | p_dim3 | Размер массива по третьей координате |
[in] | p_init_value | Значение для инциализации |
T*** com::mem::createThreeDimArray | ( | int | p_dim1, |
int | p_dim2, | ||
int | p_dim3, | ||
enu_MultiDimArrayType | p_init_type, | ||
T *** | p_init_value = NULL |
||
) |
Создает трехмерный массив
[in] | p_dim1 | Размер массива по первой координате |
[in] | p_dim2 | Размер массива по второй координате |
[in] | p_dim3 | Размер массива по третьей координате |
[in] | p_init_type | Тип инициализации |
[in] | p_init_value | Указатель на значение для инциализации |
T** com::mem::createTwoDimArray | ( | int | p_rows, |
int | p_cols, | ||
enu_MultiDimArrayType | p_init_type, | ||
T ** | p_init_value = NULL |
||
) |
Создает двухмерный массив
[in] | p_rows | Количество строк |
[in] | p_cols | Количество столбцов |
[in] | p_init_type | Тип инициализации |
[in] | p_init_value | Значение для инциализации |
T** com::mem::createTwoDimArray | ( | int | p_rows, |
int | p_cols, | ||
const T & | p_init_value = T(0) |
||
) |
Создает двухмерный массив, инициализируемый указанным значением
[in] | p_rows | Количество строк |
[in] | p_cols | Количество столбцов |
[in] | p_init_array | Значение для инициализации |
void com::mem::freeThreeDimArray | ( | T *** | o_ptr, |
int | p_dim1, | ||
int | p_dim2 | ||
) |
Освобождает память, занятую трехмерным массивом
[in,out] | o_ptr | Трехмерный массив |
[in] | p_dim1 | Размер массива по первой координате |
[in] | p_dim2 | Размер массива по второй координате |
void com::mem::freeTwoDimArray | ( | T **& | o_ptr, |
int | p_rows | ||
) |
Освобождает память, занятую двухмерным массивом
[in,out] | o_ptr | Двухмерный массив |
[in] | p_rows | Количество строк |
void com::mem::tmp_CopyList | ( | std::list< T * > & | o_dest, |
std::list< T * > & | p_source | ||
) |
Копирование std::list Освобождает память, занятую tree и всеми его элементами
[out] | o_dest | Указатель на std::list, в который будет скопирована информация |
[in] | p_source | Указатель на исходный std::list |
void com::mem::tmp_ReInitList | ( | std::list< T > *& | o_list | ) |
Реинициализирует std::list (удаляет старый и создает новый)
[in,out] | o_list | Указатель на std::list |
int com::mem::tmp_reinitOneDimArray | ( | T *& | o_array, |
bool | p_createNew, | ||
int | p_dim, | ||
enu_MultiDimArrayType | p_init_type, | ||
T * | p_init_value | ||
) |
Реинициализирует одномерный массив
[out] | o_array | Указатель на массив |
[in] | p_createNew | Создать ли новый массив или работать с исходным |
[in] | p_dim | Размер массива |
[in] | p_init_type | Тип инициализации |
[in] | p_init_value | Значение для инциализации |
int com::mem::tmp_reinitOneDimArray | ( | T *& | out, |
bool | p_createNew, | ||
int | p_dim, | ||
const T & | p_init_value = T(0) |
||
) |
Реинициализирует одномерный массив указанным значением
[out] | o_out | Указатель на массив |
[in] | p_createNew | Создать ли новый массив или работать с исходным |
[in] | p_dim | Размер массива |
[in] | p_init_value | Значение для инциализации |
void com::mem::tmp_ReInitPtrList | ( | std::list< T * > *& | v_list | ) |
Реинициализирует std::list указателей (удаляет старый вместе со всеми его элементами и создает новый)
[in,out] | o_list | Указатель на std::list |
int com::mem::tmp_reinitThreeDimArray | ( | T ***& | o_array, |
bool | p_create_new, | ||
int | p_dim1, | ||
int | p_dim2, | ||
int | p_dim3, | ||
enu_MultiDimArrayType | p_init_type, | ||
T *** | p_init_value | ||
) |
Реинициализирует трехмерный массив
[out] | o_array | Трехмерный массив |
[in] | p_create_new | Создать ли новый массив или работать с исходным |
[in] | p_dim1 | Размер массива по первой координате |
[in] | p_dim2 | Размер массива по второй координате |
[in] | p_dim3 | Размер массива по третьей координате |
[in] | p_init_type | Тип инициализации |
[in] | p_init_value | Указатель на значение для инциализации |
int com::mem::tmp_reinitThreeDimArray | ( | T ***& | o_out, |
bool | p_create_new, | ||
int | p_dim1, | ||
int | p_dim2, | ||
int | p_dim3, | ||
const T & | p_init_value = T(0) |
||
) |
Реинициализирует трехмерный массив указанным значением
[out] | o_out | Трехмерный массив |
[in] | p_create_new | Создать ли новый массив или работать с исходным |
[in] | p_dim1 | Размер массива по первой координате |
[in] | p_dim2 | Размер массива по второй координате |
[in] | p_dim3 | Размер массива по третьей координате |
[in] | p_init_type | Тип инициализации |
[in] | p_init_value | Значение для инциализации |
int com::mem::tmp_reinitTwoDimArray | ( | T **& | o_array, |
bool | p_create_new, | ||
int | p_rows, | ||
int | p_cols, | ||
enu_MultiDimArrayType | p_init_type, | ||
T ** | p_init_value | ||
) |
Реинициализирует двухмерный массив
[out] | o_array | Указатель на массив |
[in] | p_create_new | Создать ли новый массив или работать с исходным |
[in] | p_rows | Количество строк |
[in] | p_cols | Количество столбцов |
[in] | p_init_type | Тип инициализации |
[in] | p_init_value | Указатель на значение для инциализации |
int com::mem::tmp_reinitTwoDimArray | ( | T **& | p_out, |
bool | p_createNew, | ||
int | p_rows, | ||
int | p_cols, | ||
const T & | p_init_value = T(0) |
||
) |
Реинициализирует двухмерный массив заданным значением
[out] | o_out | Указатель на массив |
[in] | p_createNew | Создать ли новый массив или работать с исходным |
[in] | p_rows | Количество строк |
[in] | p_cols | Количество столбцов |
[in] | p_init_value | Значение для инциализации |
void com::mem::tmp_ReleaseList | ( | std::list< T * > *& | o_list | ) |
Освобождает память, занятую std::list и всеми его элементами (т.е. для std::list и всех его элементов будет оператор delete)
[in,out] | o_list | Указатель на std::list |
void com::mem::tmp_ReleaseTree | ( | tree< T * > *& | o_tree | ) |
Освобождает память, занятую tree и всеми его элементами
[in,out] | o_tree | Указатель на tree |