summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvalmat <ufabiz@gmail.com>2014-11-26 01:13:36 +0600
committervalmat <ufabiz@gmail.com>2014-11-26 01:13:36 +0600
commit7320131b8caada0e7237e33ef4e0340577627ef4 (patch)
treeff8eb589c6c5390f1380115403e6140d1bd9e118
parentcf25fa0b9636d232c63f01824d66289ab9a89b81 (diff)
Marked `noexcept` all move constructors and assigment operators
See: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html
-rw-r--r--include/array.h4
-rw-r--r--include/byref.h2
-rw-r--r--include/byval.h2
-rw-r--r--include/class.h2
-rw-r--r--include/classbase.h2
-rw-r--r--include/global.h4
-rw-r--r--include/hashmember.h2
-rw-r--r--include/hiddenpointer.h2
-rw-r--r--include/object.h2
-rw-r--r--include/value.h4
-rw-r--r--zend/value.cpp4
11 files changed, 15 insertions, 15 deletions
diff --git a/include/array.h b/include/array.h
index 4d6b6b1..d238862 100644
--- a/include/array.h
+++ b/include/array.h
@@ -38,7 +38,7 @@ public:
* Move constructor from a value object
* @param value
*/
- Array(Value &&value) : Value(std::move(value))
+ Array(Value &&value) noexcept : Value(std::move(value))
{
// type must be valid
if (value.type() != Type::Array) throw FatalError("Moving a non-array to an array variable");
@@ -107,7 +107,7 @@ public:
* @param value
* @return Array
*/
- Array &operator=(Value &&value)
+ Array &operator=(Value &&value) noexcept
{
// skip self assignment
if (this == &value) return *this;
diff --git a/include/byref.h b/include/byref.h
index 317c5c6..ff60981 100644
--- a/include/byref.h
+++ b/include/byref.h
@@ -45,7 +45,7 @@ public:
* Move constructor
* @param argument
*/
- ByRef(ByRef &&argument) : Argument(argument) {}
+ ByRef(ByRef &&argument) noexcept : Argument(argument) {}
/**
* Destructor
diff --git a/include/byval.h b/include/byval.h
index 66f9b8f..3606df7 100644
--- a/include/byval.h
+++ b/include/byval.h
@@ -45,7 +45,7 @@ public:
* Move constructor
* @param argument
*/
- ByVal(ByVal &&argument) : Argument(argument) {}
+ ByVal(ByVal &&argument) noexcept : Argument(argument) {}
/**
* Destructor
diff --git a/include/class.h b/include/class.h
index cffc7bd..9257213 100644
--- a/include/class.h
+++ b/include/class.h
@@ -48,7 +48,7 @@ public:
* Move constructor
* @param that
*/
- Class(Class<T> &&that) : ClassBase(std::move(that)) {}
+ Class(Class<T> &&that) noexcept : ClassBase(std::move(that)) {}
/**
* Destructor
diff --git a/include/classbase.h b/include/classbase.h
index 9f0bac3..1129298 100644
--- a/include/classbase.h
+++ b/include/classbase.h
@@ -85,7 +85,7 @@ public:
* Move constructor
* @param that
*/
- ClassBase(ClassBase &&that) : _impl(std::move(that._impl)) {}
+ ClassBase(ClassBase &&that) noexcept : _impl(std::move(that._impl)) {}
/**
* Destructor
diff --git a/include/global.h b/include/global.h
index ae54212..4593e5d 100644
--- a/include/global.h
+++ b/include/global.h
@@ -34,7 +34,7 @@ public:
* Move constructor
* @param global
*/
- Global(Global &&global) : Value(std::move(global)), _name(std::move(global._name)), _exists(global._exists) {}
+ Global(Global &&global) noexcept : Value(std::move(global)), _name(std::move(global._name)), _exists(global._exists) {}
/**
* Destructor
@@ -70,7 +70,7 @@ public:
* @return Global
*/
/*
- Global &operator=(Global &&global)
+ Global &operator=(Global &&global) noexcept
{
// skip self assignment
if (&global == this) return *this;
diff --git a/include/hashmember.h b/include/hashmember.h
index 6853228..b5b6c17 100644
--- a/include/hashmember.h
+++ b/include/hashmember.h
@@ -579,7 +579,7 @@ protected:
* Move constructor
* @param value Other element
*/
-// HashMember(HashMember<Type> &&member) :
+// HashMember(HashMember<Type> &&member) noexcept :
// _parent(std::move(member._parent)), _index(std::move(member._index)) {}
private:
diff --git a/include/hiddenpointer.h b/include/hiddenpointer.h
index dc981c0..5465ebb 100644
--- a/include/hiddenpointer.h
+++ b/include/hiddenpointer.h
@@ -84,7 +84,7 @@ public:
* Move constructor
* @param that
*/
- HiddenPointer(HiddenPointer<Type> &&that) : _allocated(that._allocated), _buffer(that._buffer)
+ HiddenPointer(HiddenPointer<Type> &&that) noexcept : _allocated(that._allocated), _buffer(that._buffer)
{
// the other object is no longer allocated
that._allocated = false;
diff --git a/include/object.h b/include/object.h
index 98e2553..2e92f6a 100644
--- a/include/object.h
+++ b/include/object.h
@@ -119,7 +119,7 @@ public:
* @param value
* @return ForcedValue
*/
- Object &operator=(Value &&value)
+ Object &operator=(Value &&value) noexcept
{
// skip self assignment
if (this == &value) return *this;
diff --git a/include/value.h b/include/value.h
index d6f8da6..eef06cb 100644
--- a/include/value.h
+++ b/include/value.h
@@ -130,7 +130,7 @@ public:
* Move constructor
* @param value
*/
- Value(Value &&that);
+ Value(Value &&that) noexcept;
/**
* Destructor
@@ -142,7 +142,7 @@ public:
* @param value
* @return Value
*/
- Value &operator=(Value &&value);
+ Value &operator=(Value &&value) noexcept;
/**
* Assignment operator for various types
diff --git a/zend/value.cpp b/zend/value.cpp
index 8d1e78f..230fe04 100644
--- a/zend/value.cpp
+++ b/zend/value.cpp
@@ -283,7 +283,7 @@ Value::Value(const Value &that)
* Move constructor
* @param value
*/
-Value::Value(Value &&that) : _val(that._val)
+Value::Value(Value &&that) noexcept: _val(that._val)
{
// clear the other object
that._val = nullptr;
@@ -394,7 +394,7 @@ int Value::refcount() const
* @param value
* @return Value
*/
-Value &Value::operator=(Value &&value)
+Value &Value::operator=(Value &&value) noexcept
{
// skip self assignment
if (this == &value) return *this;