diff options
Diffstat (limited to 'src/core/alloc_func.hpp')
-rw-r--r-- | src/core/alloc_func.hpp | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/src/core/alloc_func.hpp b/src/core/alloc_func.hpp index 57a5fc3d4..2a31f8637 100644 --- a/src/core/alloc_func.hpp +++ b/src/core/alloc_func.hpp @@ -90,56 +90,4 @@ template <typename T> FORCEINLINE T* ReallocT(T *t_ptr, size_t num_elements) return t_ptr; } -/** - * A small 'wrapper' for allocations that can be done on most OSes on the - * stack, but are just too large to fit in the stack on devices with a small - * stack such as the NDS. - * So when it is possible a stack allocation is made, otherwise a heap - * allocation is made and this is freed once the struct goes out of scope. - * @param T the type to make the allocation for - * @param length the amount of items to allocate - */ -template <typename T, size_t length> -struct SmallStackSafeStackAlloc { -#if !defined(__NDS__) - /** Storing the data on the stack */ - T data[length]; -#else - /** Storing it on the heap */ - T *data; - /** The length (in elements) of data in this allocator. */ - size_t len; - - /** Allocating the memory */ - SmallStackSafeStackAlloc() : data(MallocT<T>(length)), len(length) {} - /** And freeing when it goes out of scope */ - ~SmallStackSafeStackAlloc() { free(data); } -#endif - - /** - * Gets a pointer to the data stored in this wrapper. - * @return the pointer. - */ - inline operator T* () { return data; } - - /** - * Gets a pointer to the data stored in this wrapper. - * @return the pointer. - */ - inline T* operator -> () { return data; } - - /** - * Gets a pointer to the last data element stored in this wrapper. - * @note needed because endof does not work properly for pointers. - * @return the 'endof' pointer. - */ - inline T* EndOf() { -#if !defined(__NDS__) - return endof(data); -#else - return &data[len]; -#endif - } -}; - #endif /* ALLOC_FUNC_HPP */ |