@ -216,7 +216,7 @@ struct PtrToArg<ObjectID> {
} \
return ret ; \
} \
_FORCE_INLINE_ static void encode ( Vector < m_type > p_vec , void * p_ptr ) { \
_FORCE_INLINE_ static void encode ( const Vector < m_type > & p_vec , void * p_ptr ) { \
Vector < m_type > * dv = reinterpret_cast < Vector < m_type > * > ( p_ptr ) ; \
int len = p_vec . size ( ) ; \
dv - > resize ( len ) ; \
@ -246,49 +246,49 @@ struct PtrToArg<ObjectID> {
}
// No EncodeT because direct pointer conversion not possible.
# define MAKE_VECARG_ALT(m_type, m_type_alt) \
template < > \
struct PtrToArg < Vector < m_type_alt > > { \
_FORCE_INLINE_ static Vector < m_type_alt > convert ( const void * p_ptr ) { \
const Vector < m_type > * dvs = reinterpret_cast < const Vector < m_type > * > ( p_ptr ) ; \
Vector < m_type_alt > ret ; \
int len = dvs - > size ( ) ; \
ret . resize ( len ) ; \
{ \
const m_type * r = dvs - > ptr ( ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
ret . write [ i ] = r [ i ] ; \
} \
} \
return ret ; \
} \
_FORCE_INLINE_ static void encode ( Vector < m_type_alt > p_vec , void * p_ptr ) { \
Vector < m_type > * dv = reinterpret_cast < Vector < m_type > * > ( p_ptr ) ; \
int len = p_vec . size ( ) ; \
dv - > resize ( len ) ; \
{ \
m_type * w = dv - > ptrw ( ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
w [ i ] = p_vec [ i ] ; \
} \
} \
} \
} ; \
template < > \
struct PtrToArg < const Vector < m_type_alt > & > { \
_FORCE_INLINE_ static Vector < m_type_alt > convert ( const void * p_ptr ) { \
const Vector < m_type > * dvs = reinterpret_cast < const Vector < m_type > * > ( p_ptr ) ; \
Vector < m_type_alt > ret ; \
int len = dvs - > size ( ) ; \
ret . resize ( len ) ; \
{ \
const m_type * r = dvs - > ptr ( ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
ret . write [ i ] = r [ i ] ; \
} \
} \
return ret ; \
} \
# define MAKE_VECARG_ALT(m_type, m_type_alt) \
template < > \
struct PtrToArg < Vector < m_type_alt > > { \
_FORCE_INLINE_ static Vector < m_type_alt > convert ( const void * p_ptr ) { \
const Vector < m_type > * dvs = reinterpret_cast < const Vector < m_type > * > ( p_ptr ) ; \
Vector < m_type_alt > ret ; \
int len = dvs - > size ( ) ; \
ret . resize ( len ) ; \
{ \
const m_type * r = dvs - > ptr ( ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
ret . write [ i ] = r [ i ] ; \
} \
} \
return ret ; \
} \
_FORCE_INLINE_ static void encode ( const Vector < m_type_alt > & p_vec , void * p_ptr ) { \
Vector < m_type > * dv = reinterpret_cast < Vector < m_type > * > ( p_ptr ) ; \
int len = p_vec . size ( ) ; \
dv - > resize ( len ) ; \
{ \
m_type * w = dv - > ptrw ( ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
w [ i ] = p_vec [ i ] ; \
} \
} \
} \
} ; \
template < > \
struct PtrToArg < const Vector < m_type_alt > & > { \
_FORCE_INLINE_ static Vector < m_type_alt > convert ( const void * p_ptr ) { \
const Vector < m_type > * dvs = reinterpret_cast < const Vector < m_type > * > ( p_ptr ) ; \
Vector < m_type_alt > ret ; \
int len = dvs - > size ( ) ; \
ret . resize ( len ) ; \
{ \
const m_type * r = dvs - > ptr ( ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
ret . write [ i ] = r [ i ] ; \
} \
} \
return ret ; \
} \
}
MAKE_VECARG_ALT ( String , StringName ) ;
@ -296,40 +296,40 @@ MAKE_VECARG_ALT(String, StringName);
// For stuff that gets converted to Array vectors.
// No EncodeT because direct pointer conversion not possible.
# define MAKE_VECARR(m_type) \
template < > \
struct PtrToArg < Vector < m_type > > { \
_FORCE_INLINE_ static Vector < m_type > convert ( const void * p_ptr ) { \
const Array * arr = reinterpret_cast < const Array * > ( p_ptr ) ; \
Vector < m_type > ret ; \
int len = arr - > size ( ) ; \
ret . resize ( len ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
ret . write [ i ] = ( * arr ) [ i ] ; \
} \
return ret ; \
} \
_FORCE_INLINE_ static void encode ( Vector < m_type > p_vec , void * p_ptr ) { \
Array * arr = reinterpret_cast < Array * > ( p_ptr ) ; \
int len = p_vec . size ( ) ; \
arr - > resize ( len ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
( * arr ) [ i ] = p_vec [ i ] ; \
} \
} \
} ; \
template < > \
struct PtrToArg < const Vector < m_type > & > { \
_FORCE_INLINE_ static Vector < m_type > convert ( const void * p_ptr ) { \
const Array * arr = reinterpret_cast < const Array * > ( p_ptr ) ; \
Vector < m_type > ret ; \
int len = arr - > size ( ) ; \
ret . resize ( len ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
ret . write [ i ] = ( * arr ) [ i ] ; \
} \
return ret ; \
} \
# define MAKE_VECARR(m_type) \
template < > \
struct PtrToArg < Vector < m_type > > { \
_FORCE_INLINE_ static Vector < m_type > convert ( const void * p_ptr ) { \
const Array * arr = reinterpret_cast < const Array * > ( p_ptr ) ; \
Vector < m_type > ret ; \
int len = arr - > size ( ) ; \
ret . resize ( len ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
ret . write [ i ] = ( * arr ) [ i ] ; \
} \
return ret ; \
} \
_FORCE_INLINE_ static void encode ( const Vector < m_type > & p_vec , void * p_ptr ) { \
Array * arr = reinterpret_cast < Array * > ( p_ptr ) ; \
int len = p_vec . size ( ) ; \
arr - > resize ( len ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
( * arr ) [ i ] = p_vec [ i ] ; \
} \
} \
} ; \
template < > \
struct PtrToArg < const Vector < m_type > & > { \
_FORCE_INLINE_ static Vector < m_type > convert ( const void * p_ptr ) { \
const Array * arr = reinterpret_cast < const Array * > ( p_ptr ) ; \
Vector < m_type > ret ; \
int len = arr - > size ( ) ; \
ret . resize ( len ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
ret . write [ i ] = ( * arr ) [ i ] ; \
} \
return ret ; \
} \
}
MAKE_VECARR ( Variant ) ;
@ -337,49 +337,49 @@ MAKE_VECARR(RID);
MAKE_VECARR ( Plane ) ;
// No EncodeT because direct pointer conversion not possible.
# define MAKE_DVECARR(m_type) \
template < > \
struct PtrToArg < Vector < m_type > > { \
_FORCE_INLINE_ static Vector < m_type > convert ( const void * p_ptr ) { \
const Array * arr = reinterpret_cast < const Array * > ( p_ptr ) ; \
Vector < m_type > ret ; \
int len = arr - > size ( ) ; \
ret . resize ( len ) ; \
{ \
m_type * w = ret . ptrw ( ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
w [ i ] = ( * arr ) [ i ] ; \
} \
} \
return ret ; \
} \
_FORCE_INLINE_ static void encode ( Vector < m_type > p_vec , void * p_ptr ) { \
Array * arr = reinterpret_cast < Array * > ( p_ptr ) ; \
int len = p_vec . size ( ) ; \
arr - > resize ( len ) ; \
{ \
const m_type * r = p_vec . ptr ( ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
( * arr ) [ i ] = r [ i ] ; \
} \
} \
} \
} ; \
template < > \
struct PtrToArg < const Vector < m_type > & > { \
_FORCE_INLINE_ static Vector < m_type > convert ( const void * p_ptr ) { \
const Array * arr = reinterpret_cast < const Array * > ( p_ptr ) ; \
Vector < m_type > ret ; \
int len = arr - > size ( ) ; \
ret . resize ( len ) ; \
{ \
m_type * w = ret . ptrw ( ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
w [ i ] = ( * arr ) [ i ] ; \
} \
} \
return ret ; \
} \
# define MAKE_DVECARR(m_type) \
template < > \
struct PtrToArg < Vector < m_type > > { \
_FORCE_INLINE_ static Vector < m_type > convert ( const void * p_ptr ) { \
const Array * arr = reinterpret_cast < const Array * > ( p_ptr ) ; \
Vector < m_type > ret ; \
int len = arr - > size ( ) ; \
ret . resize ( len ) ; \
{ \
m_type * w = ret . ptrw ( ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
w [ i ] = ( * arr ) [ i ] ; \
} \
} \
return ret ; \
} \
_FORCE_INLINE_ static void encode ( const Vector < m_type > & p_vec , void * p_ptr ) { \
Array * arr = reinterpret_cast < Array * > ( p_ptr ) ; \
int len = p_vec . size ( ) ; \
arr - > resize ( len ) ; \
{ \
const m_type * r = p_vec . ptr ( ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
( * arr ) [ i ] = r [ i ] ; \
} \
} \
} \
} ; \
template < > \
struct PtrToArg < const Vector < m_type > & > { \
_FORCE_INLINE_ static Vector < m_type > convert ( const void * p_ptr ) { \
const Array * arr = reinterpret_cast < const Array * > ( p_ptr ) ; \
Vector < m_type > ret ; \
int len = arr - > size ( ) ; \
ret . resize ( len ) ; \
{ \
m_type * w = ret . ptrw ( ) ; \
for ( int i = 0 ; i < len ; i + + ) { \
w [ i ] = ( * arr ) [ i ] ; \
} \
} \
return ret ; \
} \
}
// Special case for IPAddress.
@ -427,7 +427,7 @@ struct PtrToArg<Vector<Face3>> {
}
return ret ;
}
_FORCE_INLINE_ static void encode ( Vector < Face3 > p_vec , void * p_ptr ) {
_FORCE_INLINE_ static void encode ( const Vector < Face3 > & p_vec , void * p_ptr ) {
Vector < Vector3 > * arr = reinterpret_cast < Vector < Vector3 > * > ( p_ptr ) ;
int len = p_vec . size ( ) ;
arr - > resize ( len * 3 ) ;