29 #ifndef BIT_MEMORY_POLICIES_BOUNDS_CHECKERS_DEBUG_BOUNDS_CHECKER_HPP 30 #define BIT_MEMORY_POLICIES_BOUNDS_CHECKERS_DEBUG_BOUNDS_CHECKER_HPP 32 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 34 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 36 #include "../../utilities/allocator_info.hpp" 37 #include "../../utilities/debugging.hpp" 38 #include "../../utilities/errors.hpp" 40 #include "../../concepts/BoundsChecker.hpp" 55 template<std::
size_t FrontSize, std::
size_t BackSize = FrontSize>
58 static_assert( FrontSize > 0,
"FrontSize must be greater than 0" );
59 static_assert( BackSize > 0,
"BackSize must be greater than 0" );
66 static constexpr std::size_t front_size = FrontSize;
67 static constexpr std::size_t back_size = BackSize;
74 void prepare_front_fence(
void* p, std::size_t size ) noexcept;
76 void prepare_back_fence(
void* p, std::size_t size ) noexcept;
85 std::size_t size ) noexcept;
89 std::size_t size ) noexcept;
93 "debug_bounds_checker must satisfy BoundsChecker" );
98 #include "detail/debug_bounds_checker.inl" This type is used for checking boundaries around memory allocations to determine if buffer-overflows ...
This type is used to hold the generic information for a given allocator.