36#ifndef INCLUDED_BLPAPI_TYPES
37#define INCLUDED_BLPAPI_TYPES
78typedef int blpapi_Bool_t;
79typedef char blpapi_Char_t;
80typedef unsigned char blpapi_UChar_t;
81typedef short blpapi_Int16_t;
82typedef unsigned short blpapi_UInt16_t;
83typedef int blpapi_Int32_t;
84typedef unsigned int blpapi_UInt32_t;
85typedef long long blpapi_Int64_t;
86typedef unsigned long long blpapi_UInt64_t;
87typedef float blpapi_Float32_t;
88typedef double blpapi_Float64_t;
89enum blpapi_DataType_t {
90 BLPAPI_DATATYPE_BOOL = 1
92 BLPAPI_DATATYPE_CHAR = 2
94 BLPAPI_DATATYPE_BYTE = 3
96 BLPAPI_DATATYPE_INT32 = 4
98 BLPAPI_DATATYPE_INT64 = 5
100 BLPAPI_DATATYPE_FLOAT32 = 6
102 BLPAPI_DATATYPE_FLOAT64 = 7
104 BLPAPI_DATATYPE_STRING = 8
106 BLPAPI_DATATYPE_BYTEARRAY = 9
108 BLPAPI_DATATYPE_DATE = 10
110 BLPAPI_DATATYPE_TIME = 11
112 BLPAPI_DATATYPE_DECIMAL = 12
114 BLPAPI_DATATYPE_DATETIME = 13
116 BLPAPI_DATATYPE_ENUMERATION = 14
118 BLPAPI_DATATYPE_SEQUENCE = 15
120 BLPAPI_DATATYPE_CHOICE = 16
122 BLPAPI_DATATYPE_CORRELATION_ID = 17
125typedef enum blpapi_Logging_Severity_t {
126 blpapi_Logging_SEVERITY_OFF = 0,
127 blpapi_Logging_SEVERITY_FATAL = 1,
128 blpapi_Logging_SEVERITY_ERROR = 2,
129 blpapi_Logging_SEVERITY_WARN = 3,
130 blpapi_Logging_SEVERITY_INFO = 4,
131 blpapi_Logging_SEVERITY_DEBUG = 5,
132 blpapi_Logging_SEVERITY_TRACE = 6
133} blpapi_Logging_Severity_t;
135struct blpapi_AbstractSession;
136typedef struct blpapi_AbstractSession blpapi_AbstractSession_t;
138struct blpapi_Constant;
139typedef struct blpapi_Constant blpapi_Constant_t;
141struct blpapi_ConstantList;
142typedef struct blpapi_ConstantList blpapi_ConstantList_t;
144struct blpapi_Element;
145typedef struct blpapi_Element blpapi_Element_t;
148typedef struct blpapi_Event blpapi_Event_t;
150struct blpapi_EventDispatcher;
151typedef struct blpapi_EventDispatcher blpapi_EventDispatcher_t;
153struct blpapi_EventFormatter;
154typedef struct blpapi_EventFormatter blpapi_EventFormatter_t;
156struct blpapi_EventQueue;
157typedef struct blpapi_EventQueue blpapi_EventQueue_t;
159struct blpapi_MessageIterator;
160typedef struct blpapi_MessageIterator blpapi_MessageIterator_t;
163typedef struct blpapi_Name blpapi_Name_t;
165struct blpapi_Operation;
166typedef struct blpapi_Operation blpapi_Operation_t;
168struct blpapi_ProviderSession;
169typedef struct blpapi_ProviderSession blpapi_ProviderSession_t;
171struct blpapi_RequestTemplate;
172typedef struct blpapi_RequestTemplate blpapi_RequestTemplate_t;
174struct blpapi_Service;
175typedef struct blpapi_Service blpapi_Service_t;
177struct blpapi_Session;
178typedef struct blpapi_Session blpapi_Session_t;
180struct blpapi_SessionOptions;
181typedef struct blpapi_SessionOptions blpapi_SessionOptions_t;
183struct blpapi_Socks5Config;
184typedef struct blpapi_Socks5Config blpapi_Socks5Config_t;
186struct blpapi_TlsOptions;
187typedef struct blpapi_TlsOptions blpapi_TlsOptions_t;
189struct blpapi_SubscriptionItrerator;
190typedef struct blpapi_SubscriptionItrerator blpapi_SubscriptionIterator_t;
192struct blpapi_Identity;
193typedef struct blpapi_Identity blpapi_UserHandle;
194typedef struct blpapi_Identity blpapi_UserHandle_t;
196struct blpapi_Identity;
197typedef struct blpapi_Identity blpapi_Identity_t;
199struct blpapi_SchemaElementDefinition;
200typedef struct blpapi_SchemaElementDefinition blpapi_SchemaElementDefinition_t;
202struct blpapi_Datetime_tag;
203typedef struct blpapi_Datetime_tag blpapi_Datetime_t;
205struct blpapi_MessageFormatter;
206typedef struct blpapi_MessageFormatter blpapi_MessageFormatter_t;
208struct blpapi_MessageProperties;
209typedef struct blpapi_MessageProperties blpapi_MessageProperties_t;
211struct blpapi_AuthOptions;
212typedef struct blpapi_AuthOptions blpapi_AuthOptions_t;
214struct blpapi_AuthUser;
215typedef struct blpapi_AuthUser blpapi_AuthUser_t;
217struct blpapi_AuthApplication;
218typedef struct blpapi_AuthApplication blpapi_AuthApplication_t;
220struct blpapi_AuthToken;
221typedef struct blpapi_AuthToken blpapi_AuthToken_t;
232#include <type_traits>
278#ifndef DOXYGEN_SHOULD_SKIP_THIS
280template <
typename T,
typename U =
bool>
struct IsString : std::false_type { };
284 typename std::enable_if<
285 std::is_member_function_pointer<decltype(&T::c_str)>::value,
286 bool>::type> : std::true_type { };
288template <
typename T,
typename U =
bool>
289struct IsByteSequence : std::false_type { };
292struct IsByteSequence<T,
293 typename std::enable_if<
294 std::is_member_function_pointer<
295 decltype(static_cast<const typename T::value_type *(
296 T::*)() const>(&T::data))>::value
297 && sizeof(typename T::value_type) == 1
298 && !IsString<T>::value,
299 bool>::type> : std::true_type { };
301template <
typename T,
typename ITER,
typename U =
bool>
302struct IsByteContainer : std::false_type { };
304template <
typename T,
typename ITER>
305struct IsByteContainer<T,
307 typename std::enable_if<std::is_constructible<T, ITER, ITER>::value
308 && sizeof(typename T::value_type) == 1,
309 bool>::type> : std::true_type { };
424 bool empty() const noexcept;
444 size_type count = static_cast<std::
size_t>(-1)) const;
456 template <typename BYTE_CONTAINER,
457 typename std::enable_if<
458 IsByteContainer<BYTE_CONTAINER,
iterator>::value,
461 operator BYTE_CONTAINER() const;
538 return d_ptr[d_length - 1];
544 assert(index < d_length);
556 assert(count <= d_length);
557 return Bytes(d_ptr, count);
562 assert(count <= d_length);
563 return Bytes(d_ptr + d_length - count, count);
568 assert(offset <= d_length);
569 assert(count ==
static_cast<std::size_t
>(-1)
570 || count <= d_length - offset);
571 return Bytes(d_ptr + offset,
572 count ==
static_cast<std::size_t
>(-1) ? d_length - offset : count);
575template <
typename BYTE_CONTAINER,
576 typename std::enable_if<
577 IsByteContainer<BYTE_CONTAINER, Bytes::iterator>::value,
579inline Bytes::operator BYTE_CONTAINER()
const
581 assert(d_ptr || d_length == 0);
582 return BYTE_CONTAINER(
begin(),
end());
void assign(pointer ptr, size_type length) noexcept
Definition blpapi_types.h:507
iterator begin() const noexcept
Definition blpapi_types.h:513
const char * iterator
Definition blpapi_types.h:334
Bytes first(size_type count) const
Definition blpapi_types.h:554
reference back() const
Definition blpapi_types.h:534
Bytes last(size_type count) const
Definition blpapi_types.h:560
const char * const_iterator
Definition blpapi_types.h:335
Bytes() noexcept
Definition blpapi_types.h:495
const char element_type
Definition blpapi_types.h:326
reference operator[](size_type index) const
Definition blpapi_types.h:541
bool empty() const noexcept
Definition blpapi_types.h:552
std::reverse_iterator< const_iterator > const_reverse_iterator
Definition blpapi_types.h:337
reverse_iterator rend() const noexcept
Definition blpapi_types.h:522
Bytes subspan(size_type offset, size_type count=static_cast< std::size_t >(-1)) const
Definition blpapi_types.h:566
pointer data() const noexcept
Definition blpapi_types.h:548
const char & reference
Definition blpapi_types.h:332
reverse_iterator rbegin() const noexcept
Definition blpapi_types.h:517
std::size_t size_type
Definition blpapi_types.h:328
std::reverse_iterator< iterator > reverse_iterator
Definition blpapi_types.h:336
size_type size() const noexcept
Definition blpapi_types.h:550
const char & const_reference
Definition blpapi_types.h:333
reference front() const
Definition blpapi_types.h:527
const char * pointer
Definition blpapi_types.h:330
iterator end() const noexcept
Definition blpapi_types.h:515
char value_type
Definition blpapi_types.h:327
std::ptrdiff_t difference_type
Definition blpapi_types.h:329
const char * const_pointer
Definition blpapi_types.h:331
Definition blpapi_abstractsession.h:212
blpapi_Char_t Char
Definition blpapi_types.h:476
blpapi_UInt32_t UInt32
Definition blpapi_types.h:481
blpapi_Bool_t Bool
Definition blpapi_types.h:475
blpapi_Float64_t Float64
Definition blpapi_types.h:485
blpapi_Float32_t Float32
Definition blpapi_types.h:484
blpapi_UInt64_t UInt64
Definition blpapi_types.h:483
blpapi_UInt16_t UInt16
Definition blpapi_types.h:479
blpapi_Int64_t Int64
Definition blpapi_types.h:482
blpapi_UChar_t UChar
Definition blpapi_types.h:477
blpapi_Int32_t Int32
Definition blpapi_types.h:480
blpapi_Int16_t Int16
Definition blpapi_types.h:478
Definition blpapi_abstractsession.h:211
Definition blpapi_types.h:252
Value
The possible data types which can be represented in an Element.
Definition blpapi_types.h:256
@ DATE
Date.
Definition blpapi_types.h:266
@ FLOAT32
32 bit Floating point
Definition blpapi_types.h:262
@ INT64
64 bit Integer
Definition blpapi_types.h:261
@ CHAR
Char.
Definition blpapi_types.h:258
@ DATETIME
Date and time.
Definition blpapi_types.h:269
@ FLOAT64
64 bit Floating point
Definition blpapi_types.h:263
@ BYTE
Unsigned 8 bit value.
Definition blpapi_types.h:259
@ CHOICE
Choice type.
Definition blpapi_types.h:272
@ SEQUENCE
Sequence type.
Definition blpapi_types.h:271
@ INT32
32 bit Integer
Definition blpapi_types.h:260
@ ENUMERATION
An opaque enumeration.
Definition blpapi_types.h:270
@ BYTEARRAY
Opaque binary data.
Definition blpapi_types.h:265
@ BOOL
Boolean.
Definition blpapi_types.h:257
@ TIME
Timestamp.
Definition blpapi_types.h:267
@ STRING
ASCIIZ string.
Definition blpapi_types.h:264
@ DECIMAL
Currently Unsupported.
Definition blpapi_types.h:268
@ CORRELATION_ID
Definition blpapi_types.h:273