Conditionally removes usage of deprecated features

-add macros to test for C++ version and features
to catch_compiler_capabilities.hpp
- replaces dynamic exception specifications (deprecated)
with noexcept in C++ Version >= 11
- defines defaulted copy constructor/move constructors/assignment
in C++ Version >= 11 since their implicit generation is deprecated
under some circumstances.
- fixes #259
This commit is contained in:
gnzlbg 2014-03-20 12:48:19 +01:00
parent ba13f3f098
commit ce6598599b
13 changed files with 103 additions and 10 deletions

View file

@ -66,11 +66,18 @@ namespace Catch {
endElement();
}
# ifndef CATCH_CPP11_OR_GREATER
XmlWriter& operator = ( XmlWriter const& other ) {
XmlWriter temp( other );
swap( temp );
return *this;
}
# else
XmlWriter( XmlWriter const& ) = default;
XmlWriter( XmlWriter && ) = default;
XmlWriter& operator = ( XmlWriter const& ) = default;
XmlWriter& operator = ( XmlWriter && ) = default;
# endif
void swap( XmlWriter& other ) {
std::swap( m_tagIsOpen, other.m_tagIsOpen );