diff --git a/Vector.c b/Vector.c index 0cdf9af2c372b0fb795fcbf99ae01f3b373c61bc..6eb91ae692e5684e1b3fb89128d0cbb91ada44e7 100644 --- a/Vector.c +++ b/Vector.c @@ -284,11 +284,19 @@ inline Object* Vector_get(Vector* this, int idx) { #endif +#ifdef DEBUG + inline int Vector_size(Vector* this) { assert(Vector_isConsistent(this)); return this->items; } +#else + +#define Vector_size(v_) ((v_)->items) + +#endif + /* static void Vector_merge(Vector* this, Vector* v2) { diff --git a/Vector.h b/Vector.h index 9b284778470fd8a938e65b9e6b7d4f2b38ddaa29..85939bf1890c399e244e0333adc561a13f6a1e86 100644 --- a/Vector.h +++ b/Vector.h @@ -70,8 +70,16 @@ extern Object* Vector_get(Vector* this, int idx); #endif +#ifdef DEBUG + extern int Vector_size(Vector* this); +#else + +#define Vector_size(v_) ((v_)->items) + +#endif + /* */