Wire Sysio
Wire Sysion 1.0.0
Loading...
Searching...
No Matches
catch_enforce.h
Go to the documentation of this file.
1
/*
2
* Created by Martin on 01/08/2017.
3
*
4
* Distributed under the Boost Software License, Version 1.0. (See accompanying
5
* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
*/
7
#ifndef TWOBLUECUBES_CATCH_ENFORCE_H_INCLUDED
8
#define TWOBLUECUBES_CATCH_ENFORCE_H_INCLUDED
9
10
#include "
catch_common.h
"
11
#include "
catch_compiler_capabilities.h
"
12
#include "
catch_stream.h
"
13
14
15
#include <stdexcept>
16
17
namespace
Catch
{
18
#if !defined(CATCH_CONFIG_DISABLE_EXCEPTIONS)
19
template
<
typename
Ex>
20
[[noreturn]]
21
void
throw_exception
(Ex
const
& e) {
22
throw
e;
23
}
24
#else
// ^^ Exceptions are enabled // Exceptions are disabled vv
25
[[noreturn]]
26
void
throw_exception
(std::exception
const
& e);
27
#endif
28
}
// namespace Catch;
29
30
#define CATCH_PREPARE_EXCEPTION( type, msg ) \
31
type( ( Catch::ReusableStringStream() << msg ).str() )
32
#define CATCH_INTERNAL_ERROR( msg ) \
33
Catch::throw_exception(CATCH_PREPARE_EXCEPTION( std::logic_error, CATCH_INTERNAL_LINEINFO << ": Internal Catch error: " << msg))
34
#define CATCH_ERROR( msg ) \
35
Catch::throw_exception(CATCH_PREPARE_EXCEPTION( std::domain_error, msg ))
36
#define CATCH_RUNTIME_ERROR( msg ) \
37
Catch::throw_exception(CATCH_PREPARE_EXCEPTION( std::runtime_error, msg ))
38
#define CATCH_ENFORCE( condition, msg ) \
39
do{ if( !(condition) ) CATCH_ERROR( msg ); } while(false)
40
41
42
#endif
// TWOBLUECUBES_CATCH_ENFORCE_H_INCLUDED
catch_common.h
catch_compiler_capabilities.h
catch_stream.h
Catch
Definition
231-Cfg-OutputStreams.cpp:32
Catch::throw_exception
void throw_exception(std::exception const &e)
Definition
catch_enforce.cpp:13
libraries
sys-vm
external
Catch2
include
internal
catch_enforce.h
Generated by
1.12.0