kblib 0.2.3
General utilities library for modern C++
kblib::fakestd Namespace Reference

A namespace which holds all the C++14 implementations of C++17 standard library features. In C++17, it is simply defined as an alias to std. More...

Namespaces

namespace  detail
 Implementation details for kblib::fakestd features.
 

Classes

struct  in_place_t
 
struct  invoke_result
 
struct  is_invocable
 
struct  is_invocable_r
 
struct  is_nothrow_invocable
 
struct  is_nothrow_invocable_r
 
struct  is_nothrow_swappable
 
struct  is_nothrow_swappable_with
 
struct  is_swappable
 
struct  is_swappable_with
 
struct  make_void
 

Typedefs

template<typename F , typename... ArgTypes>
using invoke_result_t = typename invoke_result< F, ArgTypes... >::type
 
template<typename... Ts>
using void_t = typename make_void< Ts... >::type
 

Functions

template<typename F >
auto not_fn (F &&f) -> detail::not_fn_t< F >
 
template<class ForwardIt >
constexpr auto max_element (ForwardIt first, ForwardIt last) -> ForwardIt
 
template<class ForwardIt , class Compare >
constexpr auto max_element (ForwardIt first, ForwardIt last, Compare comp) -> ForwardIt
 
template<class C >
constexpr auto size (const C &c) -> decltype(c.size())
 
template<class T , std::size_t N>
constexpr auto size (const T(&)[N]) noexcept -> std::size_t
 

Variables

template<class Tp , class Up >
constexpr bool is_swappable_with_v = is_swappable_with<Tp, Up>::value
 
template<class Tp >
constexpr bool is_swappable_v = is_swappable<Tp>::value
 
template<class Tp , class Up >
constexpr bool is_nothrow_swappable_with_v = is_nothrow_swappable_with<Tp, Up>::value
 
template<class Tp >
constexpr bool is_nothrow_swappable_v = is_nothrow_swappable<Tp>::value
 
template<class Fn , class... Args>
constexpr bool is_invocable_v = is_invocable<Fn, Args...>::value
 
template<class Ret , class Fn , class... Args>
constexpr bool is_invocable_r_v = is_invocable_r<Ret, Fn, Args...>::value
 
template<class Fn , class... Args>
constexpr bool is_nothrow_invocable_v = is_nothrow_invocable<Fn, Args...>::value
 
template<class Ret , class Fn , class... Args>
constexpr bool is_nothrow_invocable_r_v = is_nothrow_invocable_r<Ret, Fn, Args...>::value
 

Detailed Description

A namespace which holds all the C++14 implementations of C++17 standard library features. In C++17, it is simply defined as an alias to std.

Typedef Documentation

◆ invoke_result_t

template<typename F , typename... ArgTypes>
using kblib::fakestd::invoke_result_t = typedef typename invoke_result<F, ArgTypes...>::type

Definition at line 172 of file fakestd.h.

◆ void_t

template<typename... Ts>
using kblib::fakestd::void_t = typedef typename make_void<Ts...>::type

Definition at line 179 of file fakestd.h.

Function Documentation

◆ max_element() [1/2]

template<class ForwardIt >
constexpr auto kblib::fakestd::max_element ( ForwardIt  first,
ForwardIt  last 
) -> ForwardIt
constexpr

Definition at line 335 of file fakestd.h.

◆ max_element() [2/2]

template<class ForwardIt , class Compare >
constexpr auto kblib::fakestd::max_element ( ForwardIt  first,
ForwardIt  last,
Compare  comp 
) -> ForwardIt
constexpr

Definition at line 350 of file fakestd.h.

◆ not_fn()

template<typename F >
auto kblib::fakestd::not_fn ( F &&  f) -> detail::not_fn_t<F>

Definition at line 325 of file fakestd.h.

◆ size() [1/2]

template<class C >
constexpr auto kblib::fakestd::size ( const C &  c) -> decltype(c.size())
constexpr

Definition at line 366 of file fakestd.h.

◆ size() [2/2]

template<class T , std::size_t N>
constexpr auto kblib::fakestd::size ( const   T(&)[N]) -> std::size_t
constexprnoexcept

Definition at line 371 of file fakestd.h.

Variable Documentation

◆ is_invocable_r_v

template<class Ret , class Fn , class... Args>
constexpr bool kblib::fakestd::is_invocable_r_v = is_invocable_r<Ret, Fn, Args...>::value
constexpr

Definition at line 456 of file fakestd.h.

◆ is_invocable_v

template<class Fn , class... Args>
constexpr bool kblib::fakestd::is_invocable_v = is_invocable<Fn, Args...>::value
constexpr

Definition at line 453 of file fakestd.h.

◆ is_nothrow_invocable_r_v

template<class Ret , class Fn , class... Args>
constexpr bool kblib::fakestd::is_nothrow_invocable_r_v = is_nothrow_invocable_r<Ret, Fn, Args...>::value
constexpr

Definition at line 476 of file fakestd.h.

◆ is_nothrow_invocable_v

template<class Fn , class... Args>
constexpr bool kblib::fakestd::is_nothrow_invocable_v = is_nothrow_invocable<Fn, Args...>::value
constexpr

Definition at line 472 of file fakestd.h.

◆ is_nothrow_swappable_v

template<class Tp >
constexpr bool kblib::fakestd::is_nothrow_swappable_v = is_nothrow_swappable<Tp>::value
constexpr

Definition at line 295 of file fakestd.h.

◆ is_nothrow_swappable_with_v

template<class Tp , class Up >
constexpr bool kblib::fakestd::is_nothrow_swappable_with_v = is_nothrow_swappable_with<Tp, Up>::value
constexpr

Definition at line 291 of file fakestd.h.

◆ is_swappable_v

template<class Tp >
constexpr bool kblib::fakestd::is_swappable_v = is_swappable<Tp>::value
constexpr

Definition at line 288 of file fakestd.h.

◆ is_swappable_with_v

template<class Tp , class Up >
constexpr bool kblib::fakestd::is_swappable_with_v = is_swappable_with<Tp, Up>::value
constexpr

Definition at line 285 of file fakestd.h.