Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
sol::meta Namespace Reference

Namespaces

 detail
 
 meta_detail
 

Classes

struct  all
 
struct  all< T, Args... >
 
struct  all_same
 
struct  all_same< T, U, Args... >
 
struct  any
 
struct  any< T, Args... >
 
struct  any_same
 
struct  any_same< T, U, Args... >
 
struct  at_in_pack
 
struct  at_in_pack< 0, Arg, Args... >
 
struct  at_in_pack< I, Arg, Args... >
 
struct  conditional
 
struct  conditional< false >
 
struct  count_for
 
struct  count_for< Pred, types< Args... > >
 
struct  count_for_pack
 
struct  count_for_to_pack
 
struct  count_when_for_to_pack
 
struct  find_in_pack_v
 
struct  find_in_pack_v< V, Vs1, Vs... >
 
struct  has_begin_end
 
struct  has_iterator
 
struct  has_key_comp
 
struct  has_key_type
 
struct  has_key_value_pair
 
struct  has_load_factor
 
struct  has_mapped_type
 
struct  has_value_type
 
struct  identity
 
struct  index_in
 
struct  index_in< T, types< Args... > >
 
struct  index_in_pack
 
struct  is_invokable
 
struct  is_invokable< Fun(Args...)>
 
struct  is_move_only
 
struct  is_pair
 
struct  is_pair< std::pair< T1, T2 > >
 
struct  is_string_of
 
struct  is_string_of< std::basic_string< CharT, TraitsT, AllocT >, CharTargetT >
 
struct  is_string_view_of
 
struct  is_string_view_of< std::basic_string_view< CharT, TraitsT >, CharTargetT >
 
struct  iterator_tag
 
struct  iterator_tag< T, conditional_t< false, typename std::iterator_traits< T >::iterator_category, void > >
 
struct  pop_front_type
 
struct  pop_front_type< types< Arg, Args... > >
 
struct  pop_front_type< types< Args... > >
 
struct  remove_member_pointer
 
struct  remove_member_pointer< R T::* >
 
struct  remove_member_pointer< R T::*const >
 
struct  return_type
 
struct  return_type< T >
 
struct  return_type<>
 
class  supports_adl_to_string
 
class  supports_op_equal
 
class  supports_op_left_shift
 
class  supports_op_less
 
class  supports_op_less_equal
 
class  supports_to_string_member
 
struct  unwrap_unqualified
 
struct  unwrapped
 
struct  unwrapped< std::reference_wrapper< T > >
 

Typedefs

template<std::size_t I, typename... Args>
using at_in_pack_t = typename at_in_pack< I, Args... >::type
 
template<typename Signature >
using bind_traits = meta_detail::callable_traits< Signature >
 
template<bool B>
using boolean = std::integral_constant< bool, B >
 
template<typename F >
using call_operator_deducible = typename is_detected< meta_detail::detect_deducible_signature, F >::type
 
template<bool B, typename T , typename U >
using conditional_t = typename conditional< B >::template type< T, U >
 
template<template< typename... > class Pred, typename... Ts>
using count_even_for_pack = count_when_for_to_pack< meta_detail::on_even, sizeof...(Ts), Pred, Ts... >
 
template<template< typename... > class Pred, typename... Ts>
using count_odd_for_pack = count_when_for_to_pack< meta_detail::on_odd, sizeof...(Ts), Pred, Ts... >
 
template<typename... Args>
using disable = std::enable_if_t< neg< all< Args... > >::value, enable_t >
 
template<typename... Args>
using disable_any = std::enable_if_t< neg< any< Args... > >::value, enable_t >
 
template<bool value, typename T = void>
using disable_if_t = std::enable_if_t<!value, T >
 
template<typename... Args>
using enable = std::enable_if_t< all< Args... >::value, enable_t >
 
template<typename... Args>
using enable_any = std::enable_if_t< any< Args... >::value, enable_t >
 
template<typename Signature >
using function_args_t = typename bind_traits< Signature >::args_list
 
template<typename Signature >
using function_return_t = typename bind_traits< Signature >::return_type
 
template<typename Signature >
using function_signature_t = typename bind_traits< Signature >::signature_type
 
template<typename T >
using has_insert = meta::boolean< meta_detail::has_insert_test< T >::value >
 
template<typename T >
using has_insert_after = meta::boolean< meta_detail::has_insert_after_test< T >::value >
 
