|
lean cpp library
A lean C++ library providing efficient utility classes for high-performance C++ applications.
|
Provides a flexible heap concept, memory alignment facilities and a comprehensive way of handling out-of-memory situations. More...
Classes | |
| class | aligned |
| Aligns derived classes according to the given alignment template argument. More... | |
| struct | check_alignment |
| Checks whether the given alignment is a valid power of two. More... | |
| struct | stack_aligned |
| Aligns derived classes according to the given alignment template argument when instances are created on the stack. More... | |
| struct | optional_mem_block |
| Block of memory that may be zero-sized. More... | |
| struct | optional_mem_block< 0 > |
| class | chunk_heap |
| Contiguous chunk allocator heap. More... | |
| struct | crt_heap |
| Default CRT heap. More... | |
| class | heap_allocator |
| STL allocator heap adapter. More... | |
| class | heap_bound |
| Always allocates space for derived classes on the same specified heap. More... | |
| class | object_pool |
| Object pool. More... | |
| struct | win_heap |
| Windows heap. More... | |
Typedefs | |
| typedef LEAN_DEFAULT_HEAP | default_heap |
| Default heap to be used by all subsequent definitions that make use of the heap concept. | |
| typedef bool(* | new_handler )() |
| Lean new handler, returns true to request retry, false to abort allocation. | |
Functions | |
| template<size_t Alignment, class Integer > | |
| LEAN_INLINE Integer | nalign_integer (Integer integer) |
| (Negatively) aligns the given unsigned integer on the given alignment boundaries. | |
| template<size_t Alignment, class Value > | |
| LEAN_INLINE Value * | nalign (Value *pointer) |
| (Negatively) aligns the given pointer on the given alignment boundaries. | |
| template<size_t Alignment, class Integer > | |
| LEAN_INLINE Integer | align_integer (Integer integer) |
| Aligns the given unsigned integer on the given alignment boundaries. | |
| template<size_t Alignment, class Value > | |
| LEAN_INLINE Value * | align (Value *pointer) |
| Aligns the given pointer on the given alignment boundaries. | |
| template<size_t Alignment, class Integer > | |
| LEAN_INLINE Integer | upper_align_integer (Integer integer) |
| Aligns the given unsigned integer on the given alignment boundaries, incrementing it at least by one. | |
| template<size_t Alignment, class Value > | |
| LEAN_INLINE Value * | upper_align (Value *pointer) |
| Aligns the given pointer on the given alignment boundaries, incrementing it at least by one. | |
| template<class Element , class Heap , size_t Alignment, class Other > | |
| LEAN_INLINE bool | operator== (const heap_allocator< Element, Heap, Alignment > &, const heap_allocator< Other, Heap, Alignment > &) |
| Checks the given two allocators for equivalence. | |
| template<class Element , class Heap , size_t Alignment, class Other > | |
| LEAN_INLINE bool | operator!= (const heap_allocator< Element, Heap, Alignment > &, const heap_allocator< Other, Heap, Alignment > &) |
| Checks the given two allocators for inequivalence. | |
| LEAN_MAYBE_EXPORT new_handler | set_new_handler (new_handler newHandler) |
| Sets a new new_handler. | |
| LEAN_MAYBE_EXPORT bool | call_new_handler () |
| Calls the current new handler. | |
Provides a flexible heap concept, memory alignment facilities and a comprehensive way of handling out-of-memory situations.
1.7.6.1