mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0029258: Foundation Classes - provide move constructors for string classes
New macro OCCT_NO_RVALUE_REFERENCE is introduced to disable methods using move semantics on obsolete compilers that do not support rvalue references. TCollection_AsciiString, TCollection_ExtendedString, NCollection_UtfString - added method Swap(), move constructor, and move assignment operator. Draw command QATestArrayMove is added to test for memory corruption if NCollection_Array1<> bound to local C buffer is returned from function by value.
This commit is contained in:
@@ -111,6 +111,13 @@
|
||||
#define Standard_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
//! @def OCCT_NO_RVALUE_REFERENCE
|
||||
//! Disables methods and constructors that use rvalue references
|
||||
//! (C++11 move semantics) not supported by obsolete compilers.
|
||||
#if (defined(_MSC_VER) && (_MSC_VER < 1600))
|
||||
#define OCCT_NO_RVALUE_REFERENCE
|
||||
#endif
|
||||
|
||||
# ifdef _WIN32
|
||||
|
||||
// We must be careful including windows.h: it is really poisonous stuff!
|
||||
|
Reference in New Issue
Block a user