template<typename T >
using has_insert_with_iterator = meta::boolean< meta_detail::has_insert_with_iterator_test< T >::value >
 
template<typename T >
using has_max_size = meta::boolean< meta_detail::has_max_size_test< T >::value >
 
template<typename T >
using has_push_back = meta::boolean< meta_detail::has_push_back_test< T >::value >
 
template<typename T >
using has_size = meta::boolean< meta_detail::has_size_test< T >::value >
 
template<typename T >
using identity_t = typename identity< T >::type
 
template<std::size_t I>
using index_value = std::integral_constant< std::size_t, I >
 
template<typename T >
using is_associative = meta::all< has_key_type< T >, has_key_value_pair< T >, has_mapped_type< T > >
 
template<typename T >
using is_builtin_type = std::integral_constant< bool, std::is_arithmetic< T >::value||std::is_pointer< T >::value||std::is_array< T >::value >
 
template<typename T >
using is_c_str = is_c_str_of< T, char >
 
template<typename T , typename Char >
using is_c_str_of = any< std::is_same< T, const Char * >, std::is_same< T, Char const *const >, std::is_same< T, Char * >, is_string_literal_array_of< T, Char > >
 
template<typename T >
using is_c_str_or_string = is_c_str_or_string_of< T, char >
 
template<typename T , typename Char >
using is_c_str_or_string_of = any< is_c_str_of< T, Char >, is_string_of< T, Char > >
 
template<template< class... > class Trait, class... Args>
using is_detected = typename meta_detail::is_detected< Trait, void, Args... >::type
 
template<typename T >
using is_initializer_list = meta::is_specialization_of< T, std::initializer_list >
 
template<typename T >
using is_invocable = boolean< meta_detail::is_invocable< T >::value >
 
template<typename T >
using is_lookup = meta::all< has_key_type< T >, has_value_type< T > >
 
template<typename T >
using is_matched_lookup = meta_detail::is_matched_lookup_impl< T, is_lookup< T >::value >
 
template<typename T >
using is_member_object = std::integral_constant< bool, std::is_member_object_pointer_v< T >||is_specialization_of_v< T, readonly_wrapper > >
 
template<typename T >
using is_member_object_or_function = std::integral_constant< bool, is_member_object_v< T >||std::is_member_pointer_v< T > >
 
template<typename T >
using is_not_move_only = neg< is_move_only< T > >
 
template<typename T >
using is_optional = any< is_specialization_of< T, optional >, is_specialization_of< T, std::optional > >
 
template<typename T >
using is_ordered = meta::all< has_key_comp< T >, meta::neg< has_load_factor< T > >>
 
template<typename T >
using is_pointer_like = std::integral_constant< bool, !std::is_array_v< T > &&(std::is_pointer_v< T >||is_detected_v< meta_detail::is_explicitly_dereferenceable_test, T >)>
 
template<typename T >
using is_probably_stateless_lambda = typename meta_detail::is_probably_stateless_lambda< T, std::is_empty_v< T > &&call_operator_deducible_v< T > >::type
 
template<typename T , template< typename... > class Templ>
using is_specialization_of = meta_detail::is_specialization_of< std::remove_cv_t< T >, Templ >
 
template<typename T , typename CharT = char>
using is_string_constructible = meta::boolean< is_string_literal_array_of_v< T, CharT >||std::is_same_v< T, const CharT * >||std::is_same_v< T, CharT >||is_string_of_v< T, CharT >||std::is_same_v< T, std::initializer_list< CharT > >||is_string_view_of_v< T, CharT >||std::is_null_pointer_v< T > >
 
template<typename T >
using is_string_like = meta::boolean< is_specialization_of_v< T, std::basic_string >||is_specialization_of_v< T, std::basic_string_view >||is_string_literal_array_v< T > >
 
template<typename T >
using is_string_like_or_constructible = meta::boolean< is_string_like_v< T >||is_string_constructible_v< T > >
 
template<typename T >
using is_string_literal_array = boolean< std::is_array_v< T > &&any_same_v< std::remove_all_extents_t< T >, char, char16_t, char32_t, wchar_t > >
 
template<typename T , typename CharT = char>
using is_string_literal_array_of = boolean< std::is_array_v< T > &&std::is_same_v< std::remove_all_extents_t< T >, CharT > >
 
template<typename T >
using is_tuple = is_specialization_of< T, std::tuple >
 
