alloc.h
Go to the documentation of this file.
1 /***
2  * libccd
3  * ---------------------------------
4  * Copyright (c)2010 Daniel Fiser <danfis@danfis.cz>
5  *
6  *
7  * This file is part of libccd.
8  *
9  * Distributed under the OSI-approved BSD License (the "License");
10  * see accompanying file BDS-LICENSE for details or see
11  * <http://www.opensource.org/licenses/bsd-license.php>.
12  *
13  * This software is distributed WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15  * See the License for more information.
16  */
17 
18 #ifndef __CCD_ALLOC_H__
19 #define __CCD_ALLOC_H__
20 
21 #include <stdlib.h>
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif /* __cplusplus */
26 
31 /* Memory allocation: */
32 #define __CCD_ALLOC_MEMORY(type, ptr_old, size) \
33  (type *)realloc((void *)ptr_old, (size))
34 
36 #define CCD_ALLOC(type) \
37  __CCD_ALLOC_MEMORY(type, NULL, sizeof(type))
38 
40 #define CCD_ALLOC_ARR(type, num_elements) \
41  __CCD_ALLOC_MEMORY(type, NULL, sizeof(type) * (num_elements))
42 
43 #define CCD_REALLOC_ARR(ptr, type, num_elements) \
44  __CCD_ALLOC_MEMORY(type, ptr, sizeof(type) * (num_elements))
45 
46 #ifdef __cplusplus
47 } /* extern "C" */
48 #endif /* __cplusplus */
49 
50 #endif /* __CCD_ALLOC_H__ */


fcl
Author(s):
autogenerated on Tue Dec 5 2023 03:40:48