Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * MVector
- * By Pamdex
- * Little edit by JRX aka AXV
- **/
- #if defined _inc_mvector_
- #endinput
- #else
- #define _inc_mvector_
- #endif
- #define TYPE_INT (1)
- #define TYPE_FLOAT (2)
- #define TYPE_BOOL (3)
- #define TYPE_STRING (4)
- #define NULL (0)
- // macros
- #define vector_init<%0> Vector(%0)
- #define vector_push_back->%0,%1,%2; Push_Back(%0,%1,%2);
- #define vector_pop_back->%0; Pop_Back(%0);
- #define vector_at->%0,%1,%2,%3; At(%0,%1,%2,%3);
- #define vector_at_float->%0,%1,%2,%3; AtFloat(%0,%1,%2,%3);
- #define vector_clear->%0; Clear(%0);
- #define vector_size->%0; Size(%0);
- #define vector_free->%0; Free(%0);
- #define vector_free_result<> MVector_Free()
- #define vector_at_string->%0,%1,%2,%3,%4; AtString(%0,%1,%2,%3,%4);
- #define vector_back_string->%0,%1,%2,%3 Push_BackString(%0,%1,%2,%3);
- #define vector_erase->%0,%1,%2; Erase(%0,%1,%2);
- // natives
- native vector:Vector(type = TYPE_INT);
- native Push_Back(vector:vec, set=NULL, {Float,_}:value=Float:NULL);
- native Pop_Back(vector:vec);
- native At(vector:vec, index, set=NULL, {Float,_}:value=Float:NULL);
- native Float:AtFloat(vector:vec, index, set=NULL, {Float,_}:value=Float:NULL);
- native Clear(vector:vec);
- native Size(vector:vec);
- native Free(vector:vec);
- native MVector_Free();
- native AtString(vector:vec, index, set=NULL, value[], len = sizeof(value));
- native Push_BackString(vector:vec, set=NULL, value[]);
- native Erase(vector:vec, start, end=-1);
Advertisement
Add Comment
Please, Sign In to add comment