12 #include <type_traits> 33 #if defined(_MSC_VER) && (_MSC_VER >= 1400) 35 #define mrpt_alloca(nBytes) _malloca(nBytes) 36 #elif defined(HAVE_ALLOCA) 38 #define mrpt_alloca(nBytes) ::alloca(nBytes) 41 #define mrpt_alloca(nBytes) ::malloc(nBytes) 51 #if defined(_MSC_VER) && (_MSC_VER >= 1400) 53 #define mrpt_alloca_free(mem_block) _freea(mem_block) 54 #elif defined(HAVE_ALLOCA) 56 #define mrpt_alloca_free(mem_block) 59 #define mrpt_alloca_free(mem_block) free(mem_block) 67 std::size_t alignment,
typename T,
68 typename = std::enable_if_t<std::is_pointer<T>::value>>
71 return alignment == 0 ||
72 reinterpret_cast<std::size_t
>(ptr) % alignment == 0;
unsigned long getMemoryUsage()
Returns the memory occupied by this process, in bytes.