Go to the source code of this file.
Typedefs | |
| typedef struct MR_std_string | MR_std_string |
| typedef struct MR_std_string MR_std_string |
A heap-allocated null-terminated string. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
| MRC_API void MR_std_string_AssignFrom | ( | MR_std_string * | _this, |
| const char * | other, | ||
| const char * | other_end ) |
Assigns the contents. Parameter _this can not be null. It is a single object. Parameter other can not be null. If other_end is null, then other is assumed to be null-terminated.
| MRC_API void MR_std_string_AssignFromAnother | ( | MR_std_string * | _this, |
| MR_PassBy | other_pass_by, | ||
| MR_std_string * | other ) |
Assigns the contents from another instance. Both objects remain alive after the call. Parameter _this can not be null. It is a single object. The reference to the parameter other might be preserved in this object. When this function is called, this object will drop any object references it had previously.
| MRC_API MR_std_string * MR_std_string_ConstructFrom | ( | const char * | other, |
| const char * | other_end ) |
Constructs a new instance. Parameter other can not be null. If other_end is null, then other is assumed to be null-terminated. Never returns null. Returns an instance allocated on the heap! Must call MR_std_string_Destroy() to free it when you're done using it.
| MRC_API MR_std_string * MR_std_string_ConstructFromAnother | ( | MR_PassBy | other_pass_by, |
| MR_std_string * | other ) |
Constructs a copy of another instance. The source remains alive. The reference to the parameter other might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_string_Destroy() to free it when you're done using it. When this function is called, this object will drop any object references it had previously.
| MRC_API const char * MR_std_string_Data | ( | const MR_std_string * | _this | ) |
Returns the string contents, which are always null-terminated. Parameter _this can not be null. It is a single object.
| MRC_API const char * MR_std_string_DataEnd | ( | const MR_std_string * | _this | ) |
Returns a pointer to the end of string, to its null-terminator. Parameter _this can not be null. It is a single object.
| MRC_API MR_std_string * MR_std_string_DefaultConstruct | ( | void | ) |
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_std_string_Destroy() to free it when you're done using it.
| MRC_API MR_std_string * MR_std_string_DefaultConstructArray | ( | size_t | num_elems | ) |
Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_std_string_DestroyArray(). Use MR_std_string_OffsetMutablePtr() and MR_std_string_OffsetPtr() to access the array elements.
| MRC_API void MR_std_string_Destroy | ( | const MR_std_string * | _this | ) |
Destroys a heap-allocated instance of MR_std_string. Does nothing if the pointer is null.
| MRC_API void MR_std_string_DestroyArray | ( | const MR_std_string * | _this | ) |
Destroys a heap-allocated array of MR_std_string. Does nothing if the pointer is null.
| MRC_API const char * MR_std_string_MutableData | ( | MR_std_string * | _this | ) |
Returns the string contents, which are always null-terminated. This version returns a non-const pointer. Parameter _this can not be null. It is a single object.
| MRC_API char * MR_std_string_MutableDataEnd | ( | MR_std_string * | _this | ) |
Returns a pointer to the end of string, to its null-terminator. This version returns a non-const pointer. Parameter _this can not be null. It is a single object.
| MRC_API MR_std_string * MR_std_string_OffsetMutablePtr | ( | MR_std_string * | ptr, |
| ptrdiff_t | i ) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.
| MRC_API const MR_std_string * MR_std_string_OffsetPtr | ( | const MR_std_string * | ptr, |
| ptrdiff_t | i ) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.
| MRC_API size_t MR_std_string_Size | ( | const MR_std_string * | _this | ) |
The number of characters in the string, excluding the null-terminator. Parameter _this can not be null. It is a single object.