ALib C++ Framework
by
Library Version: 2511 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
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//==================================================================================================
11ALIB_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.
30struct NC : std::false_type {};
31
32/// See sibling type #"NC".
33struct CHK : std::true_type {};
34} // namespace [alib]
#define ALIB_EXPORT
Definition alib.inl:562
See sibling type #"NC".
Definition chk_nc.inl:33