EMA C++ Edition
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Series.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 Refinitiv. All rights reserved. --
6  *|-----------------------------------------------------------------------------
7  */
8 
9 #ifndef __thomsonreuters_ema_access_Series_h
10 #define __thomsonreuters_ema_access_Series_h
11 
112 
113 namespace thomsonreuters {
114 
115 namespace ema {
116 
117 namespace rdm {
118 
119 class DataDictionaryImpl;
120 
121 }
122 
123 namespace access {
124 
125 class SeriesDecoder;
126 class SeriesEncoder;
127 
129 {
130 public :
131 
133 
134 
136  Series();
138 
140 
141 
143  virtual ~Series();
145 
147 
148 
152  Series& clear();
153 
159  Series& totalCountHint( UInt32 totalCountHint );
160 
167  Series& summaryData( const ComplexType& data );
168 
175  Series& add( const ComplexType& value );
176 
181  Series& add();
182 
187  const Series& complete();
189 
191 
192 
195  DataType::DataTypeEnum getDataType() const;
196 
200  Data::DataCode getCode() const;
201 
205  const EmaBuffer& getAsHex() const;
206 
210  const EmaString& toString() const;
211 
215  bool forth() const;
216 
219  void reset() const;
220 
225  const SeriesEntry& getEntry() const;
226 
230  bool hasTotalCountHint() const;
231 
236  UInt32 getTotalCountHint() const;
237 
242  const SummaryData& getSummaryData() const;
244 
245 private :
246 
247  friend class thomsonreuters::ema::rdm::DataDictionaryImpl;
248 
249  Decoder& getDecoder();
250  bool hasDecoder() const;
251 
252  const Encoder& getEncoder() const;
253  bool hasEncoder() const;
254 
255  const EmaString& toString( UInt64 ) const;
256 
257  mutable EmaString _toString;
258  SeriesEntry _entry;
259  SummaryData _summary;
260  SeriesDecoder* _pDecoder;
261  mutable SeriesEncoder* _pEncoder;
262 
263  Series( const Series& );
264  Series& operator=( const Series& );
265 };
266 
267 }
268 
269 }
270 
271 }
272 
273 #endif // __thomsonreuters_ema_access_Series_h
unsigned long long UInt64
represents 64-bit unsigned integer
Definition: Common.h:68
unsigned int UInt32
represents 32-bit unsigned integer
Definition: Common.h:56
EmaString class is a container of a null terminated Ascii character string.
Definition: EmaString.h:56
EmaBuffer represents a general use binary buffer.
Definition: EmaBuffer.h:32
SummaryData is used to convey Omm SummaryData information optionally present on Map, Series and Vector.
Definition: SummaryData.h:98
#define EMA_ACCESS_API
Definition: Common.h:95
SeriesEntry represents an entry of Series.
Definition: SeriesEntry.h:86
ComplexType class is a parent class from whom all complex data types inherit.
Definition: ComplexType.h:33
Series is a homogeneous container of complex data type entries.
Definition: Series.h:128