|
Broom 1.0.0
A thread-local C++ Garbage Collector
|


Go to the source code of this file.
Namespaces | |
| namespace | broom |
Concepts | |
| concept | broom::StaticCastable |
| concept | broom::ReinterpretCastable |
| concept | broom::IsAllocatorMetadata |
Typedefs | |
| using | broom::MemoryAddress = uintptr_t |
| using | broom::UintPtr = uintptr_t |
| using | broom::IntPtr = intptr_t |
Functions | |
| template<typename T , typename U > requires StaticCastable<U, T> && (!IsAllocatorMetadata<T>) | |
| constexpr T | broom::SafeCast (U v) |
| template<typename T , typename U > requires ReinterpretCastable<U, T> && (!StaticCastable<U, T>) && (!IsAllocatorMetadata<T>) | |
| constexpr T | broom::SafeCast (U v) |
| template<typename T , typename U > | |
| constexpr T | broom::UnsafeCast (U v) |
| template<size_t N, typename T > requires std::is_integral_v<T> && (N > 0) && (N % 2 == 0) | |
| constexpr bool | broom::IsAligned (T value) |
| template<size_t N, typename T > requires (N > 0) && (N % 2 == 0) | |
| constexpr bool | broom::IsAligned (T *value) |
| template<size_t N, typename T > requires std::is_integral_v<T> && (N > 0) && (N % 2 == 0) | |
| constexpr T | broom::RoundDown (T value) |
| template<size_t N, typename T > requires std::is_integral_v<T> && (N > 0) && (N % 2 == 0) | |
| constexpr T | broom::RoundUp (T value) |
| template<typename T > requires std::is_unsigned_v<T> | |
| constexpr bool | broom::AddOverflowChecked (T lhs, T rhs, T &destination) |
Variables | |
| constexpr const uintptr_t | broom::kNullUintPtr = 0 |
| constexpr const intptr_t | broom::kNullIntPtr = 0 |
| constexpr const MemoryAddress | broom::kNullMemoryAddress = 0 |
| constexpr const int | broom::kPointerSize = sizeof(void*) |
| constexpr const int | broom::kUintPtrSize = sizeof(UintPtr) |
| constexpr const int | broom::kIntPtrSize = sizeof(IntPtr) |
| constexpr const size_t | broom::KB = 1024 |
| constexpr const size_t | broom::MB = KB * 1024 |
| constexpr const size_t | broom::GB = MB * 1024 |
| constexpr const size_t | broom::TB = GB * 1024 |
| constexpr const int | broom::kPageSize = 4 * KB |
| constexpr const int | broom::kHugePageSize = 2 * MB |