BDE 4.39.x Production Release
Loading...
Searching...
No Matches
bdlar_isref.h
Go to the documentation of this file.
1/// @file bdlar_isref.h
2///
3/// The content of this file has been pre-processed for Doxygen.
4///
5
6
7// bdlar_isref.h -*-C++-*-
8#ifndef INCLUDED_BDLAR_ISREF
9#define INCLUDED_BDLAR_ISREF
10
11#include <bsls_ident.h>
12BSLS_IDENT("$Id: $")
13
14/// @defgroup bdlar_isref bdlar_isref
15/// @brief Provide ...
16/// @addtogroup bdl
17/// @{
18/// @addtogroup bdlar
19/// @{
20/// @addtogroup bdlar_isref
21/// @{
22///
23/// <h1> Outline </h1>
24/// * <a href="#bdlar_isref-purpose"> Purpose</a>
25/// * <a href="#bdlar_isref-classes"> Classes </a>
26/// * <a href="#bdlar_isref-description"> Description </a>
27///
28/// # Purpose {#bdlar_isref-purpose}
29/// Provide ...
30///
31/// # Classes {#bdlar_isref-classes}
32///
33/// - bdlar::IsConstRef: ...
34/// - bdlar::IsMutableRef: ...
35/// - bdlar::IsRef: ...
36///
37/// # Description {#bdlar_isref-description}
38/// This component provides ...
39///
40/// @}
41/** @} */
42/** @} */
43
44/** @addtogroup bdl
45 * @{
46 */
47/** @addtogroup bdlar
48 * @{
49 */
50/** @addtogroup bdlar_isref
51 * @{
52 */
53
54#include <bsl_type_traits.h>
55
56
57namespace bdlar {
58
59// Forward
60class ArrayRef;
61class ArrayConstRef;
62class ChoiceRef;
63class ChoiceConstRef;
64class CustomizedTypeRef;
65class CustomizedTypeConstRef;
66class DynamicTypeRef;
67class DynamicTypeConstRef;
68class EnumRef;
69class EnumConstRef;
70class NullableValueRef;
71class NullableValueConstRef;
72class SequenceRef;
73class SequenceConstRef;
74class SimpleTypeRef;
75class SimpleTypeConstRef;
76
77 // =================
78 // struct IsConstRef
79 // =================
80
81template <class t_TYPE>
84
85template <>
88
89template <>
92
93template <>
96
97template <>
100
101template <>
104
105template <>
108
109template <>
112
113template <>
116
117 // ===================
118 // struct IsMutableRef
119 // ===================
120
121template <class t_TYPE>
124
125template <>
128
129template <>
132
133template <>
136
137template <>
140
141template <>
144
145template <>
148
149template <>
152
153template <>
156
157 // ============
158 // struct IsRef
159 // =============
160
161template <class t_TYPE>
162struct IsRef : bsl::disjunction<IsConstRef<t_TYPE>, IsMutableRef<t_TYPE> > {
163};
164
165} // close package namespace
166
167
168#endif
169
170// ----------------------------------------------------------------------------
171// Copyright 2024 Bloomberg Finance L.P.
172//
173// Licensed under the Apache License, Version 2.0 (the "License");
174// you may not use this file except in compliance with the License.
175// You may obtain a copy of the License at
176//
177// http://www.apache.org/licenses/LICENSE-2.0
178//
179// Unless required by applicable law or agreed to in writing, software
180// distributed under the License is distributed on an "AS IS" BASIS,
181// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
182// See the License for the specific language governing permissions and
183// limitations under the License.
184// ----------------------------- END-OF-FILE ----------------------------------
185
186/** @} */
187/** @} */
188/** @} */
Definition bdlar_arrayref.h:147
Definition bdlar_arrayref.h:72
Definition bdlar_choiceref.h:160
Definition bdlar_choiceref.h:68
Definition bdlar_customizedtyperef.h:136
Definition bdlar_customizedtyperef.h:73
Definition bdlar_dynamictyperef.h:128
Definition bdlar_dynamictyperef.h:77
Definition bdlar_enumref.h:138
Definition bdlar_enumref.h:68
Definition bdlar_nullablevalueref.h:147
Definition bdlar_nullablevalueref.h:72
Definition bdlar_sequenceref.h:205
Definition bdlar_sequenceref.h:68
Definition bdlar_simpletyperef.h:216
Definition bdlar_simpletyperef.h:68
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdlar_accessorref.h:59
Definition bdlar_isref.h:82
Definition bdlar_isref.h:122
Definition bdlar_isref.h:162
Definition bslmf_disjunction.h:96
Definition bslmf_integralconstant.h:261