diff --git a/modules/core/include/opencv2/core/mat.hpp b/modules/core/include/opencv2/core/mat.hpp index 718d15abb9..84df297bf9 100644 --- a/modules/core/include/opencv2/core/mat.hpp +++ b/modules/core/include/opencv2/core/mat.hpp @@ -576,24 +576,24 @@ CV_ENUM_FLAGS(UMatData::MemoryFlag) struct CV_EXPORTS MatSize { - explicit MatSize(int* _p); - int dims() const; + explicit MatSize(int* _p) CV_NOEXCEPT; + int dims() const CV_NOEXCEPT; Size operator()() const; const int& operator[](int i) const; int& operator[](int i); - operator const int*() const; // TODO OpenCV 4.0: drop this - bool operator == (const MatSize& sz) const; - bool operator != (const MatSize& sz) const; + operator const int*() const CV_NOEXCEPT; // TODO OpenCV 4.0: drop this + bool operator == (const MatSize& sz) const CV_NOEXCEPT; + bool operator != (const MatSize& sz) const CV_NOEXCEPT; int* p; }; struct CV_EXPORTS MatStep { - MatStep(); - explicit MatStep(size_t s); - const size_t& operator[](int i) const; - size_t& operator[](int i); + MatStep() CV_NOEXCEPT; + explicit MatStep(size_t s) CV_NOEXCEPT; + const size_t& operator[](int i) const CV_NOEXCEPT; + size_t& operator[](int i) CV_NOEXCEPT; operator size_t() const; MatStep& operator = (size_t s); @@ -807,7 +807,7 @@ public: The constructed matrix can further be assigned to another matrix or matrix expression or can be allocated with Mat::create . In the former case, the old content is de-referenced. */ - Mat(); + Mat() CV_NOEXCEPT; /** @overload @param rows Number of rows in a 2D array. @@ -2193,7 +2193,7 @@ public: typedef MatConstIterator_<_Tp> const_iterator; //! default constructor - Mat_(); + Mat_() CV_NOEXCEPT; //! equivalent to Mat(_rows, _cols, DataType<_Tp>::type) Mat_(int _rows, int _cols); //! constructor that sets each matrix element to specified value @@ -2385,7 +2385,7 @@ class CV_EXPORTS UMat { public: //! default constructor - UMat(UMatUsageFlags usageFlags = USAGE_DEFAULT); + UMat(UMatUsageFlags usageFlags = USAGE_DEFAULT) CV_NOEXCEPT; //! constructs 2D matrix of the specified size and type // (_type is CV_8UC1, CV_64FC3, CV_32SC(12) etc.) UMat(int rows, int cols, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT); diff --git a/modules/core/include/opencv2/core/mat.inl.hpp b/modules/core/include/opencv2/core/mat.inl.hpp index c51d8fea4a..ff8297ffa4 100644 --- a/modules/core/include/opencv2/core/mat.inl.hpp +++ b/modules/core/include/opencv2/core/mat.inl.hpp @@ -1116,11 +1116,11 @@ void Mat::push_back(const std::vector<_Tp>& v) ///////////////////////////// MatSize //////////////////////////// inline -MatSize::MatSize(int* _p) +MatSize::MatSize(int* _p) CV_NOEXCEPT : p(_p) {} inline -int MatSize::dims() const +int MatSize::dims() const CV_NOEXCEPT { return (p - 1)[0]; } @@ -1153,13 +1153,13 @@ int& MatSize::operator[](int i) } inline -MatSize::operator const int*() const +MatSize::operator const int*() const CV_NOEXCEPT { return p; } inline -bool MatSize::operator != (const MatSize& sz) const +bool MatSize::operator != (const MatSize& sz) const CV_NOEXCEPT { return !(*this == sz); } @@ -1169,25 +1169,25 @@ bool MatSize::operator != (const MatSize& sz) const ///////////////////////////// MatStep //////////////////////////// inline -MatStep::MatStep() +MatStep::MatStep() CV_NOEXCEPT { p = buf; p[0] = p[1] = 0; } inline -MatStep::MatStep(size_t s) +MatStep::MatStep(size_t s) CV_NOEXCEPT { p = buf; p[0] = s; p[1] = 0; } inline -const size_t& MatStep::operator[](int i) const +const size_t& MatStep::operator[](int i) const CV_NOEXCEPT { return p[i]; } inline -size_t& MatStep::operator[](int i) +size_t& MatStep::operator[](int i) CV_NOEXCEPT { return p[i]; } @@ -1210,7 +1210,7 @@ inline MatStep& MatStep::operator = (size_t s) ////////////////////////////// Mat_<_Tp> //////////////////////////// template inline -Mat_<_Tp>::Mat_() +Mat_<_Tp>::Mat_() CV_NOEXCEPT : Mat() { flags = (flags & ~CV_MAT_TYPE_MASK) + traits::Type<_Tp>::value; diff --git a/modules/core/src/matrix.cpp b/modules/core/src/matrix.cpp index 122b383379..61abc2ba8f 100644 --- a/modules/core/src/matrix.cpp +++ b/modules/core/src/matrix.cpp @@ -204,7 +204,7 @@ MatAllocator* Mat::getStdAllocator() //================================================================================================== -bool MatSize::operator==(const MatSize& sz) const +bool MatSize::operator==(const MatSize& sz) const CV_NOEXCEPT { int d = dims(); int dsz = sz.dims(); @@ -337,7 +337,7 @@ void finalizeHdr(Mat& m) //======================================= Mat ====================================================== -Mat::Mat() +Mat::Mat() CV_NOEXCEPT : flags(MAGIC_VAL), dims(0), rows(0), cols(0), data(0), datastart(0), dataend(0), datalimit(0), allocator(0), u(0), size(&rows), step(0) {} diff --git a/modules/core/src/umatrix.cpp b/modules/core/src/umatrix.cpp index 14d73ca14e..09ba92ecde 100644 --- a/modules/core/src/umatrix.cpp +++ b/modules/core/src/umatrix.cpp @@ -230,7 +230,7 @@ UMatDataAutoLock::~UMatDataAutoLock() //////////////////////////////// UMat //////////////////////////////// -UMat::UMat(UMatUsageFlags _usageFlags) +UMat::UMat(UMatUsageFlags _usageFlags) CV_NOEXCEPT : flags(MAGIC_VAL), dims(0), rows(0), cols(0), allocator(0), usageFlags(_usageFlags), u(0), offset(0), size(&rows) {}