KTL
meta.h File Reference
#include <type_traits>

Go to the source code of this file.

Classes

struct  ktl::detail::has_no_value_type< Alloc, typename >
 
struct  ktl::detail::has_no_value_type< Alloc, std::void_t< typename Alloc::value_type > >
 
struct  ktl::detail::get_size_type< Alloc, typename >
 
struct  ktl::detail::get_size_type< Alloc, std::void_t< typename Alloc::size_type > >
 
struct  ktl::detail::has_construct< Void, Types >
 
struct  ktl::detail::has_construct< std::void_t< decltype(std::declval< Alloc & >().construct(std::declval< Args >()...))>, Alloc, Args... >
 
struct  ktl::detail::has_destroy< Alloc, Ptr, typename >
 
struct  ktl::detail::has_destroy< Alloc, Ptr, std::void_t< decltype(std::declval< Alloc & >().destroy(std::declval< Ptr >()))> >
 
struct  ktl::detail::has_max_size< Alloc, typename >
 
struct  ktl::detail::has_max_size< Alloc, std::void_t< decltype(std::declval< Alloc & >().max_size())> >
 
struct  ktl::detail::has_owns< Alloc, typename >
 
struct  ktl::detail::has_owns< Alloc, std::void_t< decltype(std::declval< Alloc & >().owns(std::declval< void * >()))> >
 
struct  ktl::detail::has_nothrow_construct< Void, Types >
 
struct  ktl::detail::has_nothrow_construct< std::enable_if_t< has_construct_v< Alloc, Args... > >, Alloc, Args... >
 
struct  ktl::detail::has_nothrow_destroy< Alloc, Ptr, typename >
 
struct  ktl::detail::has_nothrow_destroy< Alloc, Ptr, std::enable_if_t< has_destroy_v< Alloc, Ptr > > >
 
struct  ktl::detail::has_nothrow_max_size< Alloc, typename >
 
struct  ktl::detail::has_nothrow_max_size< Alloc, std::enable_if_t< has_max_size_v< Alloc > > >
 
struct  ktl::detail::has_nothrow_owns< Alloc, typename >
 
struct  ktl::detail::has_nothrow_owns< Alloc, std::enable_if_t< has_owns_v< Alloc > > >
 

Namespaces

 ktl
 
 ktl::detail
 

Typedefs

template<typename Alloc >
using ktl::detail::get_size_type_t = typename get_size_type< Alloc, void >::type
 

Variables

template<typename Alloc >
constexpr bool ktl::detail::has_no_value_type_v = has_no_value_type<Alloc, void>::value
 
template<typename Alloc , typename... Args>
constexpr bool ktl::detail::has_construct_v = has_construct<void, Alloc, Args...>::value
 
template<typename Alloc , typename Ptr >
constexpr bool ktl::detail::has_destroy_v = has_destroy<Alloc, Ptr, void>::value
 
template<typename Alloc >
constexpr bool ktl::detail::has_max_size_v = has_max_size<Alloc, void>::value
 
template<typename Alloc >
constexpr bool ktl::detail::has_owns_v = has_owns<Alloc, void>::value
 
template<typename Alloc >
constexpr bool ktl::detail::has_nothrow_allocate_v = noexcept(std::declval<Alloc&>().allocate(std::declval<size_t>()))
 
template<typename Alloc >
constexpr bool ktl::detail::has_nothrow_deallocate_v = noexcept(std::declval<Alloc&>().deallocate(std::declval<void*>(), std::declval<size_t>()))
 
template<typename T >
constexpr bool ktl::detail::has_nothrow_equal_v = noexcept(std::declval<T&>() == std::declval<T&>())
 
template<typename T >
constexpr bool ktl::detail::has_nothrow_not_equal_v = noexcept(std::declval<T&>() == std::declval<T&>())
 
template<typename Alloc , typename... Args>
constexpr bool ktl::detail::has_nothrow_construct_v = has_nothrow_construct<void, Alloc, Args...>::value
 
template<typename Alloc , typename Ptr >
constexpr bool ktl::detail::has_nothrow_destroy_v = has_nothrow_destroy<Alloc, Ptr, void>::value
 
template<typename Alloc >
constexpr bool ktl::detail::has_nothrow_max_size_v = has_nothrow_max_size<Alloc, void>::value
 
template<typename Alloc >
constexpr bool ktl::detail::has_nothrow_owns_v = has_nothrow_owns<Alloc, void>::value