tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
check.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSL-1.0
2// SPDX-FileCopyrightText: Copyright (C) 2024 Tobias Hienzsch
3
4#ifndef TETL_CONTRACTS_CHECK_HPP
5#define TETL_CONTRACTS_CHECK_HPP
6
7#include <etl/_cassert/assert.hpp>
8#include <etl/_type_traits/is_constant_evaluated.hpp>
9
10#if defined(TETL_ENABLE_CONTRACT_CHECKS_SAFE)
11 #define TETL_PRECONDITION_SAFE(...) TETL_ASSERT_IMPL(__VA_ARGS__)
12 #define TETL_PRECONDITION(...) TETL_ASSERT_IMPL(__VA_ARGS__)
13#elif defined(TETL_ENABLE_CONTRACT_CHECKS)
14 #define TETL_PRECONDITION(...) TETL_ASSERT_IMPL(__VA_ARGS__)
15 #define TETL_PRECONDITION_SAFE(...)
16#else
17 #define TETL_PRECONDITION(...)
18 #define TETL_PRECONDITION_SAFE(...)
19#endif
20
21#endif // TETL_CONTRACTS_CHECK_HPP