#ifdef __cplusplus extern "C" { #endif #pragma once #include "HROOT-coreType.h" #include "STDDeletable.h" #include "stdcxxType.h" #define TARRAY_DECL_VIRT(Type) \ double Type##_GetAt ( Type##_p p, int i );\ void Type##_SetArray ( Type##_p p, int n );\ void Type##_SetAt ( Type##_p p, double v, int i ); #define TARRAY_DECL_NONVIRT(Type) \ int Type##_tArray_GetSize ( Type##_p p ); #define TARRAY_DECL_ACCESSOR(Type) \ #define TARRAY_DEF_VIRT(Type) \ double Type##_GetAt ( Type##_p p, int i ) {\ return ((TYPECASTMETHOD(Type, GetAt, TArray))(p))->GetAt(i);\ }\ \ void Type##_SetArray ( Type##_p p, int n ) {\ ((TYPECASTMETHOD(Type, SetArray, TArray))(p))->Set(n);\ }\ \ void Type##_SetAt ( Type##_p p, double v, int i ) {\ ((TYPECASTMETHOD(Type, SetAt, TArray))(p))->SetAt(v, i);\ } #define TARRAY_DEF_NONVIRT(Type) \ int Type##_tArray_GetSize ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, tArray_GetSize, TArray))(p))->GetSize();\ } #define TARRAY_DEF_ACCESSOR(Type) \ DELETABLE_DECL_VIRT(TArray) TARRAY_DECL_VIRT(TArray) TARRAY_DECL_NONVIRT(TArray) TARRAY_DECL_ACCESSOR(TArray) #ifdef __cplusplus } #endif