Simple-Utility v2.3.1
Loading...
Searching...
No Matches
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 Csl::nullables::adapter< TNull, TAdapted >A adapter class, mimic the behaviour of nullable types
 Csl::nullables::adapter_null_tDedicated null type for adapters
 Csl::add_type_const< T >Primary template, adding const to value types
 Csl::add_type_const< T & >Specialization, unwrapping lvalue reference types
 Csl::add_type_const< T && >Specialization, unwrapping rvalue reference types
 Csl::add_type_const< T * >Specialization, unwrapping pointer types
 Csl::add_type_const< T *const >Specialization, unwrapping const pointer types
 Csl::add_type_const< T *const volatile >Specialization, unwrapping const volatile pointer types
 Csl::add_type_const< T *volatile >Specialization, unwrapping volatile pointer types
 Csl::add_type_cv< T >Primary template, adding const and volatile to value types
 Csl::add_type_volatile< T >Primary template, adding volatile to value types
 Csl::add_type_volatile< T & >Specialization, unwrapping lvalue reference types
 Csl::add_type_volatile< T && >Specialization, unwrapping rvalue reference types
 Csl::add_type_volatile< T * >Specialization, unwrapping pointer types
 Csl::add_type_volatile< T *const >Specialization, unwrapping const pointer types
 Csl::add_type_volatile< T *const volatile >Specialization, unwrapping const volatile pointer types
 Csl::add_type_volatile< T *volatile >Specialization, unwrapping volatile pointer types
 Csl::nullables::Algorithm< Operation >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
 Csl::type_list::append< List, Types >Primary template isn't defined on purpose
 Csl::type_list::append< Container< Elements... >, Types... >Adds the given types at the end of the source type-list
 Csl::tuple::apply_result< Func, Tuple >Trait type determining the result of a std::apply call
 Csl::type_list::back< List >Primary template isn't defined on purpose
 Csl::type_list::back< Container< Element > >Specialization retrieving the last element of the source type-list
 Csl::type_list::back< Container< Others... > >
 Cstd::bool_constant
 Csl::type_list::cartesian_product_as< TargetContainer, Lists >Primary template isn't defined on purpose
 Csl::type_list::cartesian_product_as< TargetContainer, Container< Elements... > >Root specialization, enveloping each element of the list in a TargetContainer
 Csl::type_list::cartesian_product_as< TargetContainer, Container< Elements... >, OtherLists... >Specialization, prepending all elements of the current type-list to the already created type-lists
 Csl::tuple::cartesian_product_result< Tuples >Trait type determining the result of a cartesian_product call
 Csl::tuple::cat_result< Tuple, Others >Trait type determining the result of a std::tuple_cat call
 Csl::functional::closure_template< T >Primary template, purposely undefined
 Csl::functional::closure_template< BasicClosure< Fn, InvokePolicy, OperatorPolicies... > >Specialization, providing the closure template as member alias
 Csl::type_list::common_container< Lists >Primary template isn't defined on purpose
 Csl::type_list::common_container< Container< Elements... > >Unary trait defining the type member-alias
 Csl::type_list::common_container< Container< LhsElements... >, Others... >
 Csl::functional::Composition< CompStrategy, FirstFn, SecondFn, OtherFns >Functional type, composing multiple other functional types via the provided strategy
 Csl::type_list::concat< Lists >Primary template isn't defined on purpose
 Csl::type_list::concat< difference_as_t< TargetContainer, First, Second >, difference_as_t< TargetContainer, Second, First > >
 Csl::type_list::concat< LhsContainer< LhsElements..., RhsElements... >, Others... >
 Csl::type_list::concat< List >Unary specialization, simply using the given type-list as result
 Csl::functional::ConjunctionOperator< Derived >
 Csl::functional::ConjunctionStrategy
 Csl::type_list::contains< List, Query >Primary template isn't defined on purpose
 Csl::type_list::count< Query, List >Primary template isn't defined on purpose
 Csl::CRTPBase< Derived, Disambiguity >Utility type, which can be used as a base class for the crtp pattern
 Csl::cv_qualified_type< T >Primary template, taking the T as-is
 Csl::cv_qualified_type< T >Specialization, unwrapping reference types
 Csl::default_delete_actionDefault delete action for unique_handle with an empty operator ()
 Csl::type_list::difference_as< TargetContainer, First, Second >Primary template, yielding a the elements of First in the TargetContainer
 Csl::type_list::difference_as< TargetContainer, First, difference_as_t< TargetContainer, First, Second > >
 Csl::type_list::difference_as< TargetContainer, remove_at_t< First, index_of_v< First, front_t< Second > > >, pop_front_t< Second > >
 Csl::functional::DisjunctionOperator< Derived >
 Csl::functional::DisjunctionStrategy
 Csl::type_list::detail::element< index, sl::type_list::TypeList< Types... > >
 Csl::tuple::envelop_elements_result< Tuple >Trait type determining the result of a tuple_envelop_elements call
 Csl::functional::EqualityOperator< Derived >
 Csl::functional::EqualityStrategy
 Cstd::false_type
 Csl::type_list::filter< List, Filter >Primary template isn't defined on purpose
 Csl::type_list::filter< Container< Elements... >, Filter >Applies the filter trait on each element of the source type-list
 Csl::type_list::filter< List, detail::not_same_as_filter< Type >::template type >
 Csl::math::frexp_result< T >Result type for the frexp operation
 Csl::type_list::front< List >Primary template isn't defined on purpose
 Csl::type_list::front< Container< First, Others... > >Specialization retrieving the first element of the source type-list
 Csl::nullables::in_place_null_tTag type for adapters, which can be used to disambiguate the construction with just a null-object
 Cstd::integral_constant
 CInvokePolicy
 Csl::math::modf_result< T >Result type for the modf operation
 Csl::functional::NegationOperator< Derived >
 Csl::nullhandle_tHelper type for indicating unique_handles with uninitialized state
 COperatorPolicies
 Csl::functional::PipeOperator< Derived >
 Csl::functional::PipeStrategy
 Csl::type_list::populated_from< TargetContainer, List >Primary template isn't defined on purpose
 Csl::type_list::populated_from< TargetContainer, SourceContainer< Elements... > >Specialization applying each element of the source container as template argument of the target container
 Csl::type_list::prepend< List, Types >Primary template isn't defined on purpose
 Csl::type_list::prepend< Container< Elements... >, Types... >Adds the given types at the begin of the source type-list
 Csl::qualified_category_as< To, From >
 Csl::type_list::remove_at< List, index >Primary template, traversing all elements of the given type-list
 Csl::type_list::remove_at< List, 0 >Root specialization, omitting the first element from the source type-list
 Csl::remove_type_const< T >Primary template, removing const from value types
 Csl::remove_type_const< T & >Specialization, unwrapping lvalue reference types
 Csl::remove_type_const< T && >Specialization, unwrapping rvalue reference types
 Csl::remove_type_const< T * >Specialization, unwrapping pointer types
 Csl::remove_type_const< T *const >Specialization, unwrapping const pointer types
 Csl::remove_type_const< T *const volatile >Specialization, unwrapping const volatile pointer types
 Csl::remove_type_const< T *volatile >Specialization, unwrapping volatile pointer types
 Csl::remove_type_cv< T >Primary template, removing const and volatile from value types
 Csl::remove_type_volatile< T >Primary template, removing volatile from value types
 Csl::remove_type_volatile< T & >Specialization, unwrapping lvalue reference types
 Csl::remove_type_volatile< T && >Specialization, unwrapping rvalue reference types
 Csl::remove_type_volatile< T * >Specialization, unwrapping pointer types
 Csl::remove_type_volatile< T *const >Specialization, unwrapping const pointer types
 Csl::remove_type_volatile< T *const volatile >Specialization, unwrapping const volatile pointer types
 Csl::remove_type_volatile< T *volatile >Specialization, unwrapping volatile pointer types
 Csl::math::remquo_result< T >Result type for the remquo operation
 Csl::type_list::reverse< List >Reverses the order of all elements
 Csl::type_list::reverse< Container<> >Specialization for empty type-lists
 Csl::type_list::tail< List >Primary template isn't defined on purpose
 Csl::type_list::tail< Container< First, Others... > >Specialization for non-empty source type-lists
 Csl::type_list::tail< Container<> >Specialization for empty source type-lists
 Csl::nullables::traits< T >The main trait, which may be specialized from
 Csl::nullables::traits< adapter< TNull, TAdapted > >Specialization for raw pointers
 Csl::nullables::traits< std::optional< TArgs... > >Specialization for std::optional
 Csl::nullables::traits< std::shared_ptr< TArgs... > >Specialization for std::shared_ptr
 Csl::nullables::traits< std::unique_ptr< TArgs... > >Specialization for std::unique_ptr
 Csl::nullables::traits< T >Specialization for raw pointers
 Csl::nullables::traits< unique_handle< T, TDeleteAction > >Specialization for unique_handle types
 Csl::type_list::transform< UnaryOperation, List >Primary template isn't defined on purpose
 Csl::type_list::transform< UnaryOperation, Container< Elements... > >Specialization, which applies the UnaryOperation on each element of the given type-list
 Cstd::true_type
 Csl::type_constness_as< To, From >Applies or removes the const qualification of To in regards of From
 Csl::type_qualification_as< To, From >Applies or removes the const and/or volatile qualifications of To in regards of From
 Csl::type_volatileness_as< To, From >Applies or removes the volatile qualification of To in regards of From
 Csl::type_list::TypeList< Types >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
 Csl::unified_base< TTag >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
 Csl::type_list::unique< List >Root specialization for empty type lists
 Csl::type_list::unique< List >Specialization, traversing each element of the given type-list
 Csl::unique_handle< T, TDeleteAction >This type models some kind of std::optional behaviour but resets itself on move operations
 Csl::type_list::unordered_equal< First, OtherLists >Primary template isn't defined on purpose
 Csl::functional::unwrap_functional< T >Primary template for non BasicClosure types
 Csl::functional::unwrap_functional< BasicClosure< Fn, InvokePolicy, OperatorPolicies... > & >Specialization for lvalue-references of BasicClosure class
 Csl::functional::unwrap_functional< BasicClosure< Fn, InvokePolicy, OperatorPolicies... > && >Specialization for rvalue-references of BasicClosure class
 Csl::functional::unwrap_functional< const BasicClosure< Fn, InvokePolicy, OperatorPolicies... > & >Specialization for const lvalue-references of BasicClosure class
 Csl::functional::unwrap_functional< const BasicClosure< Fn, InvokePolicy, OperatorPolicies... > && >Specialization for const rvalue-references of BasicClosure class
 Csl::value_category_as< To, From >Primary template, removing any reference category
 Csl::value_category_as< To, From & >Specialization, applying the lvalue reference category
 Csl::value_category_as< To, From && >Specialization, applying the rvalue reference category
 Csl::type_list::zip_as< TargetContainer, Lists >Algorithm yielding the result as the type member alias
 Csl::type_list::zip_nth_elements_as< TargetContainer, index, Lists >Algorithm yielding the result as the type member alias
 Csl::tuple::zip_result< Tuples >Trait type determining the result of a zip call
 Csl::functional::Fns