Main MRPT website > C++ reference
MRPT logo
Namespaces | Defines | Functions

memory.h File Reference

#include <mrpt/utils/utils_defs.h>
Include dependency graph for memory.h:
This graph shows which files directly or indirectly include this file:

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 Documentation

#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.

See also:
mrpt_alloca_free

Definition at line 52 of file memory.h.

#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.

See also:
mrpt_alloca

Definition at line 67 of file memory.h.




Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN: at Sat Mar 26 06:40:17 UTC 2011