20namespace bio::alphabet::detail
 
   36concept alphabet_tuple_like = 
requires { 
requires t::biocpp_alphabet_tuple_like; };
 
   55    using type = meta::type_list<>;
 
   68    requires(
requires { 
typename t::biocpp_required_types; })
 
   69struct required_types<t>
 
   72    using type = 
typename t::biocpp_required_types;
 
   79using required_types_t = 
typename required_types<t>::type;
 
   92struct recursive_required_types
 
   95    using type = meta::type_list<>;
 
  103    requires(
requires { 
typename t::biocpp_recursive_required_types; })
 
  104struct recursive_required_types<t>
 
  107    using type = 
typename t::biocpp_recursive_required_types;
 
  114using recursive_required_types_t = 
typename recursive_required_types<t>::type;
 
  125struct constructible_from
 
  128    template <
typename type>
 
  137struct implicitly_convertible_from
 
  140    template <
typename type>
 
  149struct assignable_from
 
  152    template <
typename type>
 
  161struct weakly_equality_comparable_with_
 
  164    template <
typename type>
 
  173struct weakly_ordered_with_
 
  176    template <
typename type>
 
  187template <
typename lhs_t, 
typename rhs_t>
 
  188struct weakly_equality_comparable_with_trait :
 
  195template <
typename lhs_t, 
typename rhs_t>
 
  209template <
typename... alternative_types>
 
  210    requires((detail::writable_constexpr_alphabet<alternative_types> && ...) &&
 
  211             (std::regular<alternative_types> && ...) && (
sizeof...(alternative_types) >= 2))
 
  214template <
typename derived_type, 
typename... component_types>
 
  215    requires((detail::writable_constexpr_semialphabet<component_types> && ...) &&
 
  216             (std::regular<component_types> && ...))
 
Core alphabet concept and free function/type trait wrappers.
Provides concepts for core language types and relations that don't have concepts in C++20 (yet).
The alphabet module's namespace.
Definition: aa10li.hpp:23
Provides bio::meta::type_list.