|
|
#define | ANYXX_USE_EBO |
|
#define | LIFETIMEBOUND |
|
#define | AYXFORCEDINLINE inline __attribute__((always_inline)) |
| #define | ANYXX_EXTRACT(...) |
|
#define | ANYXX_NOTHING_ANYXX_EXTRACT |
| #define | ANYXX_PASTE(x, ...) |
| #define | ANYXX_EVALUATING_PASTE(x, ...) |
| #define | ANYXX_UNPAREN(x) |
| #define | ANYXX_JACKET_RETURN(...) |
| #define | _detail_EXPAND(...) |
| #define | _detail_EXPAND4(...) |
| #define | _detail_EXPAND3(...) |
| #define | _detail_EXPAND2(...) |
| #define | _detail_EXPAND1(...) |
| #define | _detail_EXPAND_(...) |
| #define | _detail_EXPAND_4(...) |
| #define | _detail_EXPAND_3(...) |
| #define | _detail_EXPAND_2(...) |
| #define | _detail_EXPAND_1(...) |
|
#define | _detail_PARENS () |
| #define | _detail_APPLY(macro, args) |
| #define | _detail_REMOVE_PARENS(l) |
| #define | _detail_foreach_macro_h(macro, a, ...) |
| #define | _detail_foreach_macro_a() |
| #define | _detail_foreach_macro(macro, ...) |
| #define | _detail_map_macro_h(macro, a, ...) |
| #define | _detail_map_macro(macro, ...) |
| #define | _detail_map_macro_a() |
| #define | _detail_CONCAT_H(a, b) |
| #define | _detail_CONCAT(a, b) |
| #define | _detail_ANYXX_FORWARD_PARAM_LIST_H(b, c, f, ...) |
| #define | _detail_ANYXX_FORWARD_PARAM_LIST_A() |
| #define | _detail_ANYXX_FORWARD_PARAM_LIST(...) |
| #define | _detail_ANYXX_CONCEPT_ARG_LIST_H(b, c, f, ...) |
| #define | _detail_ANYXX_FORWARD_PARAM_LIST_A() |
| #define | _detail_ANYXX_FORWARD_PARAM_LIST(...) |
| #define | _detail_ANYXX_FORWARD_PARAM_LIST_TO_MAP_H(b, c, param_type, ...) |
| #define | _detail_ANYXX_FORWARD_PARAM_LIST_TO_MAP_A() |
| #define | _detail_ANYXX_FORWARD_PARAM_LIST_TO_MAP(...) |
| #define | _detail_ANYXX_FORWARD_JACKET_PARAM_LIST_TO_MAP_H(b, c, param_type, ...) |
| #define | _detail_ANYXX_FORWARD_JACKET_PARAM_LIST_TO_MAP_A() |
| #define | _detail_ANYXX_FORWARD_JACKET_PARAM_LIST_TO_MAP(...) |
| #define | _detail_ANYXX_JACKET_PARAM_LIST_H(b, c, param_type, ...) |
| #define | _detail_ANYXX_JACKET_PARAM_LIST_A() |
| #define | _detail_ANYXX_JACKET_PARAM_LIST(...) |
| #define | _detail_EXPAND_LIST(...) |
| #define | _detail_ANYXX_V_TABLE_PARAM_LIST_H(b, c, param_type, ...) |
| #define | _detail_ANYXX_V_TABLE_PARAM_LIST_A() |
| #define | _detail_ANYXX_V_TABLE_PARAM_LIST(...) |
| #define | _detail_ANYXX_MAP_PARAM_LIST_H(b, c, param_type, ...) |
| #define | _detail_ANYXX_MAP_PARAM_LIST_A() |
| #define | _detail_ANYXX_MAP_PARAM_LIST(...) |
| #define | _detail_ANYXX_CONCEPT_PARAM_LIST_H(b, c, param_type, ...) |
| #define | _detail_ANYXX_CONCEPT_PARAM_LIST_A() |
| #define | _detail_ANYXX_CONCEPT_PARAM_LIST(...) |
| #define | _detail_ANYXX_EXACT_PARAM_LIST_H(b, c, param_type, ...) |
| #define | _detail_ANYXX_EXACT_PARAM_LIST_A() |
| #define | _detail_ANYXX_EXACT_PARAM_LIST(...) |
| #define | _detail_ANYXX_TYPENAME_PARAM_H(t) |
| #define | _detail_ANYXX_TYPENAME_PARAM(t) |
| #define | _detail_ANYXX_TYPENAME_PARAM_LIST(head, ...) |
| #define | _detail_ANYXX_DUMMY_INT_PARAM_LIST_H(b, c, param_type, ...) |
| #define | _detail_ANYXX_DUMMY_INT_PARAM_LIST_A() |
| #define | _detail_ANYXX_DUMMY_INT_PARAM_LIST(...) |
| #define | _detail_ANYXX_OPTIONAL_TEMPLATE(...) |
| #define | _detail_ANYXX_OPTIONAL_TYPENAME_PARAM_LIST(...) |
| #define | _detail_ANYXX_OPTIONAL_MORE_TYPENAMES_PARAM_LIST(...) |
| #define | _detail_ANYXX_TEMPLATE_ARG_H(t) |
| #define | _detail_ANYXX_TEMPLATE_ARG(t) |
| #define | _detail_ANYXX_TEMPLATE_ARGS1(head, ...) |
| #define | _detail_ANYXX_TEMPLATE_ARGS(...) |
| #define | _detail_ANYXX_OPTIONAL_TEMPLATE_ARGS(...) |
| #define | _detail_ANYXX_V_TABLE_TEMPLATE_FORMAL_ARGS_H(...) |
| #define | _detail_ANYXX_V_TABLE_TEMPLATE_FORMAL_ARGS(t) |
| #define | _detail_LEAD_COMMA_H(...) |
| #define | _detail_ANYXX_FPD_H(l) |
| #define | _detail_ANYXX_MEMEBER_LIMP_H(l) |
| #define | _detail_LEAD_COMMA_H_E(l) |
| #define | __detail_ANYXX_ADD_HEAD(h, ...) |
| #define | __detail_ANYXX_ADD_HEAD_LIST(l, ...) |
| #define | __detail_ANYXX_ADD_TAIL(t, ...) |
|
#define | _typename _typename1 |
| #define | _typename1(t) |
| #define | _detail_ANYXX_TEMPLATE_FORMAL_ARG_H(l) |
| #define | _detail_ANYXX_TEMPLATE_FORMAL_ARG(_typename) |
| #define | _detail_ANYXX_TEMPLATE_FORMAL_ARGS(...) |
| #define | _detail_ANYXX_TEMPLATE_FORMAL_ARGS1(h, ...) |
| #define | _detail_ANYXX_TEMPLATE_FORMAL_ARGS2(l) |
| #define | _detail_ANYXX_V_TABLE_TEMPLATE_HEADER_H(...) |
| #define | _detail_ANYXX_V_TABLE_TEMPLATE_HEADER(t) |
| #define | _detail_ANYXX_INVOKE_TEMPLATE_PARAMS_H(...) |
| #define | _detail_ANYXX_INVOKE_TEMPLATE_PARAMS(t) |
| #define | _detail_ANYXX_EXPAND_WITH_LEADING_COMMA(...) |
| #define | _detail_ANYXX_OPTIONAL_TEMPLATE(...) |
| #define | _detail_ANYXX_MAP_LIMP_H(l) |
| #define | _detail_ANYXX_MAP_IMPL(access, overload, type, name, name_ext, exact_const, const_, trait_body, ...) |
| #define | _detail_ANYXX_CONCEPT_FN_H(l) |
| #define | _detail_ANYXX_CONCEPT_FN(access, overload, type, name, name_ext, exact_const, const_, trait_body, ...) |
| #define | _detail_ANYXX_CONCEPT_STATIC_FN_H(l) |
| #define | _detail_ANYXX_CONCEPT_STATIC_FN(template_params, return_type, name, body, ...) |
| #define | _detail_ANYXX_CONCEPT_TYPE_H(l) |
| #define | _detail_ANYXX_CONCEPT_TYPE(template_params, name, erased, default_) |
| #define | _detail_ANYXX_MAP_STATIC_H(l) |
| #define | _detail_ANYXX_MAP_STATIC(template_params, return_type, name, body, ...) |
| #define | _detail_ANYXX_JACKET_STATIC_H(l) |
| #define | _detail_ANYXX_JACKET_STATIC(template_params, return_type, name, body, ...) |
| #define | _detail_ANYXX_MAP_TYPE_H(l) |
| #define | _detail_ANYXX_MAP_TYPE(template_params, name, erased, default_) |
| #define | _detail_ANYXX_JACKET_TYPE_H(l) |
| #define | _detail_ANYXX_JACKET_TYPE(template_params, name, erased, default_) |
| #define | _detail_ANYXX_MAP_VARIANT_LIMP_H(l) |
| #define | _detail_ANYXX_MAP_VARIANT_IMPL(access, overload, type, name, name_ext, exact_const, const_, trait_body, ...) |
| #define | _detail_ANYXX_FUNCTION_PTR_DECL(access, overload, type, name, name_ext, exact_const, const_, map_body, ...) |
| #define | _detail_ANYXX_LAMBDA_TO_MEMEBER_IMPL(access, overload, type, name, name_ext, exact_const, const_, map_body, ...) |
| #define | _detail_ANYXX_FN_H(l) |
|
#define | _detail_ANYXX_FN(access, overload, type, name, name_ext, exact_const, const_, map_body, ...) |
| #define | _detail_ANYXX_CONCEPT_FUNCTIONS(...) |
| #define | _detail_ANYXX_CONCEPT_STATIC_FUNCTIONS(...) |
| #define | _detail_ANYXX_CONCEPT_TYPES(...) |
| #define | _detail_ANYXX_MAP_FUNCTIONS(...) |
| #define | _detail_ANYXX_MAP_STATIC_FUNCTIONS(...) |
| #define | _detail_ANYXX_MAP_TYPES(...) |
| #define | _detail_ANYXX_MAP_VARIANT_FUNCTIONS(...) |
| #define | _detail_ANYXX_V_TABLE_FUNCTION_PTRS(...) |
| #define | _detail_ANYXX_V_TABLE_LAMBDAS(...) |
| #define | _detail_ANYXX_FNS(...) |
| #define | _detail_ANYXX_JACKET_STATIC_FNS(...) |
| #define | _detail_ANYXX_JACKET_TYPES(...) |
| #define | _detail_ANYXX_MAKE_V_TABLE_FUNCTION_NAME(n) |
|
#define | TRAIT_META_FUNCTION( any_template_params, model_map_template_params, concrete_template_params, static_dispatch_template_params, variant_model_map_template_params, n, BASE, base_template_params, base_model_map_template_params, l, static_fns, typedefs, decoration) |
| #define | __detail_ANYXX_TRAIT_(t, n, BASE, l, static_fns, typedefs, decoration) |
| #define | TRAIT_EX_(n, BASE, l, static_fns, typedefs, decoration) |
| | TRAIT derived from base with decoration. Macro to define the functional behavior for a any, where the behavior of base is inherited. The decoration are additional functions and typedefs (in brackets).
|
| #define | TRAIT_(n, BASE, l) |
| | TRAIT derived from base.
|
| #define | TRAIT(n, fns) |
| | Macro to define the functional behavior for an any.
|
| #define | TRAIT_EX(n, ...) |
| | TRAIT with decoration.
|
| #define | TRAIT_TEMPLATE_EX_(t, n, base, base_template_types, l, static_fns, typedefs, decoration) |
| | TRAIT template with base and decoration.
|
| #define | TRAIT_TEMPLATE_EX(t, n, l, static_fns, typedefs, decoration) |
| | TRAIT template with decoration.
|
| #define | TRAIT_TEMPLATE_(t, n, base, base_template_types, l) |
| | TRAIT template with a base TRAIT.(.
|
| #define | TRAIT_TEMPLATE(t, n, l) |
| | TRAIT template.
|
| #define | ANY_META_FUNCTION(pure_template_params, any_template_params_with_defaults, n) |
| #define | __detail_ANYXX_ANY_CMF(t, t_with_defaults, n) |
| #define | __detail_ANYXX_ANY_EX_(n, proxy_default) |
| #define | ANY_EX_(n, BASE, l, proxy_default, decoration) |
| | ANY with a base and decorationSee ANY for explanation.
|
| #define | ANY_EX(n, l, proxy_default, decoration) |
| | ANY with decorationSee ANY for explanation.
|
| #define | ANY_(n, BASE, l, proxy_default) |
| | ANY with a baseSee ANY for explanation.
|
| #define | ANY(n, l, ...) |
| | Simple ANY macro.
|
| #define | __detail_ANYXX_ANY_TEMPLATE_CMF(t, n, proxy_default) |
| #define | ANY_TEMPLATE_EX_(t, n, BASE, bt, l, proxy_default, decoration) |
| | ANY template with a base and decoration.See ANY for explanation.
|
| #define | ANY_TEMPLATE_(t, n, BASE, bt, l, proxy_default) |
| | ANY template with a base.See ANY for explanation.
|
| #define | ANY_TEMPLATE(t, n, l, proxy_default) |
| | ANY template.See ANY for explanation.
|
| #define | ANY_TEMPLATE_EX(t, n, l, proxy_default, static_fns, typedefs, decoration) |
| #define | ANY_FN_(...) |
| #define | ANY_OVERLOAD(name) |
| #define | __detail_ANYXX_MEMBER_FN(access, overload, ret, name, name_ext, exact_const, const_, params) |
| #define | ANY_FN_PURE(ret, name, params, const_) |
| | TRAIT function, which must be provided by the model.
|
| #define | ANY_FN_PURE_EXACT(ret, name, params, const_) |
| | TRAIT function, which must be provided by the model.
|
| #define | ANY_FN_DEF(access, ret, name, params, const_, ...) |
| | TRAIT function with default behavior.
|
| #define | ANY_FN_DEF_EXACT(access, ret, name, params, const_, ...) |
| | TRAIT function with default behavior.
|
| #define | ANY_FN(ret, name, params, const_) |
| | TRAIT function whose default behavior is to call an equally named member function of the model.
|
| #define | ANY_FN_EXACT(ret, name, params, const_) |
| | TRAIT function whose default behavior is to call an equally named member function of the model.
|
| #define | ANY_FN_OVERLOAD(ret, name, params, const_) |
| | TRAIT function whose default behavior is to call an equally named member function of the model.
|
| #define | ANY_FN_OVERLOAD_EXACT(ret, name, params, const_) |
| | TRAIT function whose default behavior is to call an equally named member function of the model.
|
| #define | ANY_OP_MAP_NAMED(ret, op, name, params, const_) |
| | TRAIT operator with default behavior is to call the related operator of the model and a programmer-chosen name in the map.
|
| #define | ANY_OP(ret, op, params, const_) |
| | TRAIT operator with default behavior is to call the related operator of the model.
|
| #define | ANY_OP_DEF(access, ret, op, name, params, const_, ...) |
| | TRAIT operator with default behavior.
|
| #define | ANY_OP_EXACT_MAP_NAMED(ret, op, name, params, const_) |
| #define | ANY_OP_EXACT(ret, op, params, const_) |
| #define | ANY_OP_EXACT_DEF(access, ret, op, name, params, const_, ...) |
| | TRAIT operator with default behavior is to call the related operator of the model.
|
| #define | ANY_OP_EXACT_OVERLOAD_MAP_NAMED(ret, op, name, params, const_) |
| | TRAIT operator with default behavior and a programmer-chosen name in the map.
|
| #define | ANY_OP_EXACT_OVERLOAD(ret, op, params, const_) |
| | TRAIT operator with default behavior is to call the related operator of the model.
|
| #define | ANY_OP_EXACT_OVERLOAD_DEF(access, ret, op, name, params, const_, ...) |
| | TRAIT operator with default behavior.
|
| #define | ANY_FN_STATIC_PURE(template_params, return_type, name, params, ...) |
| | Static TRAIT function, which must be provided by the model. This function will NOT go into the v-Table ad is only avalable for the using_ Proxy.
|
| #define | ANY_FN_STATIC_DEF(template_params, return_type, name, params, ...) |
| | Static TRAIT function, which has a default implementation. This function will NOT go into the v-Table ad is only avalable for the using_ und trait_class Proxy.
|
| #define | ANY_TYPE(...) |
| | Dependent type definition in a TRAIT. This is useful for defining associated types, e.g. Return typs using_ Proxy.
|
| #define | __ANY_MODEL_MAP(trait_, t) |
| #define | ANY_TEMPLATE_MODEL_MAP(model_, trait_, trait_types) |
| | ANY_TEMPLATE_MODEL_MAP macro.
|
| #define | TRAIT_TYPE(Name, T, Trait, ...) |
| | translates to the type defined in the model map of a trait. This is useful for associated types, e.g. Return types, which are defined via ANY_TYPE in the trait
|
| #define | ANY_MODEL_MAP(model_, trait_) |
| | ANY_MODEL_MAP macro.
|
| #define | _detail_ANYXX_TRAIT_ERROR_MESSAGE(name, ret) |
| #define | ANY_MERGE_(a, b) |
| #define | ANY_LABEL_(a) |
|
#define | ANY_UNIQUE_NAME_ ANY_LABEL_(__COUNTER__) |
|
#define | ANY_UNIQUE_NAME ANY_UNIQUE_NAME_ |
|
#define | __ ANY_UNIQUE_NAME_ |
| #define | ANY_SINGLETON_DECLARE(export_, name, ...) |
| | Declare access to a singleton object in a header file.
|
| #define | ANY_SINGLETON(namespace_, name, ...) |
| | Define a singleton object in a source file.
|
| #define | VANY_DISPACH_DECLARE(export_, name, vany, signature, static_dispatch) |
| | Declare a singleton object for open vany dispatch.
|
| #define | VANY_DISPACH(namespace_, name) |
| | Define a vany dispatch singleton object in a source file.
|
| #define | ANY_META_CLASS_FWD(...) |
| | Declare access to the meta data for a specific model any. Must be in global namespace.
|
| #define | ANY_META_CLASS(...) |
| | Define the meta data for a specific model any. Must be in global namespace.
|
| #define | ANY_META_CLASS_STATIC(...) |
| #define | ANY_REGISTER_MODEL(class_, interface_, ...) |
| | Register a model class for a specific any interface. Must be in global namespace.
|
|
#define | ANY_MEMBERS_COUNT_FWD(...) |
|
#define | ANY_MEMBERS_COUNT_IMPL(...) |
|
#define | ANY_MEMBER_FWD(...) |
|
#define | ANY_MEMBER_IMPL(...) |
| #define | ANY_DISPATCH_COUNT_FWD(...) |
| | Declare access to the dispatch counter for a specific any. Must be placed in global namespace.
|
| #define | ANY_DISPATCH_COUNT(...) |
| | Define the dispatch counter for a specific any. Must be placed in global namespace.
|
| #define | ANY_DISPATCH_FOR_FWD(...) |
| | Declare access to the dispatch table instance function for a model. Must be placed in global namespace.
|
| #define | ANY_DISPATCH_FOR(...) |
| | Define the dispatch table instance function for a model. Must be placed in global namespace.
|
|
|
template<typename Model> |
| constexpr std::size_t | anyxx::compute_model_size () |
|
template<typename AnyVTable, typename Class> |
| dispatch_table_t * | anyxx::dispatch_table_instance_implementation () |
|
template<typename AnyVTable, typename Class> |
| dispatch_table_t * | anyxx::dispatch_table_instance () |
|
template<typename VTable, typename Concrete> |
| VTable * | anyxx::v_table_instance () |
|
template<typename VTable> |
| void | anyxx::set_is_derived_from (auto v_table) |
|
bool | anyxx::is_derived_from (const std::type_info &from, any_v_table const *v_table) |
|
std::size_t | anyxx::model_size (any_v_table *v_table) |
|
mutable_void | anyxx::copy_construct_at (any_v_table *v_table, mutable_void placement, const_void from) |
|
mutable_void | anyxx::copy_construct (any_v_table *v_table, const_void from) |
|
mutable_void | anyxx::move_construct_at (any_v_table *v_table, mutable_void placement, mutable_void from) |
|
mutable_void | anyxx::move_construct (any_v_table *v_table, mutable_void from) |
|
void | anyxx::delete_ (any_v_table *v_table, mutable_void &data) noexcept |
|
template<typename U> |
| bool | anyxx::type_match (any_v_table *v_table) |
|
template<typename U> |
| void | anyxx::check_type_match (any_v_table *v_table) |
|
constexpr bool | anyxx::is_const_correct_call_for_proxy_and_self (bool call_is_const, bool proxy_is_const, bool self_is_const, bool exact) |
|
template<is_proxy Proxy, typename From> |
| Proxy | anyxx::erased (From &&from) |
template<is_proxy Proxy>
requires std::same_as<void const*, typename proxy_trait<Proxy>::void_t> |
| void const * | anyxx::get_proxy_ptr (Proxy const &vv, typename proxy_trait< Proxy >::required_v_table_t *v_table) |
template<is_proxy Proxy>
requires std::same_as<void*, typename proxy_trait<Proxy>::void_t> |
| void * | anyxx::get_proxy_ptr (Proxy const &vv, typename proxy_trait< Proxy >::required_v_table_t *v_table) |
|
template<typename U> |
| auto | anyxx::unchecked_unerase_cast (void const *p) |
|
template<typename U> |
| auto | anyxx::unchecked_unerase_cast (void *p) |
|
template<typename U, is_proxy Proxy> |
| auto | anyxx::unchecked_unerase_cast (Proxy const &o, typename proxy_trait< Proxy >::required_v_table_t *v_table) |
template<typename U, is_proxy Proxy>
requires (!is_const_data<Proxy>) |
| auto | anyxx::unchecked_unerase_cast (Proxy const &o, typename proxy_trait< Proxy >::required_v_table_t *v_table) |
|
template<typename U, is_proxy Proxy> |
| auto | anyxx::unerase_cast (Proxy const &o, any_v_table *v_table) |
|
template<typename U, is_proxy Proxy> |
| U const * | anyxx::unerase_cast_if (Proxy const &o, any_v_table *v_table) |
template<typename U, is_proxy Proxy>
requires (!is_const_data<Proxy>) |
| U * | anyxx::unerase_cast_if (Proxy const &o, any_v_table *v_table) |
|
template<typename V> |
| auto | anyxx::visit_value (auto &&visitor, V &&v, std::size_t size) -> decltype(auto) |
|
template<typename V2> |
| auto | anyxx::visit_value (auto &&visitor, val &v1, std::size_t size1, V2 &&v2, std::size_t size2) -> decltype(auto) |
|
template<typename T, typename... Args> |
| auto | anyxx::make_local_value (Args &&... args) |
|
template<typename T, typename... Args> |
| auto | anyxx::make_value (Args &&... args) |
|
template<typename TYPE> |
| auto & | anyxx::runtime_implementation () |
|
template<typename T> |
| meta_data & | anyxx::get_meta_data () |
|
void | anyxx::insert_function (dispatch_table_t *table, std::size_t index, auto fp) |
|
dispatch_table_function_t | anyxx::get_function (dispatch_table_t *table, std::size_t index) |
|
dispatch_table_dispatch_index_t | anyxx::get_multi_dispatch_index_at (dispatch_table_t *table, std::size_t index) |
|
void | anyxx::set_multi_dispatch_index_at (dispatch_table_t *table, std::size_t index_multi_dispatch, dispatch_table_dispatch_index_t dispatch_index_of_class_in_dispatch_matrix) |
|
template<typename VTable, typename Concrete> |
| auto | anyxx::bind_v_table_to_meta_data () |
|
template<typename To, typename From, typename FromVTable> |
| To | anyxx::borrow_as (From const &from, FromVTable *v_table) |
|
template<is_proxy To, is_proxy From> |
| To | anyxx::clone_to (From const &from, any_v_table *v_table) |
|
template<is_proxy To, is_proxy From> |
| void | anyxx::move_to (To &to, any_v_table *to_v_table, From &&from, any_v_table *from_v_table) |
|
template<is_any Any> |
| auto & | anyxx::get_proxy (Any const &any) |
|
template<is_any Any> |
| auto & | anyxx::get_proxy (Any &any) |
|
template<typename Any> |
| auto & | anyxx::get_proxy_value (Any &&any) |
|
template<typename Any> |
| auto const & | anyxx::get_proxy_value (Any const &any) |
|
template<is_any Any> |
| decltype(auto) | anyxx::move_proxy (Any &&any) |
|
template<is_any Any> |
| auto | anyxx::get_proxy_ptr (Any const &any) |
|
template<is_any Any> |
| const auto & | anyxx::get_meta_data (Any const &any) |
|
template<is_any Any> |
| std::type_info const & | anyxx::get_type_info (Any const &any) |
|
template<is_any Any> |
| bool | anyxx::is_derived_from (const std::type_info &from, Any const &any) |
|
template<is_any From, is_any Any> |
| bool | anyxx::is_derived_from (Any const &any) |
|
template<typename To> |
| auto | anyxx::unchecked_v_table_downcast_to (observeable_v_table *v_table) |
|
template<typename Any> |
| auto | anyxx::get_v_table (Any const &any) |
template<is_any To, is_any From>
requires (std::derived_from<typename To::v_table_t, typename From::v_table_t>) |
| To | anyxx::unchecked_downcast_to (From from) |
template<is_any To, is_any From>
requires (std::derived_from<typename To::v_table_t, typename From::v_table_t>) |
| std::optional< To > | anyxx::downcast_to (From from) |
| | Safe downcast to a derived trait using runtime information from the v-Tables.
|
|
template<typename U, is_any Any> |
| auto | anyxx::unchecked_unerase_cast (Any const &o) |
|
template<typename U, typename Any> |
| auto | anyxx::unerase_cast (Any const &o) |
| | Safe downcast to an unerased type using runtime information from the v-Tables.
|
|
template<typename U, typename Any> |
| auto | anyxx::unerase_cast_if (Any const &o) |
| | Safe downcast to an unerased type using runtime information from the v-Tables.
|
| template<typename Trait, typename T> |
| auto | anyxx::trait_as (T &&v) |
|
template<is_any ToAny> |
| auto | anyxx::query_v_table (any_v_table *from) -> std::expected< typename ToAny::v_table_t *, anyxx::cast_error > |
|
template<typename ToAny> |
| auto | anyxx::query_v_table (any_v_table *from) |
|
| anyxx::TRAIT_EX (translate_sig,,,(ANY_TYPE(((AnyValue)), v_table_param, void,(T)), ANY_TYPE(((AnyValue)), v_table_return, void,(T)), ANY_TYPE(((Model)), map_return, void,(T)), ANY_TYPE(((Model)), concept_arg, void,(T))),()) ANY_MODEL_MAP((self) |
|
| anyxx::ANY_MODEL_MAP ((self const &), translate_sig) |
|
| anyxx::ANY_MODEL_MAP ((self &), translate_sig) |
|
template<typename V, is_any Any> |
| auto | anyxx::as (Any source) |
template<typename To, typename V, is_any Any>
requires std::convertible_to<V*, To*> |
| auto | anyxx::as (typed_any< V, Any > source) |
|
template<is_any ToAny, is_proxy FromProxy, typename FromVTable> |
| std::expected< ToAny, cast_error > | anyxx::borrow_as (FromProxy const &from, FromVTable *from_v_table) |
|
template<is_any ToAny, is_any FromAny> |
| std::expected< ToAny, cast_error > | anyxx::borrow_as (FromAny const &from) |
| | Safe crosscast via runtime information to another any without changing the ownership.
|
|
template<is_any ToAny, is_any FromAny> |
| std::expected< ToAny, cast_error > | anyxx::clone_to (FromAny const &from) |
| | Clone via runtime information.
|
|
template<is_any FromAny> |
| auto | anyxx::lock (FromAny const &from_interface) |
| | Lock a shared any.
|
|
template<is_any ToAny, is_any FromAny> |
| ToAny | anyxx::move_to (FromAny &&from) |
| | Move ownership to another any. Uses runtime information to crosscast, if necessary.
|
|
template<typename InObject> |
| std::size_t & | anyxx::members_count () |
|
template<typename AnyVTable> |
| std::size_t & | anyxx::dispatchs_count () |
| | A counter for dispatch tables per v-table type.
|
|
template<std::size_t I, typename First, typename... Args> |
| auto | anyxx::arg_n (First first, Args... args) |
|
template<std::size_t FirstN, typename... Ts> |
| auto | anyxx::get_tuple_head (std::tuple< Ts... > from) |
|
template<std::size_t FromN, typename... Ts> |
| auto | anyxx::get_tuple_tail (std::tuple< Ts... > from) |
|
template<size_t At, typename Tuple, size_t... Is> |
| auto | anyxx::make_tuple_from_elements (Tuple &&tuple, std::index_sequence< Is... >) |
|
template<size_t At, size_t N, typename Tuple> |
| auto | anyxx::make_tuple_from_elements_at (Tuple &&tuple) |