13template <
class ... Types >
20 class VariantStringApiCallback {
24 VariantStringApiCallback (
ext::ostream & out ) : m_out ( out ) {
27 template <
class ValueType >
28 void operator ( ) (
const ValueType & value ) {
33 template <
class T,
class R,
class ... Ts >
35 if ( stringApi < T >::first ( input ) )
36 return ext::variant < Types ... > ( stringApi < T >::parse ( input ) );
38 return parse < R, Ts ... > ( input );
43 return ext::variant < Types ... > ( stringApi < T >::parse ( input ) );
47template <
class ... Types >
49 return parse < Types ... > ( input );
52template <
class ... Types >
54 return ( ... && stringApi < Types >::first ( input ) );
57template <
class ... Types >
Implementation of the variant class allowing to store any type of those listed in the template parame...
Definition: variant.hpp:98
Definition: ContainerFromStringLexer.cpp:8
Definition: normalize.hpp:10
Definition: sigHandler.cpp:20
constexpr auto visit(Visitor &&vis, Variants &&... vars)
Definition: variant.hpp:42
static bool first(ext::istream &input)
static ext::variant< Types ... > parse(ext::istream &input)
static void compose(ext::ostream &output, const ext::variant< Types ... > &container)
Definition: stringApi.hpp:26