2020-08-30 15:43:45 +02:00
|
|
|
|
|
|
|
|
// Copyright Catch2 Authors
|
|
|
|
|
// Distributed under the Boost Software License, Version 1.0.
|
2022-10-28 11:22:53 +02:00
|
|
|
// (See accompanying file LICENSE.txt or copy at
|
2020-08-30 15:43:45 +02:00
|
|
|
// https://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
|
|
|
|
|
|
// SPDX-License-Identifier: BSL-1.0
|
2020-08-29 20:48:32 +02:00
|
|
|
#ifndef CATCH_CONTEXT_HPP_INCLUDED
|
|
|
|
|
#define CATCH_CONTEXT_HPP_INCLUDED
|
2012-05-10 07:58:48 +01:00
|
|
|
|
2022-09-17 14:58:52 +02:00
|
|
|
#include <catch2/internal/catch_compiler_capabilities.hpp>
|
|
|
|
|
|
2012-05-15 23:58:23 +01:00
|
|
|
namespace Catch {
|
|
|
|
|
|
2022-04-11 00:00:19 +02:00
|
|
|
class IResultCapture;
|
|
|
|
|
class IConfig;
|
2012-05-10 07:58:48 +01:00
|
|
|
|
2023-03-16 10:04:03 +01:00
|
|
|
class Context {
|
|
|
|
|
IConfig const* m_config = nullptr;
|
|
|
|
|
IResultCapture* m_resultCapture = nullptr;
|
2013-07-03 19:14:59 +01:00
|
|
|
|
2025-09-23 11:32:20 +02:00
|
|
|
CATCH_EXPORT static Context currentContext;
|
2023-03-16 10:04:03 +01:00
|
|
|
friend Context& getCurrentMutableContext();
|
|
|
|
|
friend Context const& getCurrentContext();
|
|
|
|
|
|
|
|
|
|
public:
|
2024-09-13 11:16:20 +02:00
|
|
|
constexpr IResultCapture* getResultCapture() const {
|
|
|
|
|
return m_resultCapture;
|
|
|
|
|
}
|
|
|
|
|
constexpr IConfig const* getConfig() const { return m_config; }
|
|
|
|
|
constexpr void setResultCapture( IResultCapture* resultCapture ) {
|
|
|
|
|
m_resultCapture = resultCapture;
|
|
|
|
|
}
|
|
|
|
|
constexpr void setConfig( IConfig const* config ) { m_config = config; }
|
2012-05-21 18:52:09 +01:00
|
|
|
};
|
|
|
|
|
|
2023-03-16 10:04:03 +01:00
|
|
|
Context& getCurrentMutableContext();
|
2017-11-17 14:55:30 -06:00
|
|
|
|
2023-03-16 10:04:03 +01:00
|
|
|
inline Context const& getCurrentContext() {
|
2025-09-23 11:32:20 +02:00
|
|
|
return Context::currentContext;
|
2017-11-17 14:55:30 -06:00
|
|
|
}
|
|
|
|
|
|
2019-10-06 21:47:54 +02:00
|
|
|
class SimplePcg32;
|
2022-05-17 15:37:14 +02:00
|
|
|
SimplePcg32& sharedRng();
|
2012-05-10 07:58:48 +01:00
|
|
|
}
|
|
|
|
|
|
2020-08-29 20:48:32 +02:00
|
|
|
#endif // CATCH_CONTEXT_HPP_INCLUDED
|