WPILibC++ 2025.1.1
Loading...
Searching...
No Matches
segregator.hpp File Reference

Class template wpi::memory::segregator and related classes. More...

#include "detail/ebo_storage.hpp"
#include "detail/utility.hpp"
#include "allocator_traits.hpp"
#include "config.hpp"
#include "error.hpp"

Go to the source code of this file.

Classes

class  wpi::memory::threshold_segregatable< RawAllocator >
 A Segregatable that allocates until a maximum size. More...
 
class  wpi::memory::null_allocator
 A composable RawAllocator that will always fail. More...
 
class  wpi::memory::binary_segregator< Segregatable, RawAllocator >
 A RawAllocator that either uses the Segregatable or the other RawAllocator. More...
 
struct  wpi::memory::detail::make_segregator_t< Segregatable >
 
struct  wpi::memory::detail::make_segregator_t< Segregatable, RawAllocator >
 
struct  wpi::memory::detail::make_segregator_t< Segregatable, Tail... >
 
struct  wpi::memory::detail::segregatable_type< 0, binary_segregator< Segregator, Fallback > >
 
struct  wpi::memory::detail::segregatable_type< I, binary_segregator< Segregator, Fallback > >
 
struct  wpi::memory::detail::fallback_type< Fallback >
 
struct  wpi::memory::detail::fallback_type< binary_segregator< Segregator, Fallback > >
 
class  wpi::memory::segregator< Allocators >
 Creates multiple nested binary_segregator. More...
 
struct  wpi::memory::segregator_size< Segregator >
 The number of Segregatable a segregator has. More...
 

Namespaces

namespace  wpi
 Foonathan namespace.
 
namespace  wpi::memory
 Memory namespace.
 
namespace  wpi::memory::detail
 

Functions

template<class RawAllocator >
threshold_segregatable< typename std::decay< RawAllocator >::type > wpi::memory::threshold (std::size_t max_size, RawAllocator &&alloc)
 
template<class Segregator , class Fallback = null_allocator>
auto wpi::memory::detail::make_segregator (Segregator &&seg, Fallback &&f=null_allocator{}) -> binary_segregator< typename std::decay< Segregator >::type, typename std::decay< Fallback >::type >
 
template<class Segregator , typename... Rest>
auto wpi::memory::detail::make_segregator (Segregator &&seg, Rest &&... rest) -> binary_segregator< typename std::decay< Segregator >::type, decltype(make_segregator(std::forward< Rest >(rest)...))>
 
template<std::size_t I, class Segregator , class Fallback >
auto wpi::memory::get_segregatable_allocator (const binary_segregator< Segregator, Fallback > &s) -> const segregatable_allocator_type< I, binary_segregator< Segregator, Fallback > >
 
template<class Segregator , class Fallback >
auto wpi::memory::get_fallback_allocator (const binary_segregator< Segregator, Fallback > &s) -> const fallback_allocator_type< binary_segregator< Segregator, Fallback > > &
 

Detailed Description

Class template wpi::memory::segregator and related classes.