[glacier] Add a method to build a bounded string
This commit is contained in:
parent
150bfd2fd4
commit
f7fb4f4ddc
|
@ -14,12 +14,14 @@ uint64_t cstrlen(const char* cstr) {
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
String::String(const char* str) {
|
String::String(const char* str) : String(str, cstrlen(str)) {}
|
||||||
length_ = cstrlen(str);
|
|
||||||
|
String::String(const char* cstr, uint64_t str_len) : length_(str_len) {
|
||||||
cstr_ = new char[length_ + 1];
|
cstr_ = new char[length_ + 1];
|
||||||
for (uint64_t i = 0; i <= length_; i++) {
|
for (uint64_t i = 0; i < length_; i++) {
|
||||||
cstr_[i] = str[i];
|
cstr_[i] = cstr[i];
|
||||||
}
|
}
|
||||||
|
cstr_[length_] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
bool String::operator==(const String& other) {
|
bool String::operator==(const String& other) {
|
||||||
|
|
|
@ -7,6 +7,7 @@ namespace glcr {
|
||||||
class String {
|
class String {
|
||||||
public:
|
public:
|
||||||
String(const char* cstr);
|
String(const char* cstr);
|
||||||
|
String(const char* cstr, uint64_t str_len);
|
||||||
|
|
||||||
const char* cstr() const { return cstr_; }
|
const char* cstr() const { return cstr_; }
|
||||||
uint64_t length() const { return length_; }
|
uint64_t length() const { return length_; }
|
||||||
|
|
Loading…
Reference in New Issue