template<typename T >
using neg = boolean<!T::value >
 
template<typename Arg >
using pop_front_type_t = typename pop_front_type< Arg >::type
 
template<typename T >
using remove_member_pointer_t = remove_member_pointer< T >
 
template<typename... Args>
using return_type_t = typename return_type< Args... >::type
 
using sfinae_no_t = std::false_type
 
using sfinae_yes_t = std::true_type
 
template<std::size_t N, typename Tuple >
using tuple_element = std::tuple_element< N, std::remove_reference_t< Tuple > >
 
template<std::size_t N, typename Tuple >
using tuple_element_t = std::tuple_element_t< N, std::remove_reference_t< Tuple > >
 
template<typename... Args>
using tuple_types = typename detail::tuple_types_< Args... >::type
 
template<typename T >
using unqualified = std::remove_cv< std::remove_reference_t< T > >
 
template<typename T >
using unqualified_t = typename unqualified< T >::type
 
template<std::size_t N, typename Tuple >
using unqualified_tuple_element = unqualified< tuple_element_t< N, Tuple > >
 
template<std::size_t N, typename Tuple >
using unqualified_tuple_element_t = unqualified_t< tuple_element_t< N, Tuple > >
 
template<typename T >
using unwrap_unqualified_t = typename unwrap_unqualified< T >::type
 
template<typename T >
using unwrapped_t = typename unwrapped< T >::type
 
template<typename... >
using void_t = void
 

Enumerations

enum  enable_t { enable_t::_ }
 

Functions

template<typename... X>
decltype(auto) tuplefy (X &&... x)
 

Variables

template<typename... Args>
constexpr bool all_v = all<Args...>::value
 
template<typename T , typename... Args>
constexpr bool any_same_v = any_same<T, Args...>::value
 
template<typename... Args>
constexpr bool any_v = any<Args...>::value
 
template<bool B>
constexpr bool boolean_v = boolean<B>::value
 
template<typename F >
constexpr bool call_operator_deducible_v = call_operator_deducible<F>::value
 
template<template< typename... > class Pred, typename... Ts>
constexpr std::size_t count_even_for_pack_v = count_even_for_pack<Pred, Ts...>::value
 
template<template< typename... > class Pred, typename... Ts>
constexpr std::size_t count_for_pack_v = count_for_pack<Pred, Ts...>::value
 
template<std::size_t Limit, template< typename... > class Pred, typename... Ts>
constexpr std::size_t count_for_to_pack_v = count_for_to_pack<Limit, Pred, Ts...>::value
 
template<template< typename... > class Pred, typename... Ts>
constexpr std::size_t count_odd_for_pack_v = count_odd_for_pack<Pred, Ts...>::value
 
template<template< typename... > class When, std::size_t Limit, template< typename... > class Pred, typename... Ts>
constexpr std::size_t count_when_for_to_pack_v = count_when_for_to_pack<When, Limit, Pred, Ts...>::value
 
constexpr const auto enabler = enable_t::_
 
template<typename T >
constexpr bool has_begin_end_v = has_begin_end<T>::value
 
template<typename T , typename Char >
constexpr bool is_c_str_of_v = is_c_str_of<T, Char>::value
 
template<typename T , typename Char >
constexpr bool is_c_str_or_string_of_v = is_c_str_or_string_of<T, Char>::value
 
template<typename T >
constexpr bool is_c_str_or_string_v = is_c_str_or_string<T>::value
 
template<typename T >
constexpr bool is_c_str_v = is_c_str<T>::value
 
template<template< class... > class Trait, class... Args>
constexpr bool is_detected_v = is_detected<Trait, Args...>::value
 
template<typename T >
constexpr bool is_initializer_list_v = is_initializer_list<T>::value
 
template<typename T >
constexpr bool is_invocable_v = is_invocable<T>::value
 
template<typename T >
constexpr bool is_member_object_or_function_v = is_member_object_or_function<T>::value
 
template<typename T >
constexpr bool is_member_object_v = is_member_object<T>::value
 
template<typename T >
constexpr bool is_optional_v = is_optional<T>::value
 
template<typename T >
constexpr bool is_pointer_like_v = is_pointer_like<T>::value
 
template<typename T >
constexpr bool is_probably_stateless_lambda_v = is_probably_stateless_lambda<T>::value
 
