Template Struct association_group

Struct Documentation

template<typename U, typename V = void>
struct udho::detail::association_group

association_group<X, void> | Y                                             => association_group<Y, association_group<X, void>>
association_group<Y, association_group<X, void>> | Z                       => association_group<Z, association_group<Y, association_group<X, void>>>
association_group<Z, association_group<Y, association_group<X, void>>> | T => association_group<T, association_group<Z, association_group<Y, association_group<X, void>>>>

Public Types

typedef U head_type
typedef V tail_type
typedef head_type::result_type result_type
typedef association_group<U, V> self_type

Public Functions

association_group(const head_type &head, const tail_type &tail)
bool matched(const std::string &key) const
bool exists(const std::string &key) const
auto call(const std::string &key) const
auto call(const std::string &key)
bool iterable() const
bool leaf() const
std::size_t count() const
std::vector<std::string> keys() const

Public Members

head_type _head
tail_type _tail