diff --git a/common/include/valptridx.h b/common/include/valptridx.h index e484135b4..b92faaa72 100644 --- a/common/include/valptridx.h +++ b/common/include/valptridx.h @@ -135,6 +135,12 @@ protected: return {A, o, i}; \ } \ \ + static inline name operator-(P Pconst *o, decltype(A) &O) \ + { \ + return N(o, o - (&*O.begin())); \ + } \ + \ + name operator-(name, decltype(A) &) = delete; \ #define DEFINE_VALPTRIDX_SUBTYPE(N,P,I,A) \ _DEFINE_VALPTRIDX_SUBTYPE_USERTYPE(N,P,I,A,N##_t,); \ diff --git a/common/main/object.h b/common/main/object.h index 530ddcd4a..fb5014d76 100644 --- a/common/main/object.h +++ b/common/main/object.h @@ -625,13 +625,6 @@ struct object_array_t : public array extern object_array_t Objects; DEFINE_VALPTRIDX_SUBTYPE(objptridx, object, int16_t, Objects); - -static inline objptridx_t operator-(object *o, object_array_t &O) -{ - return objptridx(o, o - (&*O.begin())); -} - -objptridx_t operator-(objptridx_t, object_array_t &) DXX_CXX11_EXPLICIT_DELETE; #endif /*