Version: SMASH-3.2.2
traits.h File Reference
#include <sstream>
#include <string>
#include <type_traits>
#include <vector>
#include "stringify.h"

Go to the source code of this file.

Classes

struct  smash::is_writable_to_stream< S, T, typename >
 Type trait to infer if a type can be streamed via the << operator. More...
 
struct  smash::is_writable_to_stream< S, T, std::void_t< decltype(std::declval< S & >()<< std::declval< T >())> >
 Trait specialization for the case when the type is streamable. More...
 
struct  smash::has_to_string< T, Enable >
 Type trait to infer if there is an std::string to_string(T) overload for a given type T. More...
 
struct  smash::has_to_string< T, std::void_t< decltype(smash::to_string(std::declval< T >()))> >
 Trait specialization for the case when the overload is present. More...
 
struct  smash::has_to_string< std::bitset< N >, std::void_t< decltype(smash::to_string(std::declval< std::bitset< N >>()))> >
 Trait specialization for std::bitset types for which a different signature of the overload is required. More...
 

Namespaces

 smash
 

Variables

template<typename S , typename T >
constexpr bool smash::is_writable_to_stream_v
 Helper alias which is always defined next to a type trait. More...
 
template<typename T >
constexpr bool smash::has_to_string_v = has_to_string<T>::value
 Helper alias which is always defined next to a type trait. More...