diff --git a/xo-object2/include/xo/object2/DString.hpp b/xo-object2/include/xo/object2/DString.hpp index eea8ea5c..a6cedb00 100644 --- a/xo-object2/include/xo/object2/DString.hpp +++ b/xo-object2/include/xo/object2/DString.hpp @@ -78,6 +78,12 @@ namespace xo { static DString * from_view(obj mm, std::string_view sv); + /** create string containing a copy @p str. + * Use memory from allocator @p mm. + **/ + static DString * from_str(obj mm, + const std::string & str); + /** create string containing a copy of @p sv. * Use memory from allocator @p mm via sub_alloc. * (load-bearing for StringTable) diff --git a/xo-object2/src/object2/DString.cpp b/xo-object2/src/object2/DString.cpp index ee9885b7..69baa5d6 100644 --- a/xo-object2/src/object2/DString.cpp +++ b/xo-object2/src/object2/DString.cpp @@ -91,6 +91,15 @@ namespace xo { return _from_view_aux(mm, sv, false /*!suballoc_flag*/); } + DString * + DString::from_str(obj mm, + const std::string & str) + { + return _from_view_aux(mm, + std::string_view(str), + false /*!suballoc_flag*/); + } + DString * DString::from_view_suballoc(obj mm, std::string_view sv)