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