266 { B::language } -> std::convertible_to<lang>;
267 typename B::module_type;
276 requires(
typename B::module_type& m,
const char* s,
277 std::remove_cvref_t<
decltype(B::open_module(
278 std::declval<typename B::module_type&>()))> session) {
279 { B::open_module(m) };
280 { B::add_submodule(m, s) } -> std::same_as<typename B::module_type>;
281 B::set_module_doc(m, s);
282 B::close_module(m, session);
283 { B::special_method_name(^^
int) } -> std::convertible_to<const char*>;
284 B::template add_function<std::array<std::meta::info, 1>{^^
int},
285 detail::any_type>(m);
286 B::template add_variable<^^int, detail::any_type>(m, session);
293 requires(
typename B::template class_handle_type<detail::any_type>& cls,
294 typename B::template enum_handle_type<detail::any_enum>& en,
296 B::template add_constructors<detail::any_type,
297 std::array<std::meta::info, 0>{},
false,
299 B::template add_field<^^int, detail::any_type>(cls);
300 B::template add_property<detail::any_type, ^^int, std::meta::info{}>(cls,
302 B::template add_method<std::array<std::meta::info, 1>{^^
int},
303 detail::any_type>(cls);
304 B::template add_static_method<std::array<std::meta::info, 1>{^^
int},
305 detail::any_type>(cls);
306 B::template add_operator<detail::any_type,
307 std::array<std::meta::info, 1>{^^
int}>(cls);
308 B::template add_comparisons<detail::any_type,
309 std::array<std::meta::info, 1>{^^
int},
310 std::array<bool, 4>{}>(cls);
311 B::template add_stringifier<detail::any_type, ^^int>(cls);
312 B::template add_enumerator<^^int, detail::any_type>(en);
313 B::template finish_enum<detail::any_enum>(en);
405 requires(std::meta::info e,
lang L,
policy_kind pol, std::meta::info into) {
406 { R::participates(e, L) } -> std::convertible_to<bool>;
407 { R::is_native_base(e, L, into) } -> std::convertible_to<bool>;
408 { R::member_participates(e, L, pol, into) } -> std::convertible_to<bool>;
409 { R::class_member_participates(e, L, pol, into) } -> std::convertible_to<bool>;
410 { R::namespace_participates(e, L, pol, into) } -> std::convertible_to<bool>;
411 { R::counts_as_registered(e, L) } -> std::convertible_to<bool>;
415 -> std::ranges::range;
416 requires std::same_as<
417 std::ranges::range_value_t<
418 decltype(R::template native_bases<^^detail::any_type,
lang{}>())>,