AXV09

[INC] MVector 0.3.1

Aug 18th, 2013
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.47 KB | None | 0 0
  1. /**
  2.  *      MVector
  3.  *          By Pamdex
  4.  *  Little edit by JRX aka AXV
  5.  **/
  6.  
  7. #if defined _inc_mvector_
  8.     #endinput
  9. #else
  10.     #define _inc_mvector_
  11. #endif
  12.  
  13. #define TYPE_INT                    (1)
  14. #define TYPE_FLOAT                  (2)
  15. #define TYPE_BOOL                   (3)
  16. #define TYPE_STRING                 (4)
  17. #define NULL                        (0)
  18.  
  19. // macros
  20. #define vector_init<%0>                 Vector(%0)
  21. #define vector_push_back->%0,%1,%2;         Push_Back(%0,%1,%2);
  22. #define vector_pop_back->%0;                Pop_Back(%0);
  23. #define vector_at->%0,%1,%2,%3;             At(%0,%1,%2,%3);
  24. #define vector_at_float->%0,%1,%2,%3;           AtFloat(%0,%1,%2,%3);
  25. #define vector_clear->%0;               Clear(%0);
  26. #define vector_size->%0;                Size(%0);
  27. #define vector_free->%0;                Free(%0);
  28. #define vector_free_result<>                MVector_Free()
  29. #define vector_at_string->%0,%1,%2,%3,%4;       AtString(%0,%1,%2,%3,%4);
  30. #define vector_back_string->%0,%1,%2,%3         Push_BackString(%0,%1,%2,%3);
  31. #define vector_erase->%0,%1,%2;             Erase(%0,%1,%2);
  32.  
  33. // natives
  34. native vector:Vector(type = TYPE_INT);
  35. native Push_Back(vector:vec, set=NULL, {Float,_}:value=Float:NULL);
  36. native Pop_Back(vector:vec);
  37. native At(vector:vec, index, set=NULL, {Float,_}:value=Float:NULL);
  38. native Float:AtFloat(vector:vec, index, set=NULL, {Float,_}:value=Float:NULL);
  39. native Clear(vector:vec);
  40. native Size(vector:vec);
  41. native Free(vector:vec);
  42. native MVector_Free();
  43. native AtString(vector:vec, index, set=NULL, value[], len = sizeof(value));
  44. native Push_BackString(vector:vec, set=NULL, value[]);
  45. native Erase(vector:vec, start, end=-1);
Advertisement
Add Comment
Please, Sign In to add comment