mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Data Structures | Namespaces | Concepts | Typedefs | Functions | Variables
concepts.hpp File Reference
#include <concepts>
#include <functional>
#include <memory>
#include <mutable/util/unsharable_shared_ptr.hpp>
#include <type_traits>
Include dependency graph for concepts.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  m::common_type< T, T >
 Specialization for equal types. More...
 
struct  m::common_type< T, U >
 If both. More...
 
struct  m::detail::is_specialization< T, Template >
 
struct  m::detail::is_specialization< Template< Args... >, Template >
 
struct  m::param_pack_t< Ts >
 Helper struct for parameter packs. More...
 
struct  m::detail::is_param_pack< T >
 Checks whether. More...
 
struct  m::detail::is_param_pack< param_pack_t< Ts... > >
 Specialization for. More...
 
struct  m::detail::as_tuple< param_pack_t< Ts... > >
 Specialization for. More...
 
struct  m::detail::typed_param_pack_helper< P, T >
 Helper struct to check whether parameter pack type. More...
 

Namespaces

namespace  m
 

‍mutable namespace


 
namespace  m::detail
 

Concepts

concept  m::boolean
 Check whether.
 
concept  m::character
 Check whether.
 
concept  m::integral
 Check whether.
 
concept  m::signed_integral
 Check whether.
 
concept  m::unsigned_integral
 Check whether.
 
concept  m::arithmetic
 Check whether.
 
concept  m::pointer
 Check whether.
 
concept  m::primitive
 Check whether.
 
concept  m::pointer_to_primitive
 Check whether.
 
concept  m::decayable
 Check whether.
 
concept  m::same_signedness
 Check whether types.
 
concept  m::equally_floating
 Check whether types.
 
concept  m::have_common_type
 Check whether.
 
concept  m::is_unique_ptr
 Check whether.
 
concept  m::is_unsharable_shared_ptr
 Check whether.
 
concept  m::is_reference_wrapper
 Check whether.
 
concept  m::is_template_instantiable
 
concept  m::is_specialization
 Check whether.
 
concept  m::param_pack
 Check whether.
 
concept  m::typed_param_pack
 Check whether.
 
concept  m::size_param_pack
 Check whether.
 
concept  m::streamable
 Check whether.
 
concept  m::is_invocable
 Check whether.
 

Typedefs

template<typename T , typename U >
using m::common_type_t = typename common_type< T, U >::type
 Convenience alias for common_type<T, U>::type.
 
template<typename T >
using m::detail::as_tuple_t = typename as_tuple< T >::type
 Convenience alias for as_tuple<T>::type.
 
template<std::size_t I, param_pack P>
using m::param_pack_element_t = std::tuple_element_t< I, detail::as_tuple_t< P > >
 Returns the.
 

Functions

template<typename T , typename U >
requires arithmetic<T>
and arithmetic< U > and same_signedness< T, U > m::and (not equally_floating< T, U >) struct common_type< T
 If both.
 

Variables

and arithmetic< U > and same_signedness< T, U > m::U
 
template<typename T >
constexpr bool m::detail::is_param_pack_v = is_param_pack<T>::value
 Convenience alias for is_param_pack<T>::value.
 
template<param_pack P>
constexpr std::size_t m::param_pack_size_v = std::tuple_size_v<detail::as_tuple_t<P>>
 Returns the size of a parameter pack type.