Enable converting vvalptridx->valptridx for subtypes
This commit is contained in:
parent
d2b0a4d02d
commit
f5a85b0f65
|
@ -85,6 +85,7 @@ public:
|
|||
p(t.p), i(t.i)
|
||||
{
|
||||
}
|
||||
valptridx_t(const vvalptridx_t<typename tt::remove_const<T>::type, I, magic_constant> &t);
|
||||
template <index_type v>
|
||||
valptridx_t(const magic_constant<v> &) :
|
||||
p(static_cast<std::size_t>(v) < get_array().size() ? &get_array()[v] : NULL), i(v)
|
||||
|
@ -213,6 +214,12 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
template <typename T, typename I, template <I> class magic_constant>
|
||||
valptridx_t<T, I, magic_constant>::valptridx_t(const vvalptridx_t<typename tt::remove_const<T>::type, I, magic_constant> &t) :
|
||||
p(t.p), i(t.i)
|
||||
{
|
||||
}
|
||||
|
||||
#define _DEFINE_VALPTRIDX_SUBTYPE_USERTYPE(N,P,I,A,name,Pconst) \
|
||||
static inline constexpr decltype(A) Pconst &get_global_array(P Pconst*) { return A; } \
|
||||
\
|
||||
|
|
Loading…
Reference in a new issue