atria::estd Namespace Reference

C++11 compatible implementations of some C++14 and beyond standard library components. More...

Classes

struct  integer_sequence
 
struct  nonesuch
 Similar to TS Fundamentals 2 std::nonesuch More...
 

Typedefs

template<typename... Ts>
using void_t = typename detail::make_void< Ts... >::type
 Similar to C++17 std::void_t. More...
 
template<typename T >
using decay_t = typename std::decay< T >::type
 Similar to C++14 std::decay_t. More...
 
template<typename T >
using result_of_t = typename std::result_of< T >::type
 Similar to C++14 std::result_of_t. More...
 
template<bool X, typename T , typename F >
using conditional_t = typename std::conditional< X, T, F >::type
 Similar to C++14 std::conditional_t. More...
 
template<typename T >
using remove_reference_t = typename std::remove_reference< T >::type
 Similar to C++14 std::remove_reference_t. More...
 
template<typename T >
using remove_const_t = typename std::remove_const< T >::type
 Similar to C++14 std::remove_const_t. More...
 
template<bool X, typename T = void>
using enable_if_t = typename std::enable_if< X, T >::type
 Similar to C++14 std::enable_if_t. More...
 
template<template< class... > class Op, class... Args>
using is_detected = typename detail::detector< nonesuch, void, Op, Args... >::value_t
 Similar to TS Fundamentals 2 std::is_detected More...
 
template<template< class... > class Op, class... Args>
using detected_t = typename detail::detector< nonesuch, void, Op, Args... >::type
 Similar to TS Fundamentals 2 std::detected_t More...
 
template<class Default , template< class... > class Op, class... Args>
using detected_or = detail::detector< Default, void, Op, Args... >
 Similar to TS Fundamentals 2 std::dected_or More...
 
template<class Default , template< class... > class Op, class... Args>
using detected_or_t = typename detected_or< Default, Op, Args... >::type
 Similar to TS Fundamentals 2 std::dected_or_t More...
 
template<class Expected , template< class... > class Op, class... Args>
using is_detected_exact = std::is_same< Expected, detected_t< Op, Args... > >
 Similar to TS Fundamentals 2 std::is_detected_exact More...
 
template<class To , template< class... > class Op, class... Args>
using is_detected_convertible = std::is_convertible< detected_t< Op, Args... >, To >
 Similar to TS Fundamentals 2 std::is_detected_exact_v More...
 
template<std::size_t... Ints>
using index_sequence = integer_sequence< std::size_t, Ints... >
 
template<class T , T N>
using make_integer_sequence = typename detail::make_integer_sequence< T, 0, N, integer_sequence< T > >::type
 
template<std::size_t N>
using make_index_sequence = make_integer_sequence< std::size_t, N >
 

Functions

template<class T , class... Args>
auto make_unique (Args &&...args) -> estd::enable_if_t<!std::is_array< T >::value, std::unique_ptr< T > >
 
template<class T >
auto make_unique (std::size_t size) -> estd::enable_if_t< std::is_array< T >::value, std::unique_ptr< T > >
 

Detailed Description

C++11 compatible implementations of some C++14 and beyond standard library components.

Typedef Documentation

using conditional_t = typename std::conditional<X, T, F>::type

Similar to C++14 std::conditional_t.

Definition at line 66 of file type_traits.hpp.

using decay_t = typename std::decay<T>::type

Similar to C++14 std::decay_t.

Definition at line 54 of file type_traits.hpp.

using detected_or = detail::detector<Default, void, Op, Args...>

Similar to TS Fundamentals 2 std::dected_or

Definition at line 134 of file type_traits.hpp.

using detected_or_t = typename detected_or<Default, Op, Args...>::type

Similar to TS Fundamentals 2 std::dected_or_t

Definition at line 140 of file type_traits.hpp.

using detected_t = typename detail::detector<nonesuch, void, Op, Args...>::type

Similar to TS Fundamentals 2 std::detected_t

Definition at line 128 of file type_traits.hpp.

using enable_if_t = typename std::enable_if<X, T>::type

Similar to C++14 std::enable_if_t.

Definition at line 84 of file type_traits.hpp.

using is_detected = typename detail::detector<nonesuch, void, Op, Args...>::value_t

Similar to TS Fundamentals 2 std::is_detected

Definition at line 121 of file type_traits.hpp.

using is_detected_convertible = std::is_convertible<detected_t<Op, Args...>, To>

Similar to TS Fundamentals 2 std::is_detected_exact_v

Definition at line 153 of file type_traits.hpp.

using is_detected_exact = std::is_same<Expected, detected_t<Op, Args...> >

Similar to TS Fundamentals 2 std::is_detected_exact

Definition at line 146 of file type_traits.hpp.

using remove_const_t = typename std::remove_const<T>::type

Similar to C++14 std::remove_const_t.

Definition at line 78 of file type_traits.hpp.

using remove_reference_t = typename std::remove_reference<T>::type

Similar to C++14 std::remove_reference_t.

Definition at line 72 of file type_traits.hpp.

using result_of_t = typename std::result_of<T>::type

Similar to C++14 std::result_of_t.

Definition at line 60 of file type_traits.hpp.

using void_t = typename detail::make_void<Ts...>::type

Similar to C++17 std::void_t.

Definition at line 48 of file type_traits.hpp.

Fork me on GitHub