diff --git a/src/misc/anyscalar.cpp b/src/misc/anyscalar.cpp index 7072922..c140a97 100644 --- a/src/misc/anyscalar.cpp +++ b/src/misc/anyscalar.cpp @@ -31,7 +31,7 @@ AnyScalar::AnyScalar(const AnyScalar& o) } #if __cplusplus>=201103L -AnyScalar::AnyScalar(AnyScalar&& o) +AnyScalar::AnyScalar(AnyScalar&& o) noexcept :_stype(o._stype) { typedef std::string string; @@ -136,7 +136,7 @@ void AnyScalar::swap(AnyScalar& o) { } const void* AnyScalar::bufferUnsafe() const { if(_stype==pvString) { - return as().c_str(); + return ref().c_str(); } else { return _wrap.blob; } diff --git a/src/misc/pv/anyscalar.h b/src/misc/pv/anyscalar.h index 2efccae..fdf44b0 100644 --- a/src/misc/pv/anyscalar.h +++ b/src/misc/pv/anyscalar.h @@ -123,7 +123,7 @@ public: AnyScalar(const AnyScalar& o); #if __cplusplus>=201103L - AnyScalar(AnyScalar&& o); + AnyScalar(AnyScalar&& o) noexcept; #endif inline ~AnyScalar() {clear();} @@ -140,7 +140,7 @@ public: } #if __cplusplus>=201103L - inline AnyScalar& operator=(AnyScalar&& o) { + inline AnyScalar& operator=(AnyScalar&& o) noexcept { clear(); swap(o); return *this;