StringBuilder_removeFromEnd
This commit is contained in:
parent
9e9b43afb4
commit
7c2809aae2
@ -4,12 +4,21 @@ void StringBuilder_free(StringBuilder* b){
|
||||
free(b->buffer.data);
|
||||
}
|
||||
|
||||
str StringBuilder_build(StringBuilder* b){
|
||||
str StringBuilder_getStr(StringBuilder* b){
|
||||
List_u8_push(&b->buffer, '\0');
|
||||
str result = str_construct((char*)b->buffer.data, b->buffer.len - 1, true);
|
||||
return result;
|
||||
}
|
||||
|
||||
void StringBuilder_removeFromEnd(StringBuilder* b, u32 count){
|
||||
if(count < b->buffer.len){
|
||||
b->buffer.len -= count;
|
||||
}
|
||||
else{
|
||||
b->buffer.len = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void StringBuilder_append_char(StringBuilder* b, char c){
|
||||
List_u8_push(&b->buffer, c);
|
||||
|
||||
@ -1,9 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
#if __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "../collections/List.h"
|
||||
#include "str.h"
|
||||
|
||||
@ -16,6 +12,7 @@ static inline StringBuilder StringBuilder_construct(u32 initial_size) {
|
||||
}
|
||||
void StringBuilder_free(StringBuilder* b);
|
||||
|
||||
/// @param count set to -1 to clear StringBuilder
|
||||
void StringBuilder_removeFromEnd(StringBuilder* b, u32 count);
|
||||
void StringBuilder_append_char(StringBuilder* b, char c);
|
||||
void StringBuilder_append_cstr(StringBuilder* b, char* s);
|
||||
@ -26,7 +23,3 @@ void StringBuilder_append_f64(StringBuilder* b, f64 a);
|
||||
|
||||
// adds '\0' to the buffer and returns pointer to buffer content
|
||||
str StringBuilder_getStr(StringBuilder* b);
|
||||
|
||||
#if __cplusplus
|
||||
}
|
||||
#endif
|
||||
Loading…
Reference in New Issue
Block a user