Move valptridx get_global_array to DXX_VALPTRIDX_DECLARE_GLOBAL_SUBTYPE
This removes the need to repeat the array name when invoking DEFINE_VALPTRIDX_SUBTYPE.
This commit is contained in:
parent
34d89d5139
commit
45f1a71420
|
@ -116,4 +116,6 @@ public:
|
||||||
#define DXX_VALPTRIDX_DECLARE_GLOBAL_SUBTYPE(managed_type,derived_type_prefix,global_array,array_size_value) \
|
#define DXX_VALPTRIDX_DECLARE_GLOBAL_SUBTYPE(managed_type,derived_type_prefix,global_array,array_size_value) \
|
||||||
valptridx_specialized_type_parameters<derived_type_prefix##num_t, array_size_value> valptridx_specialized_type(managed_type *); \
|
valptridx_specialized_type_parameters<derived_type_prefix##num_t, array_size_value> valptridx_specialized_type(managed_type *); \
|
||||||
extern valptridx<managed_type>::array_managed_type global_array; \
|
extern valptridx<managed_type>::array_managed_type global_array; \
|
||||||
|
static constexpr const valptridx<managed_type>::array_managed_type &get_global_array(const managed_type *) { return global_array; } \
|
||||||
|
static constexpr valptridx<managed_type>::array_managed_type &get_global_array(managed_type *) { return global_array; } \
|
||||||
DXX_VALPTRIDX_SUBTYPE(DXX_VALPTRIDX_DEFINE_SUBTYPE_TYPEDEF, managed_type, derived_type_prefix)
|
DXX_VALPTRIDX_SUBTYPE(DXX_VALPTRIDX_DEFINE_SUBTYPE_TYPEDEF, managed_type, derived_type_prefix)
|
||||||
|
|
|
@ -616,7 +616,6 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
#define _DEFINE_VALPTRIDX_SUBTYPE_USERTYPE(N,P,I,A,prefix,Pconst) \
|
#define _DEFINE_VALPTRIDX_SUBTYPE_USERTYPE(N,P,I,A,prefix,Pconst) \
|
||||||
static constexpr Pconst valptridx<P>::array_managed_type &get_global_array(P Pconst *) { return A; } \
|
|
||||||
constexpr valptridx<P>::basic_vptr_global_factory<v##prefix##ptr_t> v##prefix##ptr{}; \
|
constexpr valptridx<P>::basic_vptr_global_factory<v##prefix##ptr_t> v##prefix##ptr{}; \
|
||||||
constexpr valptridx<P>::basic_ptridx_global_factory<prefix##ptridx_t> prefix##ptridx{}; \
|
constexpr valptridx<P>::basic_ptridx_global_factory<prefix##ptridx_t> prefix##ptridx{}; \
|
||||||
constexpr valptridx<P>::basic_vptr_global_factory<v##prefix##ptridx_t> v##prefix##ptridx{}; \
|
constexpr valptridx<P>::basic_vptr_global_factory<v##prefix##ptridx_t> v##prefix##ptridx{}; \
|
||||||
|
|
Loading…
Reference in a new issue