template<typename T , template< typename... > class Templ>
constexpr bool is_specialization_of_v = is_specialization_of<std::remove_cv_t<T>, Templ>::value
 
template<typename T , typename CharT = char>
constexpr bool is_string_constructible_v = is_string_constructible<T, CharT>::value
 
template<typename T >
constexpr bool is_string_like_v = is_string_like<T>::value
 
template<typename T , typename CharT = char>
constexpr bool is_string_literal_array_of_v = is_string_literal_array_of<T, CharT>::value
 
template<typename T >
constexpr bool is_string_literal_array_v = is_string_literal_array<T>::value
 
template<typename T , typename CharT >
constexpr bool is_string_of_v = is_string_of<T, CharT>::value
 
template<typename T , typename CharT >
constexpr bool is_string_view_of_v = is_string_view_of<T, CharT>::value
 
template<typename T >
constexpr bool is_tuple_v = is_tuple<T>::value
 
template<typename T >
constexpr bool neg_v = neg<T>::value
 

Typedef Documentation

◆ at_in_pack_t

template<std::size_t I, typename... Args>
using sol::meta::at_in_pack_t = typedef typename at_in_pack<I, Args...>::type

Definition at line 2283 of file sol.hpp.

◆ bind_traits

template<typename Signature >
using sol::meta::bind_traits = typedef meta_detail::callable_traits<Signature>

Definition at line 2018 of file sol.hpp.

◆ boolean

template<bool B>
using sol::meta::boolean = typedef std::integral_constant<bool, B>

Definition at line 2207 of file sol.hpp.

◆ call_operator_deducible

Definition at line 1529 of file sol.hpp.

◆ conditional_t

template<bool B, typename T , typename U >
using sol::meta::conditional_t = typedef typename conditional<B>::template type<T, U>

Definition at line 1411 of file sol.hpp.

◆ count_even_for_pack

template<template< typename... > class Pred, typename... Ts>
using sol::meta::count_even_for_pack = typedef count_when_for_to_pack<meta_detail::on_even, sizeof...(Ts), Pred, Ts...>

Definition at line 2338 of file sol.hpp.

◆ count_odd_for_pack

template<template< typename... > class Pred, typename... Ts>
using sol::meta::count_odd_for_pack = typedef count_when_for_to_pack<meta_detail::on_odd, sizeof...(Ts), Pred, Ts...>

Definition at line 2344 of file sol.hpp.

◆ disable

template<typename... Args>
using sol::meta::disable = typedef std::enable_if_t<neg<all<Args...> >::value, enable_t>

Definition at line 2247 of file sol.hpp.

◆ disable_any

template<typename... Args>
using sol::meta::disable_any = typedef std::enable_if_t<neg<any<Args...> >::value, enable_t>

Definition at line 2253 of file sol.hpp.

◆ disable_if_t

template<bool value, typename T = void>
using sol::meta::disable_if_t = typedef std::enable_if_t<!value, T>

Definition at line 2241 of file sol.hpp.

◆ enable

template<typename... Args>
using sol::meta::enable = typedef std::enable_if_t<all<Args...>::value, enable_t>

Definition at line 2244 of file sol.hpp.

◆ enable_any

template<typename... Args>
using sol::meta::enable_any = typedef std::enable_if_t<any<Args...>::value, enable_t>

Definition at line 2250 of file sol.hpp.

◆ function_args_t

template<typename Signature >
using sol::meta::function_args_t = typedef typename bind_traits<Signature>::args_list

Definition at line 2035 of file sol.hpp.

◆ function_return_t

template<typename Signature >
using sol::meta::function_return_t = typedef typename bind_traits<Signature>::return_type

Definition at line 2041 of file sol.hpp.

◆ function_signature_t

template<typename Signature >
using sol::meta::function_signature_t = typedef typename bind_traits<Signature>::signature_type

Definition at line 2038 of file sol.hpp.

◆ has_insert

template<typename T >
using sol::meta::has_insert = typedef meta::boolean<meta_detail::has_insert_test<T>::value>

Definition at line 2703 of file sol.hpp.

◆ has_insert_after

template<typename T >
using sol::meta::has_insert_after = typedef meta::boolean<meta_detail::has_insert_after_test<T>::value>

Definition at line 2709 of file sol.hpp.

◆ has_insert_with_iterator

Definition at line 2706 of file sol.hpp.

◆ has_max_size

