BDE 4.39.x Production Release
Loading...
Searching...
No Matches
bdlar_manipulatorvtable.h
Go to the documentation of this file.
1/// @file bdlar_manipulatorvtable.h
2///
3/// The content of this file has been pre-processed for Doxygen.
4///
5
6
7// bdlar_manipulatorvtable.h -*-C++-*-
8#ifndef INCLUDED_BDLAR_MANIPULATORVTABLE
9#define INCLUDED_BDLAR_MANIPULATORVTABLE
10
11#include <bsls_ident.h>
12BSLS_IDENT("$Id: $")
13
14/// @defgroup bdlar_manipulatorvtable bdlar_manipulatorvtable
15/// @brief Provide ...
16/// @addtogroup bdl
17/// @{
18/// @addtogroup bdlar
19/// @{
20/// @addtogroup bdlar_manipulatorvtable
21/// @{
22///
23/// <h1> Outline </h1>
24/// * <a href="#bdlar_manipulatorvtable-purpose"> Purpose</a>
25/// * <a href="#bdlar_manipulatorvtable-classes"> Classes </a>
26/// * <a href="#bdlar_manipulatorvtable-description"> Description </a>
27///
28/// # Purpose {#bdlar_manipulatorvtable-purpose}
29/// Provide ...
30///
31/// # Classes {#bdlar_manipulatorvtable-classes}
32///
33/// - bdlar::ManipulatorVtable: ...
34/// - bdlar::ManipulatorWithInfoVtable: ...
35///
36/// # Description {#bdlar_manipulatorvtable-description}
37/// This component provides ...
38///
39/// @}
40/** @} */
41/** @} */
42
43/** @addtogroup bdl
44 * @{
45 */
46/** @addtogroup bdlar
47 * @{
48 */
49/** @addtogroup bdlar_manipulatorvtable
50 * @{
51 */
52
53
54namespace bdlar {
55
56// Forward
57class DynamicTypeRef;
58class ArrayRef;
59class ChoiceRef;
60class CustomizedTypeRef;
61class EnumRef;
62class NullableValueRef;
63class SequenceRef;
64class SimpleTypeRef;
65
66class FieldInfoRef;
67
68 // ========================
69 // struct ManipulatorVtable
70 // ========================
71
73 // TYPES
74 typedef int ManipulateDynamic(const void *manipulator,
75 DynamicTypeRef *ref);
76 typedef int ManipulateArray(const void *manipulator, ArrayRef *ref);
77 typedef int ManipulateChoice(const void *manipulator, ChoiceRef *ref);
78 typedef int ManipulateCustomized(const void *manipulator,
80 typedef int ManipulateEnum(const void *manipulator, EnumRef *ref);
81 typedef int ManipulateNullable(const void *manipulator,
82 NullableValueRef *ref);
83 typedef int ManipulateSequence(const void *manipulator, SequenceRef *ref);
84 typedef int ManipulateSimple(const void *manipulator, SimpleTypeRef *ref);
85
86 // PUBLIC DATA
87 ManipulateDynamic *d_manipulateDynamic_fp;
88 ManipulateArray *d_manipulateArray_fp;
89 ManipulateChoice *d_manipulateChoice_fp;
90 ManipulateCustomized *d_manipulateCustomized_fp;
91 ManipulateEnum *d_manipulateEnum_fp;
92 ManipulateNullable *d_manipulateNullable_fp;
93 ManipulateSequence *d_manipulateSequence_fp;
94 ManipulateSimple *d_manipulateSimple_fp;
95};
96
97 // ================================
98 // struct ManipulatorWithInfoVtable
99 // ================================
100
102 // TYPES
103 typedef int ManipulateDynamic(const void *manipulator,
104 DynamicTypeRef *ref,
105 const FieldInfoRef& info);
106 typedef int ManipulateArray(const void *manipulator,
107 ArrayRef *ref,
108 const FieldInfoRef& info);
109 typedef int ManipulateChoice(const void *manipulator,
110 ChoiceRef *ref,
111 const FieldInfoRef& info);
112 typedef int ManipulateCustomized(const void *manipulator,
114 const FieldInfoRef& info);
115 typedef int ManipulateEnum(const void *manipulator,
116 EnumRef *ref,
117 const FieldInfoRef& info);
118 typedef int ManipulateNullable(const void *manipulator,
119 NullableValueRef *ref,
120 const FieldInfoRef& info);
121 typedef int ManipulateSequence(const void *manipulator,
122 SequenceRef *ref,
123 const FieldInfoRef& info);
124 typedef int ManipulateSimple(const void *manipulator,
125 SimpleTypeRef *ref,
126 const FieldInfoRef& info);
127
128 // PUBLIC DATA
129 ManipulateDynamic *d_manipulateDynamic_fp;
130 ManipulateArray *d_manipulateArray_fp;
131 ManipulateChoice *d_manipulateChoice_fp;
132 ManipulateCustomized *d_manipulateCustomized_fp;
133 ManipulateEnum *d_manipulateEnum_fp;
134 ManipulateNullable *d_manipulateNullable_fp;
135 ManipulateSequence *d_manipulateSequence_fp;
136 ManipulateSimple *d_manipulateSimple_fp;
137};
138} // close package namespace
139
140
141#endif
142
143// ----------------------------------------------------------------------------
144// Copyright 2024 Bloomberg Finance L.P.
145//
146// Licensed under the Apache License, Version 2.0 (the "License");
147// you may not use this file except in compliance with the License.
148// You may obtain a copy of the License at
149//
150// http://www.apache.org/licenses/LICENSE-2.0
151//
152// Unless required by applicable law or agreed to in writing, software
153// distributed under the License is distributed on an "AS IS" BASIS,
154// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
155// See the License for the specific language governing permissions and
156// limitations under the License.
157// ----------------------------- END-OF-FILE ----------------------------------
158
159/** @} */
160/** @} */
161/** @} */
Definition bdlar_arrayref.h:72
Definition bdlar_choiceref.h:68
Definition bdlar_customizedtyperef.h:73
Definition bdlar_dynamictyperef.h:77
Definition bdlar_enumref.h:68
Definition bdlar_fieldinfo.h:102
Definition bdlar_nullablevalueref.h:72
Definition bdlar_sequenceref.h:68
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_manipulatorvtable.h:72
int ManipulateCustomized(const void *manipulator, CustomizedTypeRef *ref)
Definition bdlar_manipulatorvtable.h:78
ManipulateChoice * d_manipulateChoice_fp
Definition bdlar_manipulatorvtable.h:89
ManipulateNullable * d_manipulateNullable_fp
Definition bdlar_manipulatorvtable.h:92
int ManipulateNullable(const void *manipulator, NullableValueRef *ref)
Definition bdlar_manipulatorvtable.h:81
int ManipulateDynamic(const void *manipulator, DynamicTypeRef *ref)
Definition bdlar_manipulatorvtable.h:74
int ManipulateEnum(const void *manipulator, EnumRef *ref)
Definition bdlar_manipulatorvtable.h:80
ManipulateArray * d_manipulateArray_fp
Definition bdlar_manipulatorvtable.h:88
int ManipulateArray(const void *manipulator, ArrayRef *ref)
Definition bdlar_manipulatorvtable.h:76
int ManipulateChoice(const void *manipulator, ChoiceRef *ref)
Definition bdlar_manipulatorvtable.h:77
ManipulateEnum * d_manipulateEnum_fp
Definition bdlar_manipulatorvtable.h:91
ManipulateSequence * d_manipulateSequence_fp
Definition bdlar_manipulatorvtable.h:93
ManipulateSimple * d_manipulateSimple_fp
Definition bdlar_manipulatorvtable.h:94
ManipulateDynamic * d_manipulateDynamic_fp
Definition bdlar_manipulatorvtable.h:87
int ManipulateSimple(const void *manipulator, SimpleTypeRef *ref)
Definition bdlar_manipulatorvtable.h:84
ManipulateCustomized * d_manipulateCustomized_fp
Definition bdlar_manipulatorvtable.h:90
int ManipulateSequence(const void *manipulator, SequenceRef *ref)
Definition bdlar_manipulatorvtable.h:83
Definition bdlar_manipulatorvtable.h:101
int ManipulateSimple(const void *manipulator, SimpleTypeRef *ref, const FieldInfoRef &info)
Definition bdlar_manipulatorvtable.h:124
ManipulateSequence * d_manipulateSequence_fp
Definition bdlar_manipulatorvtable.h:135
int ManipulateChoice(const void *manipulator, ChoiceRef *ref, const FieldInfoRef &info)
Definition bdlar_manipulatorvtable.h:109
ManipulateChoice * d_manipulateChoice_fp
Definition bdlar_manipulatorvtable.h:131
ManipulateSimple * d_manipulateSimple_fp
Definition bdlar_manipulatorvtable.h:136
ManipulateEnum * d_manipulateEnum_fp
Definition bdlar_manipulatorvtable.h:133
int ManipulateDynamic(const void *manipulator, DynamicTypeRef *ref, const FieldInfoRef &info)
Definition bdlar_manipulatorvtable.h:103
int ManipulateNullable(const void *manipulator, NullableValueRef *ref, const FieldInfoRef &info)
Definition bdlar_manipulatorvtable.h:118
ManipulateArray * d_manipulateArray_fp
Definition bdlar_manipulatorvtable.h:130
ManipulateDynamic * d_manipulateDynamic_fp
Definition bdlar_manipulatorvtable.h:129
int ManipulateArray(const void *manipulator, ArrayRef *ref, const FieldInfoRef &info)
Definition bdlar_manipulatorvtable.h:106
int ManipulateSequence(const void *manipulator, SequenceRef *ref, const FieldInfoRef &info)
Definition bdlar_manipulatorvtable.h:121
int ManipulateCustomized(const void *manipulator, CustomizedTypeRef *ref, const FieldInfoRef &info)
Definition bdlar_manipulatorvtable.h:112
ManipulateCustomized * d_manipulateCustomized_fp
Definition bdlar_manipulatorvtable.h:132
int ManipulateEnum(const void *manipulator, EnumRef *ref, const FieldInfoRef &info)
Definition bdlar_manipulatorvtable.h:115
ManipulateNullable * d_manipulateNullable_fp
Definition bdlar_manipulatorvtable.h:134