cppx-core
Namespaces | Typedefs | Functions | Variables
type-traits.hpp File Reference
#include <cppx-core/language/syntax/type-assemblers.hpp>
#include <cppx-core/language/syntax/macro-use.hpp>
#include <cppx-core/language/tmp/basic-type-traits.hpp>
#include <cppx-core/language/types/Truth.hpp>
#include <cppx-core/language/types/type-makers.hpp>
#include <cppx-core/meta-template/Type_list_.hpp>
#include <iterator>
#include <utility>
Include dependency graph for type-traits.hpp:

Go to the source code of this file.

Namespaces

 cppx
 

Typedefs

using cppx::Char_variant_types = Type_list_< unsigned char, signed char >
 
using cppx::Byte_char_types = Type_list_< char, unsigned char, signed char >
 
using cppx::Cpp03_char_literal_types = Type_list_< char, wchar_t >
 
using cppx::Char_literal_types_introduced_in_11 = Type_list_< char16_t, char32_t >
 
using cppx::Cpp11_char_literal_types = Joined_< Cpp03_char_literal_types, Char_literal_types_introduced_in_11 >
 
template<class Iterator >
using cppx::Item_for_iterator_ = typename std::iterator_traits< Iterator >::value_type
 
template<class Collection >
using cppx::Item_for_collection_ = Unref_< decltype(*begin(declval< Collection & >()))>
 
template<class Collection >
using cppx::Iterator_for_ = decltype(begin(declval< Collection & >()))
 

Functions

 cppx::CPPX_USE_STD (begin, declval)
 

Variables

template<class Char >
constexpr Truth cppx::is_a_cpp03_char_type_ = contains_type_<Char, Cpp03_char_literal_types>
 
template<class Char >
constexpr Truth cppx::is_a_cpp11_char_type_ = contains_type_<Char, Cpp11_char_literal_types>
 
template<class Char >
constexpr Truth cppx::is_a_char_type_ = is_a_cpp11_char_type_<Char>
 
template<class Char >
constexpr Truth cppx::is_a_char_variant_type_ = contains_type_<Char, Char_variant_types>
 
template<class Char >
constexpr Truth cppx::is_a_byte_char_type_ = contains_type_<Char, Byte_char_types>