template<typename T >
using sol::meta::has_max_size = typedef meta::boolean<meta_detail::has_max_size_test<T>::value>

Definition at line 2700 of file sol.hpp.

◆ has_push_back

template<typename T >
using sol::meta::has_push_back = typedef meta::boolean<meta_detail::has_push_back_test<T>::value>

Definition at line 2697 of file sol.hpp.

◆ has_size

template<typename T >
using sol::meta::has_size = typedef meta::boolean<meta_detail::has_size_test<T>::value>

Definition at line 2712 of file sol.hpp.

◆ identity_t

template<typename T >
using sol::meta::identity_t = typedef typename identity<T>::type

Definition at line 1432 of file sol.hpp.

◆ index_value

template<std::size_t I>
using sol::meta::index_value = typedef std::integral_constant<std::size_t, I>

Definition at line 1396 of file sol.hpp.

◆ is_associative

template<typename T >
using sol::meta::is_associative = typedef meta::all<has_key_type<T>, has_key_value_pair<T>, has_mapped_type<T> >

Definition at line 2715 of file sol.hpp.

◆ is_builtin_type

template<typename T >
using sol::meta::is_builtin_type = typedef std::integral_constant<bool, std::is_arithmetic<T>::value || std::is_pointer<T>::value || std::is_array<T>::value>

Definition at line 1435 of file sol.hpp.

◆ is_c_str

template<typename T >
using sol::meta::is_c_str = typedef is_c_str_of<T, char>

Definition at line 2797 of file sol.hpp.

◆ is_c_str_of

template<typename T , typename Char >
using sol::meta::is_c_str_of = typedef any<std::is_same<T, const Char*>, std::is_same<T, Char const* const>, std::is_same<T, Char*>, is_string_literal_array_of<T, Char> >

Definition at line 2791 of file sol.hpp.

◆ is_c_str_or_string

template<typename T >
using sol::meta::is_c_str_or_string = typedef is_c_str_or_string_of<T, char>

Definition at line 2809 of file sol.hpp.

◆ is_c_str_or_string_of

template<typename T , typename Char >
using sol::meta::is_c_str_or_string_of = typedef any<is_c_str_of<T, Char>, is_string_of<T, Char> >

Definition at line 2803 of file sol.hpp.

◆ is_detected

template<template< class... > class Trait, class... Args>
using sol::meta::is_detected = typedef typename meta_detail::is_detected<Trait, void, Args...>::type

Definition at line 1390 of file sol.hpp.

◆ is_initializer_list

template<typename T >
using sol::meta::is_initializer_list = typedef meta::is_specialization_of<T, std::initializer_list>

Definition at line 2727 of file sol.hpp.

◆ is_invocable

template<typename T >
using sol::meta::is_invocable = typedef boolean<meta_detail::is_invocable<T>::value>

Definition at line 2664 of file sol.hpp.

◆ is_lookup

template<typename T >
using sol::meta::is_lookup = typedef meta::all<has_key_type<T>, has_value_type<T> >

Definition at line 2718 of file sol.hpp.

◆ is_matched_lookup

template<typename T >
using sol::meta::is_matched_lookup = typedef meta_detail::is_matched_lookup_impl<T, is_lookup<T>::value>

Definition at line 2724 of file sol.hpp.

◆ is_member_object

template<typename T >
using sol::meta::is_member_object = typedef std::integral_constant<bool, std::is_member_object_pointer_v<T> || is_specialization_of_v<T, readonly_wrapper> >

Definition at line 18027 of file sol.hpp.

◆ is_member_object_or_function

template<typename T >
using sol::meta::is_member_object_or_function = typedef std::integral_constant<bool, is_member_object_v<T> || std::is_member_pointer_v<T> >

Definition at line 18033 of file sol.hpp.

◆ is_not_move_only

template<typename T >
using sol::meta::is_not_move_only = typedef neg<is_move_only<T> >

Definition at line 2818 of file sol.hpp.

◆ is_optional

template<typename T >
using sol::meta::is_optional = typedef any<is_specialization_of<T, optional>, is_specialization_of<T, std::optional> >

Definition at line 6881 of file sol.hpp.

◆ is_ordered

template<typename T >
using sol::meta::is_ordered = typedef meta::all<has_key_comp<T>, meta::neg<has_load_factor<T> >>

Definition at line 2721 of file sol.hpp.

◆ is_pointer_like

