Manual_Container.cpp 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. // Copyright (c) 2008-2022 the Urho3D project
  2. // License: MIT
  3. #include "../Precompiled.h"
  4. #include "../AngelScript/APITemplates.h"
  5. namespace Urho3D
  6. {
  7. // This function is called before ASRegisterGenerated()
  8. void ASRegisterManualFirst_Container(asIScriptEngine* engine)
  9. {
  10. }
  11. // ========================================================================================
  12. static String& StringAssignInt(int value, String& str)
  13. {
  14. str = String(value);
  15. return str;
  16. }
  17. static String StringAddInt(int value, const String& str)
  18. {
  19. return str + String(value);
  20. }
  21. static String StringAddIntReverse(int value, const String& str)
  22. {
  23. return String(value) + str;
  24. }
  25. static String& StringAssignUInt(unsigned value, String& str)
  26. {
  27. str = String(value);
  28. return str;
  29. }
  30. static String StringAddUInt(unsigned value, const String& str)
  31. {
  32. return str + String(value);
  33. }
  34. static String StringAddUIntReverse(unsigned value, const String& str)
  35. {
  36. return String(value) + str;
  37. }
  38. static String& StringAssignFloat(float value, String& str)
  39. {
  40. str = String(value);
  41. return str;
  42. }
  43. static String StringAddFloat(float value, const String& str)
  44. {
  45. return str + String(value);
  46. }
  47. static String StringAddFloatReverse(float value, const String& str)
  48. {
  49. return String(value) + str;
  50. }
  51. static String& StringAssignDouble(double value, String& str)
  52. {
  53. str = String(value);
  54. return str;
  55. }
  56. static String& StringAddAssignDouble(double value, String& str)
  57. {
  58. str += String(value);
  59. return str;
  60. }
  61. static String StringAddDouble(double value, const String& str)
  62. {
  63. return str + String(value);
  64. }
  65. static String StringAddDoubleReverse(double value, const String& str)
  66. {
  67. return String(value) + str;
  68. }
  69. static String& StringAssignBool(bool value, String& str)
  70. {
  71. str = String(value);
  72. return str;
  73. }
  74. static String StringAddBool(bool value, const String& str)
  75. {
  76. return str + String(value);
  77. }
  78. static String StringAddBoolReverse(bool value, const String& str)
  79. {
  80. return String(value) + str;
  81. }
  82. // This function is called after ASRegisterGenerated()
  83. void ASRegisterManualLast_Container(asIScriptEngine* engine)
  84. {
  85. static StringFactory stringFactory;
  86. engine->RegisterStringFactory("String", &stringFactory);
  87. engine->RegisterObjectMethod("String", "String& opAssign(int)", AS_FUNCTION_OBJLAST(StringAssignInt), AS_CALL_CDECL_OBJLAST);
  88. engine->RegisterObjectMethod("String", "String opAdd(int) const", AS_FUNCTION_OBJLAST(StringAddInt), AS_CALL_CDECL_OBJLAST);
  89. engine->RegisterObjectMethod("String", "String opAdd_r(int) const", AS_FUNCTION_OBJLAST(StringAddIntReverse), AS_CALL_CDECL_OBJLAST);
  90. engine->RegisterObjectMethod("String", "String& opAssign(uint)", AS_FUNCTION_OBJLAST(StringAssignUInt), AS_CALL_CDECL_OBJLAST);
  91. engine->RegisterObjectMethod("String", "String opAdd(uint) const", AS_FUNCTION_OBJLAST(StringAddUInt), AS_CALL_CDECL_OBJLAST);
  92. engine->RegisterObjectMethod("String", "String opAdd_r(uint) const", AS_FUNCTION_OBJLAST(StringAddUIntReverse), AS_CALL_CDECL_OBJLAST);
  93. engine->RegisterObjectMethod("String", "String& opAssign(float)", AS_FUNCTION_OBJLAST(StringAssignFloat), AS_CALL_CDECL_OBJLAST);
  94. engine->RegisterObjectMethod("String", "String opAdd(float) const", AS_FUNCTION_OBJLAST(StringAddFloat), AS_CALL_CDECL_OBJLAST);
  95. engine->RegisterObjectMethod("String", "String opAdd_r(float) const", AS_FUNCTION_OBJLAST(StringAddFloatReverse), AS_CALL_CDECL_OBJLAST);
  96. engine->RegisterObjectMethod("String", "String& opAssign(double)", AS_FUNCTION_OBJLAST(StringAssignDouble), AS_CALL_CDECL_OBJLAST);
  97. engine->RegisterObjectMethod("String", "String& opAddAssign(double)", AS_FUNCTION_OBJLAST(StringAddAssignDouble), AS_CALL_CDECL_OBJLAST);
  98. engine->RegisterObjectMethod("String", "String opAdd(double) const", AS_FUNCTION_OBJLAST(StringAddDouble), AS_CALL_CDECL_OBJLAST);
  99. engine->RegisterObjectMethod("String", "String opAdd_r(double) const", AS_FUNCTION_OBJLAST(StringAddDoubleReverse), AS_CALL_CDECL_OBJLAST);
  100. engine->RegisterObjectMethod("String", "String& opAssign(bool)", AS_FUNCTION_OBJLAST(StringAssignBool), AS_CALL_CDECL_OBJLAST);
  101. engine->RegisterObjectMethod("String", "String opAdd(bool) const", AS_FUNCTION_OBJLAST(StringAddBool), AS_CALL_CDECL_OBJLAST);
  102. engine->RegisterObjectMethod("String", "String opAdd_r(bool) const", AS_FUNCTION_OBJLAST(StringAddBoolReverse), AS_CALL_CDECL_OBJLAST);
  103. }
  104. }