Updated NonCopyable (to include C++11 version) and use for Session and Section

This commit is contained in:
Phil Nash 2014-10-03 08:15:27 +01:00
parent e606cebac5
commit 12fe67cc82
3 changed files with 12 additions and 13 deletions

View File

@ -97,7 +97,7 @@ namespace Catch {
std::set<TestCase> m_testsAlreadyRun;
};
class Session {
class Session : NonCopyable {
static bool alreadyInstantiated;
public:

View File

@ -24,8 +24,16 @@
namespace Catch {
class NonCopyable {
NonCopyable( NonCopyable const& );
void operator = ( NonCopyable const& );
#ifdef CATCH_CPP11_OR_GREATER
NonCopyable( NonCopyable const& ) = delete;
NonCopyable( NonCopyable && ) = delete;
NonCopyable& operator = ( NonCopyable const& ) = delete;
NonCopyable& operator = ( NonCopyable && ) = delete;
#else
NonCopyable( NonCopyable const& info );
NonCopyable& operator = ( NonCopyable const& );
#endif
protected:
NonCopyable() {}
virtual ~NonCopyable();

View File

@ -16,7 +16,7 @@
namespace Catch {
class Section {
class Section : NonCopyable {
public:
Section( SectionInfo const& info );
~Section();
@ -25,15 +25,6 @@ namespace Catch {
operator bool() const;
private:
#ifdef CATCH_CPP11_OR_GREATER
Section( Section const& ) = delete;
Section( Section && ) = delete;
Section& operator = ( Section const& ) = delete;
Section& operator = ( Section && ) = delete;
#else
Section( Section const& info );
Section& operator = ( Section const& );
#endif
SectionInfo m_info;
std::string m_name;