diff --git a/renderdoc/api/replay/basic_types.h b/renderdoc/api/replay/basic_types.h index 7d8d46aa9..e6db7e2ed 100644 --- a/renderdoc/api/replay/basic_types.h +++ b/renderdoc/api/replay/basic_types.h @@ -184,4 +184,40 @@ struct str : public rdctype::array const char *c_str() const { return elems ? elems : ""; } }; +inline str &str::operator=(const std::string &in) +{ + Delete(); + count = (int32_t)in.size(); + if(count == 0) + { + elems = (char *)allocate(sizeof(char)); + elems[0] = 0; + } + else + { + elems = (char *)allocate(sizeof(char) * (count + 1)); + memcpy(elems, &in[0], sizeof(char) * in.size()); + elems[count] = 0; + } + return *this; +} + +inline str &str::operator=(const char *const in) +{ + Delete(); + count = (int32_t)strlen(in); + if(count == 0) + { + elems = (char *)allocate(sizeof(char)); + elems[0] = 0; + } + else + { + elems = (char *)allocate(sizeof(char) * (count + 1)); + memcpy(elems, &in[0], sizeof(char) * count); + elems[count] = 0; + } + return *this; +} + }; // namespace rdctype diff --git a/renderdoc/replay/type_helpers.cpp b/renderdoc/replay/type_helpers.cpp index 1419800a8..6f3b90d98 100644 --- a/renderdoc/replay/type_helpers.cpp +++ b/renderdoc/replay/type_helpers.cpp @@ -45,43 +45,3 @@ string ToStrHelper::Get(const ResourceId &el) return tostrBuf; } - -namespace rdctype -{ -str &str::operator=(const std::string &in) -{ - Delete(); - count = (int32_t)in.size(); - if(count == 0) - { - elems = (char *)allocate(sizeof(char)); - elems[0] = 0; - } - else - { - elems = (char *)allocate(sizeof(char) * (count + 1)); - memcpy(elems, &in[0], sizeof(char) * in.size()); - elems[count] = 0; - } - return *this; -} - -str &str::operator=(const char *const in) -{ - Delete(); - count = (int32_t)strlen(in); - if(count == 0) - { - elems = (char *)allocate(sizeof(char)); - elems[0] = 0; - } - else - { - elems = (char *)allocate(sizeof(char) * (count + 1)); - memcpy(elems, &in[0], sizeof(char) * count); - elems[count] = 0; - } - return *this; -} - -}; // namespace rdctype