ALib C++ Library
by
Library Version:
2510 R0
Documentation generated by
Loading...
Searching...
No Matches
home
dev
A-Worx
ALib
src
alib
chk_nc.inl
Go to the documentation of this file.
1
//==================================================================================================
2
/// \file
3
/// This header-file is part of the \aliblong.
4
/// With supporting legacy or module builds, .mpp-files are either recognized by the build-system
5
/// as C++20 Module interface files, or are included by the
6
/// \ref alib_manual_modules_impludes "import/include headers".
7
///
8
/// \emoji :copyright: 2013-2025 A-Worx GmbH, Germany.
9
/// Published under \ref mainpage_license "Boost Software License".
10
//==================================================================================================
11
ALIB_EXPORT
namespace
alib
{
12
/// This tag-type is used across \alib to indicate that no check of the input parameters should
13
/// be performed.
14
/// Methods affected expose a template parameter named \p{TCheck} which usually defaults to
15
/// this types' counterpart \alib{CHK}.
16
///
17
/// For example, various methods of the \alib string types, which perform range-checks on
18
/// string-indices, use this template parameter.
19
/// With debug-compilations the checks are still made, and if they fail, the parameters are not
20
/// corrected, but instead an \alib assertion is raised.
21
/// In release builds, however, no checks are performed, which improves execution speed.
22
///
23
/// A programmer does not notice the existence of this option, unless he consults the
24
/// corresponding method's reference documentation, because of the default-value \alib{CHK}.
25
/// Only with code critical to performance or size, the parameter might be crucial to give.
26
///
27
/// \note This type, as well as sibling type \alib{CHK} should rather reside in namespace
28
/// #alib::lang, but was placed in the libraries root namespace for convenience and shortness
29
/// of string-concatenation sequences of the using-code.
30
struct
NC
: std::false_type {};
31
32
/// See sibling type \alib{NC}.
33
struct
CHK
: std::true_type {};
34
}
// namespace [alib]
35
36
37
38
ALIB_EXPORT
#define ALIB_EXPORT
Definition
alib.inl:488
alib
Definition
ALib.Boxing.StdFunctors.H:18
alib::CHK
See sibling type NC.
Definition
chk_nc.inl:33
alib::NC
Definition
chk_nc.inl:30