Simple-Utility v2.3.1
Loading...
Searching...
No Matches
sl Namespace Reference

Namespaces

namespace  concepts
 
namespace  functional
 
namespace  math
 
namespace  nullables
 
namespace  tuple
 
namespace  type_list
 

Classes

struct  add_type_const
 Primary template, adding const to value types. More...
 
struct  add_type_const< T & >
 Specialization, unwrapping lvalue reference types. More...
 
struct  add_type_const< T && >
 Specialization, unwrapping rvalue reference types. More...
 
struct  add_type_const< T * >
 Specialization, unwrapping pointer types. More...
 
struct  add_type_const< T *const >
 Specialization, unwrapping const pointer types. More...
 
struct  add_type_const< T *const volatile >
 Specialization, unwrapping const volatile pointer types. More...
 
struct  add_type_const< T *volatile >
 Specialization, unwrapping volatile pointer types. More...
 
struct  add_type_cv
 Primary template, adding const and volatile to value types. More...
 
struct  add_type_volatile
 Primary template, adding volatile to value types. More...
 
struct  add_type_volatile< T & >
 Specialization, unwrapping lvalue reference types. More...
 
struct  add_type_volatile< T && >
 Specialization, unwrapping rvalue reference types. More...
 
struct  add_type_volatile< T * >
 Specialization, unwrapping pointer types. More...
 
struct  add_type_volatile< T *const >
 Specialization, unwrapping const pointer types. More...
 
struct  add_type_volatile< T *const volatile >
 Specialization, unwrapping const volatile pointer types. More...
 
struct  add_type_volatile< T *volatile >
 Specialization, unwrapping volatile pointer types. More...
 
class  CRTPBase
 Utility type, which can be used as a base class for the crtp pattern. More...
 
struct  cv_qualified_type
 Primary template, taking the T as-is. More...
 
struct  cv_qualified_type< T >
 Specialization, unwrapping reference types. More...
 
struct  default_delete_action
 default delete action for unique_handle with an empty operator () More...
 
struct  nullhandle_t
 helper type for indicating unique_handles with uninitialized state More...
 
struct  qualified_category_as
 
struct  remove_type_const
 Primary template, removing const from value types. More...
 
struct  remove_type_const< T & >
 Specialization, unwrapping lvalue reference types. More...
 
struct  remove_type_const< T && >
 Specialization, unwrapping rvalue reference types. More...
 
struct  remove_type_const< T * >
 Specialization, unwrapping pointer types. More...
 
struct  remove_type_const< T *const >
 Specialization, unwrapping const pointer types. More...
 
struct  remove_type_const< T *const volatile >
 Specialization, unwrapping const volatile pointer types. More...
 
struct  remove_type_const< T *volatile >
 Specialization, unwrapping volatile pointer types. More...
 
struct  remove_type_cv
 Primary template, removing const and volatile from value types. More...
 
struct  remove_type_volatile
 Primary template, removing volatile from value types. More...
 
struct  remove_type_volatile< T & >
 Specialization, unwrapping lvalue reference types. More...
 
struct  remove_type_volatile< T && >
 Specialization, unwrapping rvalue reference types. More...
 
struct  remove_type_volatile< T * >
 Specialization, unwrapping pointer types. More...
 
struct  remove_type_volatile< T *const >
 Specialization, unwrapping const pointer types. More...
 
struct  remove_type_volatile< T *const volatile >
 Specialization, unwrapping const volatile pointer types. More...
 
struct  remove_type_volatile< T *volatile >
 Specialization, unwrapping volatile pointer types. More...
 
struct  type_constness_as
 Applies or removes the const qualification of To in regards of From. More...
 
struct  type_qualification_as
 Applies or removes the const and/or volatile qualifications of To in regards of From. More...
 
struct  type_volatileness_as
 Applies or removes the volatile qualification of To in regards of From. More...
 
struct  unified_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. More...
 
class  unique_handle
 This type models some kind of std::optional behaviour but resets itself on move operations. More...
 
struct  value_category_as
 Primary template, removing any reference category. More...
 
struct  value_category_as< To, From & >
 Specialization, applying the lvalue reference category. More...
 
struct  value_category_as< To, From && >
 Specialization, applying the rvalue reference category. More...
 

Concepts

concept  derived_from_unified_base
 Determines whether T is derived of unified_base with the provided tag type.
 
concept  value
 Checks whether the given template type is usable as value type for unique_handle types.
 
concept  delete_action_for
 Checks whether the given template type is usable as delete action type for unique_handle types.
 

Typedefs

template<class T >
using cv_qualified_type_t = typename cv_qualified_type< T >::type
 Convenience alias, exposing the type member alias of the cv_qualified_type trait.
 
template<class T >
using add_type_const_t = typename add_type_const< T >::type
 Convenience alias, exposing the type member alias of the add_type_const trait.
 
template<class T >
using remove_type_const_t = typename remove_type_const< T >::type
 Convenience alias, exposing the type member alias of the remove_type_const trait.
 
template<class T >
using add_type_volatile_t = typename add_type_volatile< T >::type
 Convenience alias, exposing the type member alias of the add_type_volatile trait.
 
template<class T >
using remove_type_volatile_t = typename remove_type_volatile< T >::type
 Convenience alias, exposing the type member alias of the remove_type_volatile trait.
 
template<class T >
using add_type_cv_t = typename add_type_cv< T >::type
 Convenience alias, exposing the type member alias of the add_type_cv trait.
 
template<class T >
using remove_type_cv_t = typename remove_type_cv< T >::type
 Convenience alias, exposing the type member alias of the remove_type_cv trait.
 
template<class To , class From >
using value_category_as_t = typename value_category_as< To, From >::type
 Convenience alias, exposing the type member alias of the value_category_as trait.
 
template<class To , class From >
using type_constness_as_t = typename type_constness_as< To, From >::type
 Convenience alias, exposing the type member alias of the type_constness_as trait.
 
template<class To , class From >
using type_volatileness_as_t = typename type_volatileness_as< To, From >::type
 Convenience alias, exposing the type member alias of the type_volatileness_as trait.
 
template<class To , class From >
using type_qualification_as_t = typename type_qualification_as< To, From >::type
 Convenience alias, exposing the type member alias of the type_qualification_as trait.
 
template<class To , class From >
using qualified_category_as_t = typename qualified_category_as< To, From >::type
 Convenience alias, exposing the type member alias of the qualified_category_as trait.
 
using bad_handle_access = std::bad_optional_access
 exception type which indicates checked access to an uninitialized value
 

Functions

template<class T , class TDeleteAction >
 unique_handle (T, TDeleteAction) -> unique_handle< detail::type_t< detail::value_validator< T > >, detail::type_t< detail::delete_action_validator< T, TDeleteAction > > >
 Deduction guide for unique_handle class.
 
template<class T >
 unique_handle (T) -> unique_handle< T >
 Deduction guide for unique_handle class.
 

Variables

constexpr nullhandle_t nullhandle {}
 an object of type nullhandle_t