| ▼Nsl | |
| ►Nfunctional | |
| CBasicClosure | The core class, wrapping one functional object and enabling a variety of composing operators for it |
| Cclosure_template | Primary template, purposely undefined |
| Cclosure_template< BasicClosure< Fn, InvokePolicy, OperatorPolicies... > > | Specialization, providing the closure template as member alias |
| CComposition | Functional type, composing multiple other functional types via the provided strategy |
| CConjunctionOperator | |
| CConjunctionStrategy | |
| CDisjunctionOperator | |
| CDisjunctionStrategy | |
| CEqualityOperator | |
| CEqualityStrategy | |
| Cis_composition | Primary template, yielding false type |
| Cis_composition< Composition< CompositionStrategy, Fns... > > | Specialization for Composition |
| CNegationOperator | |
| COverloaded | Helper invocable type which can hold an arbitrary amount of functions, from which the best match will be selected during invocation |
| CPipeOperator | |
| CPipeStrategy | |
| Cunwrap_functional | Primary template for non BasicClosure types |
| Cunwrap_functional< BasicClosure< Fn, InvokePolicy, OperatorPolicies... > & > | Specialization for lvalue-references of BasicClosure class |
| Cunwrap_functional< BasicClosure< Fn, InvokePolicy, OperatorPolicies... > && > | Specialization for rvalue-references of BasicClosure class |
| Cunwrap_functional< const BasicClosure< Fn, InvokePolicy, OperatorPolicies... > & > | Specialization for const lvalue-references of BasicClosure class |
| Cunwrap_functional< const BasicClosure< Fn, InvokePolicy, OperatorPolicies... > && > | Specialization for const rvalue-references of BasicClosure class |
| ►Nmath | |
| Cfrexp_result | Result type for the frexp operation |
| Cmodf_result | Result type for the modf operation |
| Cremquo_result | Result type for the remquo operation |
| ►Nnullables | |
| Cadapter | A adapter class, mimic the behaviour of nullable types |
| Cadapter_null_t | Dedicated null type for adapters |
| CAlgorithm | The core algorithm helper, which executes the held operation when used as the right-hand-side of operator | expressions, when the left-hand-side is a valid nullable type |
| Cin_place_null_t | Tag type for adapters, which can be used to disambiguate the construction with just a null-object |
| Ctraits | The main trait, which may be specialized from |
| Ctraits< adapter< TNull, TAdapted > > | Specialization for raw pointers |
| Ctraits< std::optional< TArgs... > > | Specialization for std::optional |
| Ctraits< std::shared_ptr< TArgs... > > | Specialization for std::shared_ptr |
| Ctraits< std::unique_ptr< TArgs... > > | Specialization for std::unique_ptr |
| Ctraits< T > | Specialization for raw pointers |
| Ctraits< unique_handle< T, TDeleteAction > > | Specialization for unique_handle types |
| ►Ntuple | |
| Capply_result | Trait type determining the result of a std::apply call |
| Ccartesian_product_result | Trait type determining the result of a cartesian_product call |
| Ccat_result | Trait type determining the result of a std::tuple_cat call |
| Cenvelop_elements_result | Trait type determining the result of a tuple_envelop_elements call |
| Czip_result | Trait type determining the result of a zip call |
| ►Ntype_list | |
| Cappend | Primary template isn't defined on purpose |
| Cappend< Container< Elements... >, Types... > | Adds the given types at the end of the source type-list |
| Cback | Primary template isn't defined on purpose |
| Cback< Container< Element > > | Specialization retrieving the last element of the source type-list |
| Cback< Container< First, Others... > > | Specialization investigating the current element of the source type-list |
| Ccartesian_product_as | Primary template isn't defined on purpose |
| Ccartesian_product_as< TargetContainer, Container< Elements... > > | Root specialization, enveloping each element of the list in a TargetContainer |
| Ccartesian_product_as< TargetContainer, Container< Elements... >, OtherLists... > | Specialization, prepending all elements of the current type-list to the already created type-lists |
| Ccommon_container | Primary template isn't defined on purpose |
| Ccommon_container< Container< Elements... > > | Unary trait defining the type member-alias |
| Ccommon_container< Container< LhsElements... >, Container< RhsElements... >, Others... > | Trait reducing the amount of participating type-lists, if the first two have the container in common |
| Cconcat | Primary template isn't defined on purpose |
| Cconcat< LhsContainer< LhsElements... >, RhsContainer< RhsElements... >, Others... > | Specialization appending all elements of the second type-list at the back of the first type-list and repeating it for any other not yet investigated type-lists |
| Cconcat< List > | Unary specialization, simply using the given type-list as result |
| Ccontains | Primary template isn't defined on purpose |
| Ccontains< Container< Elements... >, Query > | Specialization determining the presence of the query type, due to comparing it with each element of the type-list |
| Ccount | Primary template isn't defined on purpose |
| Ccount< Query, Container< Elements... > > | Specialization counting the presence of the query type, due to comparing it with each element of the type-list |
| Cdifference_as | Primary template, yielding a the elements of First in the TargetContainer |
| Cdifference_as< TargetContainer, First, Second > | Specialization, if the front element of Second is not contained in First |
| Cequal | Primary template yields false |
| Cequal< First > | Specialization for single type-list |
| Cequal< FirstContainer< Elements... >, SecondContainer< Elements... >, Others... > | Specialization, determining whether the first two type-lists have equal template arguments |
| Cfilter | Primary template isn't defined on purpose |
| Cfilter< Container< Elements... >, Filter > | Applies the filter trait on each element of the source type-list |
| Cfront | Primary template isn't defined on purpose |
| Cfront< Container< First, Others... > > | Specialization retrieving the first element of the source type-list |
| Cindex_of | Primary template, traversing the elements of the source type-list |
| Cindex_of< List, front_t< List > > | Specialization if the queried type appears at the beginning of the type-list |
| Cintersection_as | Determines the intersection between the elements of two type-lists. The order doesn't matter |
| Cpopulated_from | Primary template isn't defined on purpose |
| Cpopulated_from< TargetContainer, SourceContainer< Elements... > > | Specialization applying each element of the source container as template argument of the target container |
| Cprepend | Primary template isn't defined on purpose |
| Cprepend< Container< Elements... >, Types... > | Adds the given types at the begin of the source type-list |
| Cremove | Applies the filter trait on each element of the source type-list |
| Cremove_at | Primary template, traversing all elements of the given type-list |
| Cremove_at< List, 0 > | Root specialization, omitting the first element from the source type-list |
| Creverse | Reverses the order of all elements |
| Creverse< Container<> > | Specialization for empty type-lists |
| Csymmetric_difference_as | Determines which elements are in either of the source type-lists, but not in both. The order doesn't matter |
| Ctail | Primary template isn't defined on purpose |
| Ctail< Container< First, Others... > > | Specialization for non-empty source type-lists |
| Ctail< Container<> > | Specialization for empty source type-lists |
| Ctransform | Primary template isn't defined on purpose |
| Ctransform< UnaryOperation, Container< Elements... > > | Specialization, which applies the UnaryOperation on each element of the given type-list |
| CTypeList | A variadic template type, which's only serves as a container for an arbitrary amount of types. Neither of the given types will be actually instantiated |
| Cunique | Root specialization for empty type lists |
| Cunique< List > | Specialization, traversing each element of the given type-list |
| Cunordered_equal | Primary template isn't defined on purpose |
| Cunordered_equal< First, OtherLists... > | Specialization, determining whether the current element appears equally often in all type-lists |
| Cunordered_equal< FirstContainer<>, OtherLists... > | Root specialization, determining whether all type-lists are empty |
| Czip_as | Algorithm yielding the result as the type member alias |
| Czip_nth_elements_as | Algorithm yielding the result as the type member alias |
| Cadd_type_const | Primary template, adding const to value types |
| Cadd_type_const< T & > | Specialization, unwrapping lvalue reference types |
| Cadd_type_const< T && > | Specialization, unwrapping rvalue reference types |
| Cadd_type_const< T * > | Specialization, unwrapping pointer types |
| Cadd_type_const< T *const > | Specialization, unwrapping const pointer types |
| Cadd_type_const< T *const volatile > | Specialization, unwrapping const volatile pointer types |
| Cadd_type_const< T *volatile > | Specialization, unwrapping volatile pointer types |
| Cadd_type_cv | Primary template, adding const and volatile to value types |
| Cadd_type_volatile | Primary template, adding volatile to value types |
| Cadd_type_volatile< T & > | Specialization, unwrapping lvalue reference types |
| Cadd_type_volatile< T && > | Specialization, unwrapping rvalue reference types |
| Cadd_type_volatile< T * > | Specialization, unwrapping pointer types |
| Cadd_type_volatile< T *const > | Specialization, unwrapping const pointer types |
| Cadd_type_volatile< T *const volatile > | Specialization, unwrapping const volatile pointer types |
| Cadd_type_volatile< T *volatile > | Specialization, unwrapping volatile pointer types |
| CCRTPBase | Utility type, which can be used as a base class for the crtp pattern |
| Ccv_qualified_type | Primary template, taking the T as-is |
| Ccv_qualified_type< T > | Specialization, unwrapping reference types |
| Cdefault_delete_action | Default delete action for unique_handle with an empty operator () |
| Cnullhandle_t | Helper type for indicating unique_handles with uninitialized state |
| Cqualified_category_as | |
| Cremove_type_const | Primary template, removing const from value types |
| Cremove_type_const< T & > | Specialization, unwrapping lvalue reference types |
| Cremove_type_const< T && > | Specialization, unwrapping rvalue reference types |
| Cremove_type_const< T * > | Specialization, unwrapping pointer types |
| Cremove_type_const< T *const > | Specialization, unwrapping const pointer types |
| Cremove_type_const< T *const volatile > | Specialization, unwrapping const volatile pointer types |
| Cremove_type_const< T *volatile > | Specialization, unwrapping volatile pointer types |
| Cremove_type_cv | Primary template, removing const and volatile from value types |
| Cremove_type_volatile | Primary template, removing volatile from value types |
| Cremove_type_volatile< T & > | Specialization, unwrapping lvalue reference types |
| Cremove_type_volatile< T && > | Specialization, unwrapping rvalue reference types |
| Cremove_type_volatile< T * > | Specialization, unwrapping pointer types |
| Cremove_type_volatile< T *const > | Specialization, unwrapping const pointer types |
| Cremove_type_volatile< T *const volatile > | Specialization, unwrapping const volatile pointer types |
| Cremove_type_volatile< T *volatile > | Specialization, unwrapping volatile pointer types |
| Ctype_constness_as | Applies or removes the const qualification of To in regards of From |
| Ctype_qualification_as | Applies or removes the const and/or volatile qualifications of To in regards of From |
| Ctype_volatileness_as | Applies or removes the volatile qualification of To in regards of From |
| Cunified_base | Helper type, which can be used to create a unified base class for templated derived classes and thus getting an straight-forward way of disambiguing binary operators |
| Cunique_handle | This type models some kind of std::optional behaviour but resets itself on move operations |
| Cvalue_category_as | Primary template, removing any reference category |
| Cvalue_category_as< To, From & > | Specialization, applying the lvalue reference category |
| Cvalue_category_as< To, From && > | Specialization, applying the rvalue reference category |
| ▼Nstd | STL namespace |
| Ctuple_element< index, sl::type_list::TypeList< Types... > > | Specialization of std::tuple_element for TypeList |
| Ctuple_size< sl::type_list::TypeList< Types... > > | Specialization of std::tuple_size for TypeList |