common.bmx 5.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. ' Copyright (c) 2018-2023 Bruce A Henderson
  2. '
  3. ' This software is provided 'as-is', without any express or implied
  4. ' warranty. In no event will the authors be held liable for any damages
  5. ' arising from the use of this software.
  6. '
  7. ' Permission is granted to anyone to use this software for any purpose,
  8. ' including commercial applications, and to alter it and redistribute it
  9. ' freely, subject to the following restrictions:
  10. '
  11. ' 1. The origin of this software must not be misrepresented; you must not
  12. ' claim that you wrote the original software. If you use this software
  13. ' in a product, an acknowledgment in the product documentation would be
  14. ' appreciated but is not required.
  15. ' 2. Altered source versions must be plainly marked as such, and must not be
  16. ' misrepresented as being the original software.
  17. ' 3. This notice may not be removed or altered from any source distribution.
  18. '
  19. SuperStrict
  20. Import "glue.c"
  21. Extern
  22. Function bmx_stringbuilder_new:Byte Ptr(initial:Int)
  23. Function bmx_stringbuilder_free(buffer:Byte Ptr)
  24. Function bmx_stringbuilder_count:Int(buffer:Byte Ptr)
  25. Function bmx_stringbuilder_capacity:Int(buffer:Byte Ptr)
  26. Function bmx_stringbuilder_setlength(buffer:Byte Ptr, length:Int)
  27. Function bmx_stringbuilder_tostring:String(buffer:Byte Ptr)
  28. Function bmx_stringbuilder_append_string(buffer:Byte Ptr, value:String)
  29. Function bmx_stringbuilder_remove(buffer:Byte Ptr, startIndex:Int, endIndex:Int)
  30. Function bmx_stringbuilder_insert(buffer:Byte Ptr, offset:Int, value:String)
  31. Function bmx_stringbuilder_reverse(buffer:Byte Ptr)
  32. Function bmx_stringbuilder_substring:String(buffer:Byte Ptr, beginIndex:Int, endIndex:Int)
  33. Function bmx_stringbuilder_append_stringbuffer(buffer:Byte Ptr, buffer2:Byte Ptr)
  34. Function bmx_stringbuilder_startswith:Int(buffer:Byte Ptr, subString:String, startIndex:Int)
  35. Function bmx_stringbuilder_endswith:Int(buffer:Byte Ptr, subString:String)
  36. Function bmx_stringbuilder_find:Int(buffer:Byte Ptr, subString:String, startIndex:Int)
  37. Function bmx_stringbuilder_findlast:Int(buffer:Byte Ptr, subString:String, startIndex:Int)
  38. Function bmx_stringbuilder_tolower(buffer:Byte Ptr)
  39. Function bmx_stringbuilder_toupper(buffer:Byte Ptr)
  40. Function bmx_stringbuilder_trim(buffer:Byte Ptr)
  41. Function bmx_stringbuilder_replace(buffer:Byte Ptr, subString:String, withString:String)
  42. Function bmx_stringbuilder_join(buffer:Byte Ptr, bits:String[], newBuffer:Byte Ptr)
  43. Function bmx_stringbuilder_split:Byte Ptr(buffer:Byte Ptr, separator:String)
  44. Function bmx_stringbuilder_setcharat(buffer:Byte Ptr, index:Int, char:Int)
  45. Function bmx_stringbuilder_charat:Int(buffer:Byte Ptr, index:Int)
  46. Function bmx_stringbuilder_removecharat(buffer:Byte Ptr, index:Int)
  47. Function bmx_stringbuilder_append_cstring(buffer:Byte Ptr, chars:Byte Ptr)
  48. Function bmx_stringbuilder_append_cstringbytes(buffer:Byte Ptr, chars:Byte Ptr, length:Int)
  49. Function bmx_stringbuilder_append_utf8string(buffer:Byte Ptr, chars:Byte Ptr)
  50. Function bmx_stringbuilder_append_utf8bytes(buffer:Byte Ptr, chars:Byte Ptr, length:Int)
  51. Function bmx_stringbuilder_append_double(buffer:Byte Ptr, value:Double)
  52. Function bmx_stringbuilder_append_float(buffer:Byte Ptr, value:Float)
  53. Function bmx_stringbuilder_append_int(buffer:Byte Ptr, value:Int)
  54. Function bmx_stringbuilder_append_long(buffer:Byte Ptr, value:Long)
  55. Function bmx_stringbuilder_append_short(buffer:Byte Ptr, value:Short)
  56. Function bmx_stringbuilder_append_byte(buffer:Byte Ptr, value:Byte)
  57. Function bmx_stringbuilder_append_uint(buffer:Byte Ptr, value:UInt)
  58. Function bmx_stringbuilder_append_ulong(buffer:Byte Ptr, value:ULong)
  59. Function bmx_stringbuilder_append_sizet(buffer:Byte Ptr, value:Size_T)
  60. Function bmx_stringbuilder_append_shorts(buffer:Byte Ptr, shorts:Short Ptr, length:Int)
  61. Function bmx_stringbuilder_append_char(buffer:Byte Ptr, value:Int)
  62. Function bmx_stringbuilder_left:String(buffer:Byte Ptr, length:Int)
  63. Function bmx_stringbuilder_right:String(buffer:Byte Ptr, length:Int)
  64. Function bmx_stringbuilder_compare:Int(buffer:Byte Ptr, buffer2:Byte Ptr)
  65. Function bmx_stringbuilder_leftalign(buffer:Byte Ptr, length:Int)
  66. Function bmx_stringbuilder_rightalign(buffer:Byte Ptr, length:Int)
  67. Function bmx_stringbuilder_toutf8string:Byte Ptr(buffer:Byte Ptr)
  68. Function bmx_stringbuilder_towstring:Short Ptr(buffer:Byte Ptr)
  69. Function bmx_stringbuilder_join_strings(buffer:Byte Ptr, bits:String[], joiner:String)
  70. Function bmx_stringbuilder_format_string(buffer:Byte Ptr, formatText:String, value:String)
  71. Function bmx_stringbuilder_format_byte(buffer:Byte Ptr, formatText:String, value:Byte)
  72. Function bmx_stringbuilder_format_short(buffer:Byte Ptr, formatText:String, value:Short)
  73. Function bmx_stringbuilder_format_int(buffer:Byte Ptr, formatText:String, value:Int)
  74. Function bmx_stringbuilder_format_uint(buffer:Byte Ptr, formatText:String, value:UInt)
  75. Function bmx_stringbuilder_format_long(buffer:Byte Ptr, formatText:String, value:Long)
  76. Function bmx_stringbuilder_format_ulong(buffer:Byte Ptr, formatText:String, value:ULong)
  77. Function bmx_stringbuilder_format_sizet(buffer:Byte Ptr, formatText:String, value:Size_T)
  78. Function bmx_stringbuilder_format_float(buffer:Byte Ptr, formatText:String, value:Float)
  79. Function bmx_stringbuilder_format_double(buffer:Byte Ptr, formatText:String, value:Double)
  80. Function bmx_stringbuilder_equals:Int(buffer:Byte Ptr, other:Byte Ptr)
  81. Function bmx_stringbuilder_hash:ULong(buffer:Byte Ptr)
  82. Function bmx_stringbuilder_append_utf32string(buffer:Byte Ptr, chars:UInt Ptr)
  83. Function bmx_stringbuilder_append_utf32bytes(buffer:Byte Ptr, chars:UInt Ptr, length:Int)
  84. Function bmx_stringbuilder_splitbuffer_length:Int(splitPtr:Byte Ptr)
  85. Function bmx_stringbuilder_splitbuffer_text:String(splitPtr:Byte Ptr, index:Int)
  86. Function bmx_stringbuilder_splitbuffer_free(splitPtr:Byte Ptr)
  87. Function bmx_stringbuilder_splitbuffer_toarray:String[](splitPtr:Byte Ptr)
  88. End Extern