Sha256: b74dd4f4325df3d60bc7b53c397ffa747fa5a3e2ff1772d5d713b0d40b531b9c
Contents?: true
Size: 1.54 KB
Versions: 24
Compression:
Stored size: 1.54 KB
Contents
// Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/ #ifndef TAO_JSON_PEGTL_CONTRIB_IF_THEN_HPP #define TAO_JSON_PEGTL_CONTRIB_IF_THEN_HPP #include <type_traits> #include "../config.hpp" #include "../internal/if_then_else.hpp" #include "../internal/seq.hpp" #include "../internal/skip_control.hpp" #include "../internal/trivial.hpp" namespace TAO_JSON_PEGTL_NAMESPACE { namespace internal { template< typename Cond, typename Then > struct if_pair { }; template< typename... Pairs > struct if_then; template< typename Cond, typename Then, typename... Pairs > struct if_then< if_pair< Cond, Then >, Pairs... > : if_then_else< Cond, Then, if_then< Pairs... > > { template< typename ElseCond, typename... Thens > using else_if_then = if_then< if_pair< Cond, Then >, Pairs..., if_pair< ElseCond, seq< Thens... > > >; template< typename... Thens > using else_then = if_then_else< Cond, Then, if_then< Pairs..., if_pair< trivial< true >, seq< Thens... > > > >; }; template<> struct if_then<> : trivial< false > { }; template< typename... Pairs > inline constexpr bool skip_control< if_then< Pairs... > > = true; } // namespace internal template< typename Cond, typename... Thens > using if_then = internal::if_then< internal::if_pair< Cond, internal::seq< Thens... > > >; } // namespace TAO_JSON_PEGTL_NAMESPACE #endif
Version data entries
24 entries across 24 versions & 1 rubygems