15 #ifndef RCUTILS__ALLOCATOR_H_    16 #define RCUTILS__ALLOCATOR_H_    47   void * (*allocate)(
size_t size, 
void * 
state);
    62   void * (*reallocate)(
void * pointer, 
size_t size, 
void * 
state);
    65   void * (*zero_allocate)(
size_t number_of_elements, 
size_t size_of_element, 
void * 
state);
   111 #define RCUTILS_CHECK_ALLOCATOR(allocator, fail_statement) \   112   if (!rcutils_allocator_is_valid(allocator)) { \   116 #define RCUTILS_CHECK_ALLOCATOR_WITH_MSG(allocator, msg, fail_statement) \   117   if (!rcutils_allocator_is_valid(allocator)) { \   118     RCUTILS_SET_ERROR_MSG(msg, rcutils_get_default_allocator()) \   136 #endif  // RCUTILS__ALLOCATOR_H_ bool rcutils_allocator_is_valid(const rcutils_allocator_t *allocator)
Return true if the given allocator has non-null function pointers. 
rcutils_allocator_t rcutils_get_zero_initialized_allocator(void)
Return a zero initialized allocator. 
void * state
Implementation defined state storage. 
Definition: allocator.h:68
void * rcutils_reallocf(void *pointer, size_t size, rcutils_allocator_t *allocator)
Emulate the behavior of reallocf. 
Encapsulation of an allocator. 
Definition: allocator.h:43
rcutils_allocator_t rcutils_get_default_allocator(void)
Return a properly initialized rcutils_allocator_t with default values. 
#define RCUTILS_WARN_UNUSED
Definition: macros.h:24
#define RCUTILS_PUBLIC
Definition: visibility_control.h:48
struct rcutils_allocator_t rcutils_allocator_t
Encapsulation of an allocator. 
void(* deallocate)(void *pointer, void *state)
Deallocate previously allocated memory, mimicking std::free(). 
Definition: allocator.h:50