template<typename T >
using sol::meta::is_pointer_like = typedef std::integral_constant<bool, !std::is_array_v<T> && (std::is_pointer_v<T> || is_detected_v<meta_detail::is_explicitly_dereferenceable_test, T>)>

Definition at line 2065 of file sol.hpp.

◆ is_probably_stateless_lambda

template<typename T >
using sol::meta::is_probably_stateless_lambda = typedef typename meta_detail::is_probably_stateless_lambda<T, std::is_empty_v<T> && call_operator_deducible_v<T> >::type

Definition at line 2029 of file sol.hpp.

◆ is_specialization_of

template<typename T , template< typename... > class Templ>
using sol::meta::is_specialization_of = typedef meta_detail::is_specialization_of<std::remove_cv_t<T>, Templ>

Definition at line 1421 of file sol.hpp.

◆ is_string_constructible

template<typename T , typename CharT = char>
using sol::meta::is_string_constructible = typedef meta::boolean< is_string_literal_array_of_v<T, CharT> || std::is_same_v<T, const CharT*> || std::is_same_v<T, CharT> || is_string_of_v<T, CharT> || std::is_same_v<T, std::initializer_list<CharT> > || is_string_view_of_v<T, CharT> || std::is_null_pointer_v<T> >

Definition at line 2776 of file sol.hpp.

◆ is_string_like

template<typename T >
using sol::meta::is_string_like = typedef meta::boolean<is_specialization_of_v<T, std::basic_string> || is_specialization_of_v<T, std::basic_string_view> || is_string_literal_array_v<T> >

Definition at line 2768 of file sol.hpp.

◆ is_string_like_or_constructible

Definition at line 2782 of file sol.hpp.

◆ is_string_literal_array

template<typename T >
using sol::meta::is_string_literal_array = typedef boolean<std::is_array_v<T> && any_same_v<std::remove_all_extents_t<T>, char, char16_t, char32_t, wchar_t> >

Definition at line 2743 of file sol.hpp.

◆ is_string_literal_array_of

template<typename T , typename CharT = char>
using sol::meta::is_string_literal_array_of = typedef boolean<std::is_array_v<T> && std::is_same_v<std::remove_all_extents_t<T>, CharT> >

Definition at line 2733 of file sol.hpp.

◆ is_tuple

template<typename T >
using sol::meta::is_tuple = typedef is_specialization_of<T, std::tuple>

Definition at line 1465 of file sol.hpp.

◆ neg

template<typename T >
using sol::meta::neg = typedef boolean<!T::value>

Definition at line 2213 of file sol.hpp.

◆ pop_front_type_t

template<typename Arg >
using sol::meta::pop_front_type_t = typedef typename pop_front_type<Arg>::type

Definition at line 1489 of file sol.hpp.

◆ remove_member_pointer_t

template<typename T >
using sol::meta::remove_member_pointer_t = typedef remove_member_pointer<T>

Definition at line 2189 of file sol.hpp.

◆ return_type_t

template<typename... Args>
using sol::meta::return_type_t = typedef typename return_type<Args...>::type

Definition at line 2365 of file sol.hpp.

◆ sfinae_no_t

using sol::meta::sfinae_no_t = typedef std::false_type

Definition at line 1367 of file sol.hpp.

◆ sfinae_yes_t

using sol::meta::sfinae_yes_t = typedef std::true_type

Definition at line 1366 of file sol.hpp.

◆ tuple_element

template<std::size_t N, typename Tuple >
using sol::meta::tuple_element = typedef std::tuple_element<N, std::remove_reference_t<Tuple> >

Definition at line 1504 of file sol.hpp.

◆ tuple_element_t

template<std::size_t N, typename Tuple >
using sol::meta::tuple_element_t = typedef std::tuple_element_t<N, std::remove_reference_t<Tuple> >

Definition at line 1507 of file sol.hpp.

◆ tuple_types

template<typename... Args>
using sol::meta::tuple_types = typedef typename detail::tuple_types_<Args...>::type

Definition at line 1483 of file sol.hpp.

◆ unqualified

template<typename T >
using sol::meta::unqualified = typedef std::remove_cv<std::remove_reference_t<T> >

Definition at line 1373 of file sol.hpp.

◆ unqualified_t

template<typename T >
using sol::meta::unqualified_t = typedef typename unqualified<T>::type

Definition at line 1376 of file sol.hpp.

