28 #ifndef INCLUDED_BLPAPI_TYPES 29 #define INCLUDED_BLPAPI_TYPES 126 struct blpapi_AbstractSession;
129 struct blpapi_Constant;
132 struct blpapi_ConstantList;
135 struct blpapi_Element;
141 struct blpapi_EventDispatcher;
144 struct blpapi_EventFormatter;
147 struct blpapi_EventQueue;
150 struct blpapi_MessageIterator;
156 struct blpapi_Operation;
159 struct blpapi_ProviderSession;
162 struct blpapi_RequestTemplate;
165 struct blpapi_Service;
168 struct blpapi_Session;
171 struct blpapi_SessionOptions;
174 struct blpapi_Socks5Config;
177 struct blpapi_TlsOptions;
180 struct blpapi_SubscriptionItrerator;
183 struct blpapi_Identity;
187 struct blpapi_Identity;
190 struct blpapi_SchemaElementDefinition;
196 struct blpapi_MessageFormatter;
199 struct blpapi_MessageProperties;
202 struct blpapi_AuthOptions;
205 struct blpapi_AuthUser;
208 struct blpapi_AuthApplication;
211 struct blpapi_AuthToken;
221 #include <type_traits> 267 #ifndef DOXYGEN_SHOULD_SKIP_THIS 269 template <
typename T,
typename U =
bool>
struct IsString : std::false_type { };
271 template <
typename T>
273 typename std::enable_if<
274 std::is_member_function_pointer<decltype(&T::c_str)>::value,
275 bool>::type> : std::true_type { };
277 template <
typename T,
typename U =
bool>
278 struct IsByteSequence : std::false_type { };
280 template <
typename T>
281 struct IsByteSequence<T,
282 typename std::enable_if<
283 std::is_member_function_pointer<
284 decltype(static_cast<const typename T::value_type *(
285 T::*)() const>(&T::data))>::value
286 && sizeof(typename T::value_type) == 1
287 && !IsString<T>::value,
288 bool>::type> : std::true_type { };
290 template <
typename T,
typename ITER,
typename U =
bool>
291 struct IsByteContainer : std::false_type { };
293 template <
typename T,
typename ITER>
294 struct IsByteContainer<T,
296 typename std::enable_if<std::is_constructible<T, ITER, ITER>::value
297 && sizeof(typename T::value_type) == 1,
298 bool>::type> : std::true_type { };
300 #endif // ifndef DOXYGEN_SHOULD_SKIP_THIS 413 bool empty() const noexcept;
433 size_type count = static_cast<std::
size_t>(-1)) const;
445 template <typename BYTE_CONTAINER,
446 typename std::enable_if<
447 IsByteContainer<BYTE_CONTAINER,
iterator>::value,
450 operator BYTE_CONTAINER() const;
527 return d_ptr[d_length - 1];
533 assert(index < d_length);
545 assert(count <= d_length);
546 return Bytes(d_ptr, count);
551 assert(count <= d_length);
552 return Bytes(d_ptr + d_length - count, count);
557 assert(offset <= d_length);
558 assert(count == static_cast<std::size_t>(-1)
559 || count <= d_length - offset);
560 return Bytes(d_ptr + offset,
561 count == static_cast<std::size_t>(-1) ? d_length - offset : count);
564 template <
typename BYTE_CONTAINER,
565 typename std::enable_if<
566 IsByteContainer<BYTE_CONTAINER, Bytes::iterator>::value,
568 inline Bytes::operator BYTE_CONTAINER()
const 570 assert(d_ptr || d_length == 0);
571 return BYTE_CONTAINER(
begin(),
end());
577 #endif // ifdef __cplusplus 579 #endif // #ifndef INCLUDED_BLPAPI_TYPES struct blpapi_Identity blpapi_UserHandle_t
Definition: blpapi_types.h:185
32 bit Floating point
Definition: blpapi_types.h:251
Definition: blpapi_types.h:241
Timestamp.
Definition: blpapi_types.h:256
reverse_iterator rbegin() const noexcept
Definition: blpapi_types.h:506
Unsigned 8 bit value.
Definition: blpapi_types.h:248
Definition: blpapi_types.h:120
blpapi_UInt16_t UInt16
Definition: blpapi_types.h:468
struct blpapi_AuthUser blpapi_AuthUser_t
Definition: blpapi_types.h:206
Char.
Definition: blpapi_types.h:247
blpapi_UInt32_t UInt32
Definition: blpapi_types.h:470
blpapi_Int16_t Int16
Definition: blpapi_types.h:467
unsigned short blpapi_UInt16_t
Definition: blpapi_types.h:66
struct blpapi_Element blpapi_Element_t
Definition: blpapi_types.h:136
Definition: blpapi_types.h:103
blpapi_Logging_Severity_t
Definition: blpapi_types.h:116
struct blpapi_Operation blpapi_Operation_t
Definition: blpapi_types.h:157
std::reverse_iterator< iterator > reverse_iterator
Definition: blpapi_types.h:325
iterator begin() const noexcept
Definition: blpapi_types.h:502
struct blpapi_Event blpapi_Event_t
Definition: blpapi_types.h:139
An opaque enumeration.
Definition: blpapi_types.h:107
blpapi_Int32_t Int32
Definition: blpapi_types.h:469
const char * const_pointer
Definition: blpapi_types.h:320
size_type size() const noexcept
Definition: blpapi_types.h:539
Definition: blpapi_types.h:121
Definition: blpapi_abstractsession.h:187
Definition: blpapi_types.h:117
Date.
Definition: blpapi_types.h:99
Choice type.
Definition: blpapi_types.h:261
struct blpapi_AuthToken blpapi_AuthToken_t
Definition: blpapi_types.h:212
An opaque enumeration.
Definition: blpapi_types.h:259
blpapi_Float64_t Float64
Definition: blpapi_types.h:474
64 bit Floating point
Definition: blpapi_types.h:252
reference operator[](size_type index) const
Definition: blpapi_types.h:530
pointer data() const noexcept
Definition: blpapi_types.h:537
struct blpapi_Socks5Config blpapi_Socks5Config_t
Definition: blpapi_types.h:175
Sequence type.
Definition: blpapi_types.h:260
Date and time.
Definition: blpapi_types.h:258
const char * const_iterator
Definition: blpapi_types.h:324
const char & const_reference
Definition: blpapi_types.h:322
Choice type.
Definition: blpapi_types.h:111
int blpapi_Int32_t
Definition: blpapi_types.h:67
struct blpapi_Name blpapi_Name_t
Definition: blpapi_types.h:154
Currently Unsupported.
Definition: blpapi_types.h:257
64 bit Integer
Definition: blpapi_types.h:250
Definition: blpapi_types.h:118
iterator end() const noexcept
Definition: blpapi_types.h:504
int blpapi_Bool_t
Definition: blpapi_types.h:62
blpapi_Float32_t Float32
Definition: blpapi_types.h:473
Definition: blpapi_types.h:262
64 bit Floating point - IEEE
Definition: blpapi_types.h:93
Opaque binary data.
Definition: blpapi_types.h:97
const char * pointer
Definition: blpapi_types.h:319
struct blpapi_EventQueue blpapi_EventQueue_t
Definition: blpapi_types.h:148
reverse_iterator rend() const noexcept
Definition: blpapi_types.h:511
struct blpapi_SchemaElementDefinition blpapi_SchemaElementDefinition_t
Definition: blpapi_types.h:191
char value_type
Definition: blpapi_types.h:316
ASCIIZ string.
Definition: blpapi_types.h:95
struct blpapi_ConstantList blpapi_ConstantList_t
Definition: blpapi_types.h:133
struct blpapi_Constant blpapi_Constant_t
Definition: blpapi_types.h:130
struct blpapi_RequestTemplate blpapi_RequestTemplate_t
Definition: blpapi_dispatchtbl.h:97
std::ptrdiff_t difference_type
Definition: blpapi_types.h:318
Boolean.
Definition: blpapi_types.h:246
struct blpapi_AuthOptions blpapi_AuthOptions_t
Definition: blpapi_types.h:203
Date and time.
Definition: blpapi_types.h:105
struct blpapi_Identity blpapi_Identity_t
Definition: blpapi_types.h:188
Definition: blpapi_types.h:122
struct blpapi_EventDispatcher blpapi_EventDispatcher_t
Definition: blpapi_types.h:142
reference front() const
Definition: blpapi_types.h:516
unsigned long long blpapi_UInt64_t
Definition: blpapi_types.h:70
ASCIIZ string.
Definition: blpapi_types.h:253
struct blpapi_MessageIterator blpapi_MessageIterator_t
Definition: blpapi_types.h:151
Used for some internal messages.
Definition: blpapi_types.h:113
Bytes last(size_type count) const
Definition: blpapi_types.h:549
const char & reference
Definition: blpapi_types.h:321
bool empty() const noexcept
Definition: blpapi_types.h:541
blpapi_Bool_t Bool
Definition: blpapi_types.h:464
Bool.
Definition: blpapi_types.h:81
blpapi_Int64_t Int64
Definition: blpapi_types.h:471
struct blpapi_MessageProperties blpapi_MessageProperties_t
Definition: blpapi_types.h:200
32 bit Integer
Definition: blpapi_types.h:87
blpapi_DataType_t
Definition: blpapi_types.h:80
struct blpapi_TlsOptions blpapi_TlsOptions_t
Definition: blpapi_types.h:178
Unsigned 8 bit value.
Definition: blpapi_types.h:85
Definition: blpapi_datetime.h:102
Char.
Definition: blpapi_types.h:83
Bytes() noexcept
Definition: blpapi_types.h:484
Opaque binary data.
Definition: blpapi_types.h:254
struct blpapi_EventFormatter blpapi_EventFormatter_t
Definition: blpapi_types.h:145
Definition: blpapi_types.h:123
short blpapi_Int16_t
Definition: blpapi_types.h:65
double blpapi_Float64_t
Definition: blpapi_types.h:72
void assign(pointer ptr, size_type length) noexcept
Definition: blpapi_types.h:496
const char * iterator
Definition: blpapi_types.h:323
std::size_t size_type
Definition: blpapi_types.h:317
char blpapi_Char_t
Definition: blpapi_types.h:63
long long blpapi_Int64_t
Definition: blpapi_types.h:69
struct blpapi_SubscriptionItrerator blpapi_SubscriptionIterator_t
Definition: blpapi_types.h:181
32 bit Integer
Definition: blpapi_types.h:249
blpapi_UInt64_t UInt64
Definition: blpapi_types.h:472
blpapi_Char_t Char
Definition: blpapi_types.h:465
Bytes subspan(size_type offset, size_type count=static_cast< std::size_t >(-1)) const
Definition: blpapi_types.h:555
struct blpapi_AbstractSession blpapi_AbstractSession_t
Definition: blpapi_types.h:127
unsigned char blpapi_UChar_t
Definition: blpapi_types.h:64
struct blpapi_Session blpapi_Session_t
Definition: blpapi_types.h:169
struct blpapi_Identity blpapi_UserHandle
Definition: blpapi_types.h:184
float blpapi_Float32_t
Definition: blpapi_types.h:71
struct blpapi_ProviderSession blpapi_ProviderSession_t
Definition: blpapi_types.h:160
64 bit Integer
Definition: blpapi_types.h:89
32 bit Floating point - IEEE
Definition: blpapi_types.h:91
struct blpapi_AuthApplication blpapi_AuthApplication_t
Definition: blpapi_types.h:209
unsigned int blpapi_UInt32_t
Definition: blpapi_types.h:68
blpapi_UChar_t UChar
Definition: blpapi_types.h:466
struct blpapi_MessageFormatter blpapi_MessageFormatter_t
Definition: blpapi_types.h:197
struct blpapi_Service blpapi_Service_t
Definition: blpapi_types.h:166
Value
The possible data types which can be represented in an Element.
Definition: blpapi_types.h:245
const char element_type
Definition: blpapi_types.h:315
struct blpapi_SessionOptions blpapi_SessionOptions_t
Definition: blpapi_types.h:172
Timestamp.
Definition: blpapi_types.h:101
std::reverse_iterator< const_iterator > const_reverse_iterator
Definition: blpapi_types.h:326
Definition: blpapi_types.h:119
Bytes first(size_type count) const
Definition: blpapi_types.h:543
Definition: blpapi_types.h:312
Sequence type.
Definition: blpapi_types.h:109
Date.
Definition: blpapi_types.h:255
reference back() const
Definition: blpapi_types.h:523