acadia/lib/glacier/string/string.h

30 lines
506 B
C++

#pragma once
#include <stdint.h>
#include "glacier/string/string_view.h"
namespace glcr {
class String {
public:
String();
String(const char* cstr);
String(const char* cstr, uint64_t str_len);
String(StringView str);
const char* cstr() const { return cstr_; }
uint64_t length() const { return length_; }
bool operator==(const String& str);
char operator[](uint64_t offset) const;
operator StringView() const;
private:
char* cstr_;
uint64_t length_;
};
} // namespace glcr