10#define MR_VECTOR_CONCAT( a, b ) MR_VECTOR_CONCAT_( a, b )
11#define MR_VECTOR_CONCAT_( a, b ) a ## b
19#define MR_VECTOR_LIKE_DECL( ClassName, Type ) \
20typedef struct MR_VECTOR_CONCAT( MR, ClassName ) \
22 MR_VECTOR_CONCAT( MR, Type )* data; \
25} MR_VECTOR_CONCAT( MR, ClassName ); \
26MRMESHC_API void MR_VECTOR_CONCAT( MR_VECTOR_CONCAT( mr, ClassName ), Invalidate )( MR_VECTOR_CONCAT( MR, ClassName )* ); \
27MRMESHC_API void MR_VECTOR_CONCAT( MR_VECTOR_CONCAT( mr, ClassName ), Free )( MR_VECTOR_CONCAT( MR, ClassName )* ); \
28MRMESHC_API MR_VECTOR_CONCAT( MR, ClassName )* MR_VECTOR_CONCAT( MR_VECTOR_CONCAT( mr, ClassName ), New )(void);
30#define MR_VECTOR_DECL( Type ) MR_VECTOR_LIKE_DECL( MR_VECTOR_CONCAT( Vector, Type ), Type )
#define MR_EXTERN_C_BEGIN
Definition MRMeshC/MRMeshFwd.h:26
#define MR_EXTERN_C_END
Definition MRMeshC/MRMeshFwd.h:27
#define MR_VECTOR_DECL(Type)
Definition MRMeshC/MRVector.h:30
#define MR_VECTOR_LIKE_DECL(ClassName, Type)
Definition MRMeshC/MRVector.h:19