mirror of
https://github.com/zeek/zeek.git
synced 2025-10-05 16:18:19 +00:00
Add ToStdString and ToStdStringView to ZeekString
This commit is contained in:
parent
f96ce6727f
commit
d570486f36
3 changed files with 17 additions and 4 deletions
|
@ -782,11 +782,9 @@ const char* StringVal::CheckString() const { return string_val->CheckString(); }
|
||||||
|
|
||||||
std::pair<const char*, size_t> StringVal::CheckStringWithSize() const { return string_val->CheckStringWithSize(); }
|
std::pair<const char*, size_t> StringVal::CheckStringWithSize() const { return string_val->CheckStringWithSize(); }
|
||||||
|
|
||||||
string StringVal::ToStdString() const { return {(char*)string_val->Bytes(), static_cast<size_t>(string_val->Len())}; }
|
string StringVal::ToStdString() const { return string_val->ToStdString(); }
|
||||||
|
|
||||||
string_view StringVal::ToStdStringView() const {
|
string_view StringVal::ToStdStringView() const { return string_val->ToStdStringView(); }
|
||||||
return {(char*)string_val->Bytes(), static_cast<size_t>(string_val->Len())};
|
|
||||||
}
|
|
||||||
|
|
||||||
StringVal* StringVal::ToUpper() {
|
StringVal* StringVal::ToUpper() {
|
||||||
string_val->ToUpper();
|
string_val->ToUpper();
|
||||||
|
|
|
@ -177,6 +177,10 @@ std::pair<const char*, size_t> String::CheckStringWithSize() const {
|
||||||
|
|
||||||
const char* String::CheckString() const { return CheckStringWithSize().first; }
|
const char* String::CheckString() const { return CheckStringWithSize().first; }
|
||||||
|
|
||||||
|
std::string String::ToStdString() const { return {(char*)Bytes(), static_cast<size_t>(Len())}; }
|
||||||
|
|
||||||
|
std::string_view String::ToStdStringView() const { return {(char*)Bytes(), static_cast<size_t>(Len())}; }
|
||||||
|
|
||||||
char* String::Render(int format, int* len) const {
|
char* String::Render(int format, int* len) const {
|
||||||
// Maximum character expansion is as \xHH, so a factor of 4.
|
// Maximum character expansion is as \xHH, so a factor of 4.
|
||||||
char* s = new char[n * 4 + 1]; // +1 is for final '\0'
|
char* s = new char[n * 4 + 1]; // +1 is for final '\0'
|
||||||
|
|
|
@ -91,6 +91,17 @@ public:
|
||||||
*/
|
*/
|
||||||
std::pair<const char*, size_t> CheckStringWithSize() const;
|
std::pair<const char*, size_t> CheckStringWithSize() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the string data as a std::string. This makes a copy of the
|
||||||
|
* string data.
|
||||||
|
*/
|
||||||
|
std::string ToStdString() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the string data as a std::string_view.
|
||||||
|
*/
|
||||||
|
std::string_view ToStdStringView() const;
|
||||||
|
|
||||||
enum render_style {
|
enum render_style {
|
||||||
ESC_NONE = 0,
|
ESC_NONE = 0,
|
||||||
ESC_ESC = (1 << 1), // '\' -> "\\"
|
ESC_ESC = (1 << 1), // '\' -> "\\"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue