ALib C++ Framework
by
Library Version:
2511 R0
Documentation generated by
Loading...
Searching...
No Matches
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
/// #"alib_manual_modules_impludes;import/include headers".
7
///
8
/// \emoji :copyright: 2013-2025 A-Worx GmbH, Germany.
9
/// Published under #"mainpage_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 #"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 #"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 #"CHK" should rather reside in namespace
28
/// #"alib::lang;2", but was placed in the libraries root namespace for convenience and
29
/// shortness of string-concatenation sequences of the using-code.
30
struct
NC
: std::false_type {};
31
32
/// See sibling type #"NC".
33
struct
CHK
: std::true_type {};
34
}
// namespace [alib]
ALIB_EXPORT
#define ALIB_EXPORT
Definition
alib.inl:562
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