Pretty Good Sum Type  1.0.0
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
 Npgs
 Cand_Parameter pack conjunction
 CconstructorA type to model a sum constructor
 Cfold_leftFold left, primary template
 Cfold_left< F, Acc, T, Ts... >Fold left, partial specialization matching non-empty packs
 Cindex_ofA metafunction to compute the index I of a type T in a sequence Ts
 Cinvalid_sum_type_accessException type raised on an invalid access into a recursive_union<>
 Cis_callableMetafunction to determine if an instance of a type F can be applied to a tuple of parameters with types determined by the template parameter pack Args
 Cis_recursive_wrapperPrimary template of a metafunction to classify a type as recursive_wrapper<> or not
 Cis_recursive_wrapper< recursive_wrapper< T > >Partial specialization for types that are recursive wrappers
 Cnegation
 Cor_Parameter pack disjunction
 CotherwiseA utility suitable for use as a wildcard in a pattern match
 Coverload_tagA type to model an overload
 CrangeCompile time sequence of integers
 Crecursive_unionrecursive union<> primary template
 Crecursive_union< T, Ts... >Partial specialization
 Crecursive_union<>Full specialization
 Crecursive_union_dereferenceDereference the value field in a recursive_union<>. This case handles values that are not recursive_wrapper instances
 Crecursive_union_dereference< true, T, Ts... >Dereference the value field in a recursive_union<>. This specialization handles values that are recursive_wrapper instances
 Crecursive_union_indexerThe purpose of this type is to walk a recursive_union<> and return the value field of the Ith union in the chain
 Crecursive_union_indexer< 0, T, Ts... >The purpose of this type is to walk a recursive_union<> and return the value field of the Ith union in the chain
 Crecursive_union_visitorPrimary template
 Crecursive_union_visitor< void, range< I, Is... >, recursive_wrapper< T >, Ts... >Partial specialization
 Crecursive_union_visitor< R, range< I, Is... >, recursive_wrapper< T >, Ts... >Partial specialization
 Crecursive_union_visitor< R, range< I, Is... >, T, Ts... >Partial specialization
 Crecursive_union_visitor< R, range<>, Ts... >Partial specialization
 Crecursive_union_visitor< void, range< I, Is... >, T, Ts... >Partial specialization
 Crecursive_union_visitor< void, range<>, Ts... >Partial specialization
 Crecursive_union_visitor< void, T, Ts... >Partial specialization for void return type
 Crecursive_wrapperTypes
 Crecursive_wrapper_unwrapPrimary template of a metafunction to compute the type contained by a recursive_wrapper<>
 Crecursive_wrapper_unwrap< recursive_wrapper< T > >Partial specialization for types that are recursive wrappers
 Csum_typeA type modeling "sums with constructors" as used in functional programming