ALib C++ Library
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/// \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//==================================================================================================
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 \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.
30struct NC : std::false_type {};
31
32/// See sibling type \alib{NC}.
33struct CHK : std::true_type {};
34} // namespace [alib]
#define ALIB_EXPORT
Definition alib.inl:497
See sibling type NC.
Definition chk_nc.inl:33