micro-test-plus
5.0.1
µTest++ Testing Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
exceptions-inline.h
Go to the documentation of this file.
1
/*
2
* This file is part of the µOS++ project (https://micro-os-plus.github.io/).
3
* Copyright (c) 2021-2026 Liviu Ionescu. All rights reserved.
4
*
5
* Permission to use, copy, modify, and/or distribute this software for any
6
* purpose is hereby granted, under the terms of the MIT license.
7
*
8
* If a copy of the license was not distributed with this file, it can be
9
* obtained from https://opensource.org/licenses/mit.
10
*
11
* Major parts of the code are inspired from v1.1.8 of the Boost UT project,
12
* released under the terms of the Boost Version 1.0 Software License,
13
* which can be obtained from https://www.boost.org/LICENSE_1_0.txt.
14
*/
15
16
// ----------------------------------------------------------------------------
17
40
41
#ifndef MICRO_OS_PLUS_MICRO_TEST_PLUS_INLINES_EXCEPTIONS_INLINES_H_
42
#define MICRO_OS_PLUS_MICRO_TEST_PLUS_INLINES_EXCEPTIONS_INLINES_H_
43
44
// ----------------------------------------------------------------------------
45
46
#if defined(__cplusplus)
47
48
// ----------------------------------------------------------------------------
49
50
#if defined(__GNUC__)
51
#pragma GCC diagnostic push
52
53
#pragma GCC diagnostic ignored "-Waggregate-return"
54
#if defined(__clang__)
55
#pragma clang diagnostic ignored "-Wc++98-compat"
56
#pragma clang diagnostic ignored "-Wc++98-compat-pedantic"
57
#endif
// defined(__clang__)
58
#endif
// defined(__GNUC__)
59
60
// ============================================================================
61
62
namespace
micro_os_plus::micro_test_plus
63
{
64
// --------------------------------------------------------------------------
65
// Exceptions related comparators.
66
67
#if defined(__cpp_exceptions)
68
79
template
<
class
Exception_T,
class
Callable_T>
80
constexpr
auto
81
throws
(
const
Callable_T& func)
82
{
83
return
detail::throws_<Callable_T, Exception_T>
{ func };
84
}
85
96
template
<
class
Callable_T>
97
constexpr
auto
98
throws
(
const
Callable_T& func)
99
{
100
return
detail::throws_<Callable_T>
{ func };
101
}
102
114
template
<
class
Callable_T>
115
constexpr
auto
116
nothrow
(
const
Callable_T& func)
117
{
118
return
detail::nothrow_<Callable_T>
{ func };
119
}
120
121
#endif
// defined(__cpp_exceptions)
122
123
// --------------------------------------------------------------------------
124
}
// namespace micro_os_plus::micro_test_plus
125
126
#if defined(__GNUC__)
127
#pragma GCC diagnostic pop
128
#endif
// defined(__GNUC__)
129
130
// ----------------------------------------------------------------------------
131
132
#endif
// defined(__cplusplus)
133
134
// ----------------------------------------------------------------------------
135
136
#endif
// MICRO_OS_PLUS_MICRO_TEST_PLUS_INLINES_EXCEPTIONS_INLINES_H_
137
138
// ----------------------------------------------------------------------------
micro_os_plus::micro_test_plus::nothrow
constexpr auto nothrow(const Callable_T &func)
Check if a callable does not throw an exception.
Definition
exceptions-inline.h:116
micro_os_plus::micro_test_plus
Primary namespace for the µTest++ testing framework.
Definition
deferred-reporter.h:82
micro_os_plus::micro_test_plus::detail::nothrow_
Operator struct template to check if an expression does not throw any exception.
Definition
detail.h:711
micro_os_plus::micro_test_plus::detail::throws_
Operator struct template to check if an expression throws a specific exception.
Definition
detail.h:654
include
micro-os-plus
micro-test-plus
inlines
exceptions-inline.h
Generated by
1.17.0