◆ unqualified_tuple_element

template<std::size_t N, typename Tuple >
using sol::meta::unqualified_tuple_element = typedef unqualified<tuple_element_t<N, Tuple> >

Definition at line 1510 of file sol.hpp.

◆ unqualified_tuple_element_t

template<std::size_t N, typename Tuple >
using sol::meta::unqualified_tuple_element_t = typedef unqualified_t<tuple_element_t<N, Tuple> >

Definition at line 1513 of file sol.hpp.

◆ unwrap_unqualified_t

template<typename T >
using sol::meta::unwrap_unqualified_t = typedef typename unwrap_unqualified<T>::type

Definition at line 2173 of file sol.hpp.

◆ unwrapped_t

template<typename T >
using sol::meta::unwrapped_t = typedef typename unwrapped<T>::type

Definition at line 2167 of file sol.hpp.

◆ void_t

template<typename... >
using sol::meta::void_t = typedef void

Definition at line 1370 of file sol.hpp.

Enumeration Type Documentation

◆ enable_t

enum sol::meta::enable_t
strong
Enumerator

Definition at line 2236 of file sol.hpp.

Function Documentation

◆ tuplefy()

template<typename... X>
decltype(auto) sol::meta::tuplefy ( X &&...  x)

Definition at line 2833 of file sol.hpp.

Variable Documentation

◆ all_v

template<typename... Args>
constexpr bool sol::meta::all_v = all<Args...>::value
inlineconstexpr

Definition at line 2231 of file sol.hpp.

◆ any_same_v

template<typename T , typename... Args>
constexpr bool sol::meta::any_same_v = any_same<T, Args...>::value
inlineconstexpr

Definition at line 2204 of file sol.hpp.

◆ any_v

template<typename... Args>
constexpr bool sol::meta::any_v = any<Args...>::value
inlineconstexpr

Definition at line 2234 of file sol.hpp.

◆ boolean_v

template<bool B>
constexpr bool sol::meta::boolean_v = boolean<B>::value
inlineconstexpr

Definition at line 2210 of file sol.hpp.

◆ call_operator_deducible_v

template<typename F >
constexpr bool sol::meta::call_operator_deducible_v = call_operator_deducible<F>::value
inlineconstexpr

Definition at line 1532 of file sol.hpp.

◆ count_even_for_pack_v

template<template< typename... > class Pred, typename... Ts>
constexpr std::size_t sol::meta::count_even_for_pack_v = count_even_for_pack<Pred, Ts...>::value
inlineconstexpr

Definition at line 2341 of file sol.hpp.

◆ count_for_pack_v

template<template< typename... > class Pred, typename... Ts>
constexpr std::size_t sol::meta::count_for_pack_v = count_for_pack<Pred, Ts...>::value
inlineconstexpr

Definition at line 2317 of file sol.hpp.

◆ count_for_to_pack_v

template<std::size_t Limit, template< typename... > class Pred, typename... Ts>
constexpr std::size_t sol::meta::count_for_to_pack_v = count_for_to_pack<Limit, Pred, Ts...>::value
inlineconstexpr

Definition at line 2329 of file sol.hpp.

◆ count_odd_for_pack_v

template<template< typename... > class Pred, typename... Ts>
constexpr std::size_t sol::meta::count_odd_for_pack_v = count_odd_for_pack<Pred, Ts...>::value
inlineconstexpr

Definition at line 2347 of file sol.hpp.

◆ count_when_for_to_pack_v

template<template< typename... > class When, std::size_t Limit, template< typename... > class Pred, typename... Ts>
constexpr std::size_t sol::meta::count_when_for_to_pack_v = count_when_for_to_pack<When, Limit, Pred, Ts...>::value
inlineconstexpr

Definition at line 2335 of file sol.hpp.

◆ enabler

constexpr const auto sol::meta::enabler = enable_t::_
constexpr

Definition at line 2238 of file sol.hpp.

◆ has_begin_end_v

template<typename T >
constexpr bool sol::meta::has_begin_end_v = has_begin_end<T>::value
inlineconstexpr

Definition at line 2673 of file sol.hpp.

◆ is_c_str_of_v

template<typename T , typename Char >
constexpr bool sol::meta::is_c_str_of_v = is_c_str_of<T, Char>::value
inlineconstexpr

Definition at line 2794 of file sol.hpp.

◆ is_c_str_or_string_of_v

