Skip to content

Commit a274d67

Browse files
authored
Add numeric_string construction and assignment from string rvalue
Signed-off-by: Gareth Sylvester-Bradley <garethsb@nvidia.com>
1 parent ae5a62a commit a274d67

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

Development/nmos/sdp_utils.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ namespace nmos
6767

6868
// Validate the numeric string
6969
const utility::string_t& valid_numeric_string(const utility::string_t& s);
70+
utility::string_t&& valid_numeric_string(utility::string_t&& s) { return valid_numeric_string(s), std::move(s); }
7071

7172
// A non-negative integer represented as a numeric string.
7273
// Behaves as a utility::string_t for read access. On assignment it
@@ -84,9 +85,11 @@ namespace nmos
8485

8586
numeric_string() : numeric_string(uint64_t{}) {}
8687
numeric_string(const utility::string_t& s) : value(valid_numeric_string(s)) {}
88+
numeric_string(utility::string_t&& s) : value(valid_numeric_string(std::move(s))) {}
8789
numeric_string(uint64_t n) : value(utility::conversions::details::to_string_t(n)) {}
8890

8991
numeric_string& operator=(const utility::string_t& s) { return value = valid_numeric_string(s), *this; }
92+
numeric_string& operator=(utility::string_t&& s) { return value = valid_numeric_string(std::move(s)), *this; }
9093
numeric_string& operator=(uint64_t n) { return value = utility::conversions::details::to_string_t(n), *this; }
9194

9295
operator const utility::string_t&() const { return value; }

0 commit comments

Comments
 (0)