BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bslstl_compare.h
Go to the documentation of this file.
1/// @file bslstl_compare.h
2///
3/// The content of this file has been pre-processed for Doxygen.
4///
5
6
7// bslstl_compare.h -*-C++-*-
8#ifndef INCLUDED_BSLSTL_COMPARE
9#define INCLUDED_BSLSTL_COMPARE
10
11#include <bsls_ident.h>
12BSLS_IDENT("$Id: $")
13
14/// @defgroup bslstl_compare bslstl_compare
15/// @brief Provide functionality of the corresponding C++ Standard header.
16/// @addtogroup bsl
17/// @{
18/// @addtogroup bslstl
19/// @{
20/// @addtogroup bslstl_compare
21/// @{
22///
23/// <h1> Outline </h1>
24/// * <a href="#bslstl_compare-purpose"> Purpose</a>
25/// * <a href="#bslstl_compare-description"> Description </a>
26///
27/// # Purpose {#bslstl_compare-purpose}
28/// Provide functionality of the corresponding C++ Standard header.
29///
30/// **Canonical header:** bsl_compare.h
31///
32/// # Description {#bslstl_compare-description}
33/// Provide types, in the `bsl` namespace, equivalent to those
34/// defined in the corresponding C++ standard header. Include the native
35/// compiler-provided standard header, and also directly include Bloomberg's
36/// implementation of the C++ standard type (if one exists). Finally, place the
37/// included symbols from the `std` namespace (if any) into the `bsl` namespace.
38/// @}
39/** @} */
40/** @} */
41
42/** @addtogroup bsl
43 * @{
44 */
45/** @addtogroup bslstl
46 * @{
47 */
48/** @addtogroup bslstl_compare
49 * @{
50 */
51
52#include <bsls_compilerfeatures.h>
53
54#ifndef BDE_DONT_ALLOW_TRANSITIVE_INCLUDES
55#include <bsls_nativestd.h>
56#endif // BDE_DONT_ALLOW_TRANSITIVE_INCLUDES
57
58#ifdef BSLS_COMPILERFEATURES_SUPPORT_THREE_WAY_COMPARISON
59#include <compare>
60
61namespace bsl {
62// Import selected symbols into bsl namespace
63
64// Types returned by 'operator<=>'
65using std::strong_ordering;
66using std::weak_ordering;
67using std::partial_ordering;
68
69// Concepts
70using std::three_way_comparable;
71using std::three_way_comparable_with;
72
73// Meta-functions
74using std::common_comparison_category;
75using std::common_comparison_category_t;
76using std::compare_three_way_result;
77using std::compare_three_way_result_t;
78
79// Customization point objects
80using std::strong_order;
81using std::weak_order;
82using std::partial_order;
83using std::compare_strong_order_fallback;
84using std::compare_weak_order_fallback;
85using std::compare_partial_order_fallback;
86
87// Functors
88using std::compare_three_way;
89
90// Utility functions
91using std::is_eq;
92using std::is_neq;
93using std::is_lt;
94using std::is_lteq;
95using std::is_gt;
96using std::is_gteq;
97
98} // close package namespace
99
100#endif // BSLS_COMPILERFEATURES_SUPPORT_THREE_WAY_COMPARISON
101
102#endif
103
104// ----------------------------------------------------------------------------
105// Copyright 2023 Bloomberg Finance L.P.
106//
107// Licensed under the Apache License, Version 2.0 (the "License");
108// you may not use this file except in compliance with the License.
109// You may obtain a copy of the License at
110//
111// http://www.apache.org/licenses/LICENSE-2.0
112//
113// Unless required by applicable law or agreed to in writing, software
114// distributed under the License is distributed on an "AS IS" BASIS,
115// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
116// See the License for the specific language governing permissions and
117// limitations under the License.
118// ----------------------------- END-OF-FILE ----------------------------------
119
120/** @} */
121/** @} */
122/** @} */
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bdlb_printmethods.h:283