C++ Library Extensions 2022.12.09
To help learn modern C++ programming
tpf_any.hpp File Reference

Stream output operators << are implemented. More...

#include <tpf_types.hpp>
Include dependency graph for tpf_any.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tpf::types::hidden::st_is_constrained_any< T >
 
struct  tpf::types::hidden::st_is_constrained_any< types::any< Types... > >
 
class  tpf::types::any< ElementTypes >
 
struct  tpf::types::any_visitors< CallbackTypes >
 
struct  tpf::types::st_process_any< Type, Types >
 
struct  tpf::types::st_process_any< type_list_t< Type, Types... > >
 

Namespaces

namespace  tpf
 Includes subnamespace conversion.
 
namespace  tpf::types
 Type to string name conversions are defined.
 
namespace  tpf::types::hidden
 Implementations in this scope is meant NOT to be accessed directly by the client.
 

Macros

#define NOMINMAX
 

Typedefs

template<auto N, typename TypeAny >
using tpf::types::any_element_t = select_nth_type_t< N, typename TypeAny::element_types_t >
 

Functions

template<typename... CallbackTypes>
 tpf::types::any_visitors (CallbackTypes...) -> any_visitors< CallbackTypes... >
 
template<typename Type , typename... Types>
any< Type, Types... > tpf::types::variant_to_any (const std::variant< Type, Types... > &var)
 
template<typename Type , typename... Types>
std::any tpf::types::variant_to_std_any (const std::variant< Type, Types... > &var)
 
template<typename... ElementTypes>
std::string tpf::types::current_type (const any< ElementTypes... > &a)
 
template<typename Visitors , typename AnyType , typename... ArgTypes>
void tpf::types::visit_any (Visitors &&visitors, AnyType &&a, ArgTypes &&... args)
 
template<typename CurrentType , typename AnyType , typename Handler , typename = std::enable_if<std::is_same_v<remove_cv_ref_t<AnyType>, std::any>>>
void tpf::types::if_any_type (AnyType &&a, Handler &&handler)
 

Variables

template<typename T >
constexpr bool tpf::types::is_constrained_any_v = hidden::st_is_constrained_any<T>::value
 
template<typename T >
constexpr bool tpf::types::is_special_type_v = is_constrained_any_v<T> || is_variant_v<T> || types::is_tuple_v<T>
 

Detailed Description

Stream output operators << are implemented.

Author
Thomas Kim (Thoma.nosp@m.sKim.nosp@m.@Talk.nosp@m.Play.nosp@m.Fun.c.nosp@m.om)
Version
0.1
Date
2020-07-24 ~ 28

Definition in file tpf_any.hpp.

Macro Definition Documentation

◆ NOMINMAX

#define NOMINMAX

Definition at line 16 of file tpf_any.hpp.