template<typename T , typename Char >
constexpr bool sol::meta::is_c_str_or_string_of_v = is_c_str_or_string_of<T, Char>::value
inlineconstexpr

Definition at line 2806 of file sol.hpp.

◆ is_c_str_or_string_v

template<typename T >
constexpr bool sol::meta::is_c_str_or_string_v = is_c_str_or_string<T>::value
inlineconstexpr

Definition at line 2812 of file sol.hpp.

◆ is_c_str_v

template<typename T >
constexpr bool sol::meta::is_c_str_v = is_c_str<T>::value
inlineconstexpr

Definition at line 2800 of file sol.hpp.

◆ is_detected_v

template<template< class... > class Trait, class... Args>
constexpr bool sol::meta::is_detected_v = is_detected<Trait, Args...>::value
inlineconstexpr

Definition at line 1393 of file sol.hpp.

◆ is_initializer_list_v

template<typename T >
constexpr bool sol::meta::is_initializer_list_v = is_initializer_list<T>::value
inlineconstexpr

Definition at line 2730 of file sol.hpp.

◆ is_invocable_v

template<typename T >
constexpr bool sol::meta::is_invocable_v = is_invocable<T>::value
inlineconstexpr

Definition at line 2667 of file sol.hpp.

◆ is_member_object_or_function_v

template<typename T >
constexpr bool sol::meta::is_member_object_or_function_v = is_member_object_or_function<T>::value
inlineconstexpr

Definition at line 18036 of file sol.hpp.

◆ is_member_object_v

template<typename T >
constexpr bool sol::meta::is_member_object_v = is_member_object<T>::value
inlineconstexpr

Definition at line 18030 of file sol.hpp.

◆ is_optional_v

template<typename T >
constexpr bool sol::meta::is_optional_v = is_optional<T>::value
inlineconstexpr

Definition at line 6884 of file sol.hpp.

◆ is_pointer_like_v

template<typename T >
constexpr bool sol::meta::is_pointer_like_v = is_pointer_like<T>::value
inlineconstexpr

Definition at line 2068 of file sol.hpp.

◆ is_probably_stateless_lambda_v

template<typename T >
constexpr bool sol::meta::is_probably_stateless_lambda_v = is_probably_stateless_lambda<T>::value
inlineconstexpr

Definition at line 2032 of file sol.hpp.

◆ is_specialization_of_v

template<typename T , template< typename... > class Templ>
constexpr bool sol::meta::is_specialization_of_v = is_specialization_of<std::remove_cv_t<T>, Templ>::value
inlineconstexpr

Definition at line 1424 of file sol.hpp.

◆ is_string_constructible_v

template<typename T , typename CharT = char>
constexpr bool sol::meta::is_string_constructible_v = is_string_constructible<T, CharT>::value
inlineconstexpr

Definition at line 2779 of file sol.hpp.

◆ is_string_like_v

template<typename T >
constexpr bool sol::meta::is_string_like_v = is_string_like<T>::value
inlineconstexpr

Definition at line 2771 of file sol.hpp.

◆ is_string_literal_array_of_v

template<typename T , typename CharT = char>
constexpr bool sol::meta::is_string_literal_array_of_v = is_string_literal_array_of<T, CharT>::value
inlineconstexpr

Definition at line 2736 of file sol.hpp.

◆ is_string_literal_array_v

template<typename T >
constexpr bool sol::meta::is_string_literal_array_v = is_string_literal_array<T>::value
inlineconstexpr

Definition at line 2746 of file sol.hpp.

◆ is_string_of_v

template<typename T , typename CharT >
constexpr bool sol::meta::is_string_of_v = is_string_of<T, CharT>::value
inlineconstexpr

Definition at line 2755 of file sol.hpp.

◆ is_string_view_of_v

template<typename T , typename CharT >
constexpr bool sol::meta::is_string_view_of_v = is_string_view_of<T, CharT>::value
inlineconstexpr

Definition at line 2764 of file sol.hpp.

◆ is_tuple_v

template<typename T >
constexpr bool sol::meta::is_tuple_v = is_tuple<T>::value
inlineconstexpr

Definition at line 1468 of file sol.hpp.

◆ neg_v

template<typename T >
constexpr bool sol::meta::neg_v = neg<T>::value
inlineconstexpr

Definition at line 2216 of file sol.hpp.



plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Nov 11 2024 03:23:53