EMA C++ Edition
Vector.h
Go to the documentation of this file.
1/*|-----------------------------------------------------------------------------
2 *| This source code is provided under the Apache 2.0 license
3 *| and is provided AS IS with no warranty or guarantee of fit for purpose.
4 *| See the project's LICENSE.md for details.
5 *| Copyright (C) 2019, 2024 LSEG. All rights reserved. --
6 *|-----------------------------------------------------------------------------
7 */
8
9#ifndef __refinitiv_ema_access_vector_h
10#define __refinitiv_ema_access_vector_h
11
111#include "DataDictionary.h"
112
113namespace refinitiv {
114
115namespace ema {
116
117namespace access {
118
119class VectorDecoder;
120class VectorEncoder;
121
123{
124public :
125
127
128
132
134
135
137 virtual ~Vector();
139
141
142
146
151
155 const EmaBuffer& getAsHex() const;
156
160 const EmaString& toString() const;
161
166 const EmaString& toString( const refinitiv::ema::rdm::DataDictionary& dictionary ) const;
167
171 bool forth() const;
172
175 void reset() const;
176
180 bool hasTotalCountHint() const;
181
185 bool getSortable() const;
186
192
198
203 const VectorEntry& getEntry() const;
205
207
208
213
224 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
225
233 Vector& add( UInt32 position, VectorEntry::VectorAction action, const EmaBuffer& permissionData = EmaBuffer() );
234
239 const Vector& complete();
240
245 Vector& sortable( bool sortable = false );
246
251 Vector& totalCountHint( UInt32 totalCountHint );
252
261
262private :
263
264 Decoder& getDecoder();
265 bool hasDecoder() const;
266
267 const Encoder& getEncoder() const;
268 bool hasEncoder() const;
269
270 const EmaString& toString( UInt64 ) const;
271
272 mutable EmaString _toString;
273 VectorEntry _entry;
274 SummaryData _summary;
275 mutable VectorDecoder* _pDecoder;
276 mutable VectorEncoder* _pEncoder;
277
278 Vector( const Vector& );
279 Vector& operator=( const Vector& );
280};
281
282}
283
284}
285
286}
287
288#endif // __refinitiv_ema_access_vector_h
#define EMA_ACCESS_API
Definition: Common.h:95
*|--------------------------------------------------------------------------—
Definition: AckMsg.h:62
unsigned int UInt32
represents 32-bit unsigned integer
Definition: Common.h:56
unsigned long long UInt64
represents 64-bit unsigned integer
Definition: Common.h:68
The access namespace contains all interfaces and definitions specified for use with the EMA Access pa...
The ema namespace contains all interfaces and definitions specified for use with EMA.
ComplexType class is a parent class from whom all complex data types inherit.
Definition: ComplexType.h:34
EmaBuffer represents a general use binary buffer.
Definition: EmaBuffer.h:33
EmaString class is a container of a null terminated Ascii character string.
Definition: EmaString.h:57
SummaryData is used to convey Omm SummaryData information optionally present on Map,...
Definition: SummaryData.h:99
Vector is a homogeneous container of complex data type entries.
Definition: Vector.h:123
DataType::DataTypeEnum getDataType() const
Data::DataCode getCode() const
Vector & sortable(bool sortable=false)
Vector & add(UInt32 position, VectorEntry::VectorAction action, const EmaBuffer &permissionData=EmaBuffer())
const EmaBuffer & getAsHex() const
Vector & add(UInt32 position, VectorEntry::VectorAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Vector & totalCountHint(UInt32 totalCountHint)
const SummaryData & getSummaryData() const
const EmaString & toString(const refinitiv::ema::rdm::DataDictionary &dictionary) const
const VectorEntry & getEntry() const
const EmaString & toString() const
Vector & summaryData(const ComplexType &data)
VectorEntry represents an entry of Vector.
Definition: VectorEntry.h:87