ALib C++ Library
Library Version: 2510 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.
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
#define ALIB_EXPORT
Definition alib.inl:488
See sibling type NC.
Definition chk_nc.inl:33