KTL
ktl::threaded< Alloc > Class Template Reference

#include <threaded.h>

Public Types

typedef detail::get_size_type_t< Alloc > size_type
 

Public Member Functions

template<typename A = Alloc>
 threaded () noexcept(std::is_nothrow_default_constructible_v< Alloc >)
 
template<typename... Args, typename = std::enable_if_t< std::is_constructible_v<Alloc, Args...>>>
 threaded (Args &&... args) noexcept(std::is_nothrow_constructible_v< Alloc, Args... >)
 Constructor for forwarding any arguments to the underlying allocator. More...
 
 threaded (const threaded &)=delete
 
 threaded (threaded &&)=delete
 
threadedoperator= (const threaded &)=delete
 
threadedoperator= (threaded &&)=delete
 
bool operator== (const threaded &rhs) const noexcept(detail::has_nothrow_equal_v< Alloc >)
 
bool operator!= (const threaded &rhs) const noexcept(detail::has_nothrow_not_equal_v< Alloc >)
 
void * allocate (size_t n)
 
void deallocate (void *p, size_t n)
 
template<typename T , typename... Args>
std::enable_if< detail::has_construct_v< Alloc, T *, Args... >, void >::type construct (T *p, Args &&... args) noexcept(detail::has_nothrow_construct_v< Alloc, T *, Args... >)
 
template<typename T >
std::enable_if< detail::has_destroy_v< Alloc, T * >, void >::type destroy (T *p) noexcept(detail::has_nothrow_destroy_v< Alloc, T * >)
 
template<typename A = Alloc>
std::enable_if< detail::has_max_size_v< A >, size_type >::type max_size () const noexcept(detail::has_nothrow_max_size_v< A >)
 
template<typename A = Alloc>
std::enable_if< detail::has_owns_v< A >, bool >::type owns (void *p) const noexcept(detail::has_nothrow_owns_v< A >)
 
Alloc & get_allocator () noexcept
 
const Alloc & get_allocator () const noexcept
 

Member Typedef Documentation

◆ size_type

template<typename Alloc >
typedef detail::get_size_type_t<Alloc> ktl::threaded< Alloc >::size_type

Constructor & Destructor Documentation

◆ threaded() [1/4]

template<typename Alloc >
template<typename A = Alloc>
ktl::threaded< Alloc >::threaded ( )
inlinenoexcept

◆ threaded() [2/4]

template<typename Alloc >
template<typename... Args, typename = std::enable_if_t< std::is_constructible_v<Alloc, Args...>>>
ktl::threaded< Alloc >::threaded ( Args &&...  args)
inlineexplicitnoexcept

Constructor for forwarding any arguments to the underlying allocator.

◆ threaded() [3/4]

template<typename Alloc >
ktl::threaded< Alloc >::threaded ( const threaded< Alloc > &  )
delete

◆ threaded() [4/4]

template<typename Alloc >
ktl::threaded< Alloc >::threaded ( threaded< Alloc > &&  )
delete

Member Function Documentation

◆ allocate()

template<typename Alloc >
void* ktl::threaded< Alloc >::allocate ( size_t  n)
inline

◆ construct()

template<typename Alloc >
template<typename T , typename... Args>
std::enable_if<detail::has_construct_v<Alloc, T*, Args...>, void>::type ktl::threaded< Alloc >::construct ( T *  p,
Args &&...  args 
)
inlinenoexcept

◆ deallocate()

template<typename Alloc >
void ktl::threaded< Alloc >::deallocate ( void *  p,
size_t  n 
)
inline

◆ destroy()

template<typename Alloc >
template<typename T >
std::enable_if<detail::has_destroy_v<Alloc, T*>, void>::type ktl::threaded< Alloc >::destroy ( T *  p)
inlinenoexcept

◆ get_allocator() [1/2]

template<typename Alloc >
const Alloc& ktl::threaded< Alloc >::get_allocator ( ) const
inlinenoexcept

◆ get_allocator() [2/2]

template<typename Alloc >
Alloc& ktl::threaded< Alloc >::get_allocator ( )
inlinenoexcept

◆ max_size()

template<typename Alloc >
template<typename A = Alloc>
std::enable_if<detail::has_max_size_v<A>, size_type>::type ktl::threaded< Alloc >::max_size ( ) const
inlinenoexcept

◆ operator!=()

template<typename Alloc >
bool ktl::threaded< Alloc >::operator!= ( const threaded< Alloc > &  rhs) const
inlinenoexcept

◆ operator=() [1/2]

template<typename Alloc >
threaded& ktl::threaded< Alloc >::operator= ( const threaded< Alloc > &  )
delete

◆ operator=() [2/2]

template<typename Alloc >
threaded& ktl::threaded< Alloc >::operator= ( threaded< Alloc > &&  )
delete

◆ operator==()

template<typename Alloc >
bool ktl::threaded< Alloc >::operator== ( const threaded< Alloc > &  rhs) const
inlinenoexcept

◆ owns()

template<typename Alloc >
template<typename A = Alloc>
std::enable_if<detail::has_owns_v<A>, bool>::type ktl::threaded< Alloc >::owns ( void *  p) const
inlinenoexcept

The documentation for this class was generated from the following file: