#include <mrpt/utils/utils_defs.h>

Go to the source code of this file.
Namespaces | |
| namespace | mrpt |
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. | |
| namespace | mrpt::system |
This namespace provides a OS-independent interface to many useful functions: filenames manipulation, time and date, string parsing, file I/O, threading, memory allocation, etc. | |
| namespace | mrpt::system::os |
This namespace provides a OS-independent interface to low-level functions. | |
Defines | |
| #define | mrpt_alloca(nBytes) ::malloc( nBytes ); |
| In platforms and compilers with support to "alloca", allocate a memory block on the stack; if alloca is not supported, it is emulated as a normal "malloc" - NOTICE: Since in some platforms alloca will be emulated with malloc, alloca_free MUST BE ALWAYS CALLED to avoid memory leaks. | |
| #define | mrpt_alloca_free(mem_block) free(mem_block) |
| This method must be called to "free" each memory block allocated with "system::alloca": If the block was really allocated in the stack, no operation is actually performed, otherwise it will be freed from the heap. | |
Functions | |
| unsigned long BASE_IMPEXP | mrpt::system::getMemoryUsage () |
| Returns the memory occupied by this process, in bytes. | |
Aligned memory management | |
| void BASE_IMPEXP * | mrpt::system::os::aligned_malloc (size_t bytes, size_t alignment) |
| Returns an aligned memory block. | |
| void * | mrpt::system::os::aligned_calloc (size_t bytes, size_t alignment) |
| Identical to aligned_malloc, but it zeroes the reserved memory block. | |
| void BASE_IMPEXP * | mrpt::system::os::aligned_realloc (void *old_ptr, size_t bytes, size_t alignment) |
| Frees a memory block reserved by aligned_malloc. | |
| void BASE_IMPEXP | mrpt::system::os::aligned_free (void *p) |
| Frees a memory block reserved by aligned_malloc. | |
| template<typename _Tp > | |
| _Tp * | mrpt::system::os::align_ptr (_Tp *ptr, int n=(int) sizeof(_Tp)) |
| Returns a pointer a bit forward in memory so it's aligned for the given boundary size. | |
| #define mrpt_alloca | ( | nBytes ) | ::malloc( nBytes ); |
In platforms and compilers with support to "alloca", allocate a memory block on the stack; if alloca is not supported, it is emulated as a normal "malloc" - NOTICE: Since in some platforms alloca will be emulated with malloc, alloca_free MUST BE ALWAYS CALLED to avoid memory leaks.
This method MUST BE a macro rather than a function in order to operate on the caller's stack.
| #define mrpt_alloca_free | ( | mem_block ) | free(mem_block) |
This method must be called to "free" each memory block allocated with "system::alloca": If the block was really allocated in the stack, no operation is actually performed, otherwise it will be freed from the heap.
This method MUST BE a macro rather than a function in order to operate on the caller's stack.
| Page generated by Doxygen 1.7.2 for MRPT 0.9.4 SVN: at Mon Jan 10 22:30:30 UTC 2011 |