[glacier] Add a method to build a bounded string

This commit is contained in:
Drew Galbraith 2023-07-06 10:40:36 -07:00
parent 150bfd2fd4
commit f7fb4f4ddc
2 changed files with 7 additions and 4 deletions

View File

@ -14,12 +14,14 @@ uint64_t cstrlen(const char* cstr) {
} // namespace
String::String(const char* str) {
length_ = cstrlen(str);
String::String(const char* str) : String(str, cstrlen(str)) {}
String::String(const char* cstr, uint64_t str_len) : length_(str_len) {
cstr_ = new char[length_ + 1];
for (uint64_t i = 0; i <= length_; i++) {
cstr_[i] = str[i];
for (uint64_t i = 0; i < length_; i++) {
cstr_[i] = cstr[i];
}
cstr_[length_] = '\0';
}
bool String::operator==(const String& other) {

View File

@ -7,6 +7,7 @@ namespace glcr {
class String {
public:
String(const char* cstr);
String(const char* cstr, uint64_t str_len);
const char* cstr() const { return cstr_; }
uint64_t length() const { return length_; }