| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | 
							- /*
 
-  *  Created by Phil on 31/12/2010.
 
-  *  Copyright 2010 Two Blue Cubes Ltd. All rights reserved.
 
-  *
 
-  *  Distributed under the Boost Software License, Version 1.0. (See accompanying
 
-  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-  */
 
- #include "catch_context.h"
 
- #include "catch_common.h"
 
- #include "catch_random_number_generator.h"
 
- namespace Catch {
 
-     class Context : public IMutableContext, NonCopyable {
 
-     public: // IContext
 
-         IResultCapture* getResultCapture() override {
 
-             return m_resultCapture;
 
-         }
 
-         IRunner* getRunner() override {
 
-             return m_runner;
 
-         }
 
-         IConfigPtr const& getConfig() const override {
 
-             return m_config;
 
-         }
 
-         ~Context() override;
 
-     public: // IMutableContext
 
-         void setResultCapture( IResultCapture* resultCapture ) override {
 
-             m_resultCapture = resultCapture;
 
-         }
 
-         void setRunner( IRunner* runner ) override {
 
-             m_runner = runner;
 
-         }
 
-         void setConfig( IConfigPtr const& config ) override {
 
-             m_config = config;
 
-         }
 
-         friend IMutableContext& getCurrentMutableContext();
 
-     private:
 
-         IConfigPtr m_config;
 
-         IRunner* m_runner = nullptr;
 
-         IResultCapture* m_resultCapture = nullptr;
 
-     };
 
-     IMutableContext *IMutableContext::currentContext = nullptr;
 
-     void IMutableContext::createContext()
 
-     {
 
-         currentContext = new Context();
 
-     }
 
-     void cleanUpContext() {
 
-         delete IMutableContext::currentContext;
 
-         IMutableContext::currentContext = nullptr;
 
-     }
 
-     IContext::~IContext() = default;
 
-     IMutableContext::~IMutableContext() = default;
 
-     Context::~Context() = default;
 
-     SimplePcg32& rng() {
 
-         static SimplePcg32 s_rng;
 
-         return s_rng;
 
-     }
 
- }
 
 
  |