BLPAPI C++ 3.26.5
Loading...
Searching...
No Matches
blpapi_constant.h
Go to the documentation of this file.
1/* Copyright 2012. Bloomberg Finance L.P.
2 *
3 * Permission is hereby granted, free of charge, to any person obtaining a copy
4 * of this software and associated documentation files (the "Software"), to
5 * deal in the Software without restriction, including without limitation the
6 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7 * sell copies of the Software, and to permit persons to whom the Software is
8 * furnished to do so, subject to the following conditions: The above
9 * copyright notice and this permission notice shall be included in all copies
10 * or substantial portions of the Software.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
17 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
18 * IN THE SOFTWARE.
19 */
20
35
36#ifndef INCLUDED_BLPAPI_CONSTANT
37#define INCLUDED_BLPAPI_CONSTANT
38
72
73#ifndef INCLUDED_BLPAPI_TYPES
74#include <blpapi_types.h>
75#endif
76
77#ifndef INCLUDED_BLPAPI_NAME
78#include <blpapi_name.h>
79#endif
80
81#ifndef INCLUDED_BLPAPI_DEFS
82#include <blpapi_defs.h>
83#endif
84
85#ifndef INCLUDED_BLPAPI_DATETIME
86#include <blpapi_datetime.h>
87#endif
88
89#ifndef INCLUDED_BLPAPI_EXCEPTION
90#include <blpapi_exception.h>
91#endif
92
93#include <stddef.h>
94
95#ifdef __cplusplus
96extern "C" {
97#endif
98
100
103
104BLPAPI_EXPORT
105void blpapi_Constant_setUserData(blpapi_Constant_t *constant, void *userdata);
106
107BLPAPI_EXPORT
108blpapi_Name_t *blpapi_Constant_name(const blpapi_Constant_t *constant);
109
110BLPAPI_EXPORT
111const char *blpapi_Constant_description(const blpapi_Constant_t *constant);
112
113BLPAPI_EXPORT
114int blpapi_Constant_status(const blpapi_Constant_t *constant);
115
116BLPAPI_EXPORT
117int blpapi_Constant_datatype(const blpapi_Constant_t *constant);
118
119BLPAPI_EXPORT
120int blpapi_Constant_getValueAsChar(
121 const blpapi_Constant_t *constant, blpapi_Char_t *buffer);
122
123BLPAPI_EXPORT
124int blpapi_Constant_getValueAsInt32(
125 const blpapi_Constant_t *constant, blpapi_Int32_t *buffer);
126
127BLPAPI_EXPORT
128int blpapi_Constant_getValueAsInt64(
129 const blpapi_Constant_t *constant, blpapi_Int64_t *buffer);
130
131BLPAPI_EXPORT
132int blpapi_Constant_getValueAsFloat32(
133 const blpapi_Constant_t *constant, blpapi_Float32_t *buffer);
134
135BLPAPI_EXPORT
136int blpapi_Constant_getValueAsFloat64(
137 const blpapi_Constant_t *constant, blpapi_Float64_t *buffer);
138
139BLPAPI_EXPORT
140int blpapi_Constant_getValueAsDatetime(
141 const blpapi_Constant_t *constant, blpapi_Datetime_t *buffer);
142
143BLPAPI_EXPORT
144int blpapi_Constant_getValueAsString(
145 const blpapi_Constant_t *constant, const char **buffer);
146
147BLPAPI_EXPORT
148void *blpapi_Constant_userData(const blpapi_Constant_t *constant);
149
150BLPAPI_EXPORT
151void blpapi_ConstantList_setUserData(
152 blpapi_ConstantList_t *constant, void *userdata);
153
154BLPAPI_EXPORT
155blpapi_Name_t *blpapi_ConstantList_name(const blpapi_ConstantList_t *list);
156
157BLPAPI_EXPORT
158const char *blpapi_ConstantList_description(const blpapi_ConstantList_t *list);
159
160BLPAPI_EXPORT
161int blpapi_ConstantList_numConstants(const blpapi_ConstantList_t *list);
162
163BLPAPI_EXPORT
164int blpapi_ConstantList_datatype(const blpapi_ConstantList_t *constant);
165
166BLPAPI_EXPORT
167int blpapi_ConstantList_status(const blpapi_ConstantList_t *list);
168
169BLPAPI_EXPORT
170blpapi_Constant_t *blpapi_ConstantList_getConstant(
171 const blpapi_ConstantList_t *constant,
172 const char *nameString,
173 const blpapi_Name_t *name);
174
175BLPAPI_EXPORT
176blpapi_Constant_t *blpapi_ConstantList_getConstantAt(
177 const blpapi_ConstantList_t *constant, size_t index);
178
179BLPAPI_EXPORT
180void *blpapi_ConstantList_userData(const blpapi_ConstantList_t *constant);
181
184
185#ifdef __cplusplus
186}
187
188#include <cassert>
189
196
197namespace BloombergLP {
198namespace blpapi {
199
226class Constant {
227
228 blpapi_Constant_t *d_impl_p;
229
230 public:
231 explicit Constant(blpapi_Constant_t *handle);
232 /*
233 * Create a <code>Constant</code> object having the same value as the
234 * specified <code>original</code>. Note that this function does
235 * <em>not</em> require cross-object thread synchronization, as it does not
236 * directly read or modify the <code>userData</code> field.
237 */
238
239 void setUserData(void *userData);
247
248 Name name() const;
252
253 const char *description() const;
259
260 int status() const;
265
266 int datatype() const;
272
273 int getValueAs(char *buffer) const;
280
281 int getValueAs(Int32 *buffer) const;
288
289 int getValueAs(Int64 *buffer) const;
296
297 int getValueAs(Float32 *buffer) const;
304
305 int getValueAs(Float64 *buffer) const;
312
313 int getValueAs(Datetime *buffer) const;
320
321 int getValueAs(std::string *buffer) const;
328
329 char getValueAsChar() const;
334
335 Int32 getValueAsInt32() const;
340
341 Int64 getValueAsInt64() const;
346
352
358
364
365 std::string getValueAsString() const;
370
371 void *userData() const;
382
383 const blpapi_Constant_t *impl() const;
384};
385
413
414 blpapi_ConstantList_t *d_impl_p;
415
416 public:
417 explicit ConstantList(blpapi_ConstantList_t *handle);
418 /*
419 * Create a <code>ConstantList</code> object having the same value as
420 * the specified <code>original</code>. Note that this function does
421 * <em>not</em> require cross-object thread synchronization, as it does not
422 * directly read or modify the <code>userData</code> field.
423 */
424
425 void setUserData(void *userData);
433
434 Name name() const;
438
439 const char *description() const;
445
446 int status() const;
451
452 int numConstants() const;
457
458 int datatype() const;
464
465 Constant getConstant(const Name& name) const;
472
473 Constant getConstant(const char *name) const;
480
481 Constant getConstantAt(size_t index) const;
488
489 void *userData() const;
500
501 const blpapi_ConstantList_t *impl() const;
505};
506
509
510//=============================================================================
511// INLINE FUNCTION DEFINITIONS
512//=============================================================================
513
514inline Constant::Constant(blpapi_Constant_t *handle)
515 : d_impl_p(handle)
516{
517}
518
519inline Name Constant::name() const
520{
521 return Name(blpapi_Constant_name(d_impl_p));
522}
523
524inline const char *Constant::description() const
525{
526 return blpapi_Constant_description(d_impl_p);
527}
528
529inline int Constant::status() const
530{
531 return blpapi_Constant_status(d_impl_p);
532}
533
534inline int Constant::datatype() const
535{
536 return blpapi_Constant_datatype(d_impl_p);
537}
538
539inline const blpapi_Constant_t *Constant::impl() const { return d_impl_p; }
540
541inline int Constant::getValueAs(char *buffer) const
542{
543 return blpapi_Constant_getValueAsChar(d_impl_p, buffer);
544}
545
546inline int Constant::getValueAs(Int32 *buffer) const
547{
548 return blpapi_Constant_getValueAsInt32(d_impl_p, buffer);
549}
550
551inline int Constant::getValueAs(Int64 *buffer) const
552{
553 return blpapi_Constant_getValueAsInt64(d_impl_p, buffer);
554}
555
556inline int Constant::getValueAs(Float32 *buffer) const
557{
558 return blpapi_Constant_getValueAsFloat32(d_impl_p, buffer);
559}
560
561inline int Constant::getValueAs(Float64 *buffer) const
562{
563 return blpapi_Constant_getValueAsFloat64(d_impl_p, buffer);
564}
565
566inline int Constant::getValueAs(Datetime *buffer) const
567{
568 assert(buffer);
569
570 return blpapi_Constant_getValueAsDatetime(d_impl_p, &buffer->rawValue());
571}
572
573inline int Constant::getValueAs(std::string *result) const
574{
575 const char *buffer = 0;
576 int rc = blpapi_Constant_getValueAsString(d_impl_p, &buffer);
577 if (!rc) {
578 *result = buffer;
579 }
580 return rc;
581}
582
583inline char Constant::getValueAsChar() const
584{
585 char value = 0;
587 return value;
588}
589
591{
592 int value = 0;
594 return value;
595}
596
598{
599 Int64 value = 0;
601 return value;
602}
603
604inline float Constant::getValueAsFloat32() const
605{
606 Float32 value = 0.0;
608 return value;
609}
610
611inline double Constant::getValueAsFloat64() const
612{
613 Float64 value = 0.0;
615 return value;
616}
617
619{
620 Datetime value;
622 return value;
623}
624
625inline std::string Constant::getValueAsString() const
626{
627 std::string value;
629 return value;
630}
631
632inline void Constant::setUserData(void *newUserData)
633{
634 blpapi_Constant_setUserData(d_impl_p, newUserData);
635}
636
637inline void *Constant::userData() const
638{
639 return blpapi_Constant_userData(d_impl_p);
640}
641
642inline ConstantList::ConstantList(blpapi_ConstantList_t *handle)
643 : d_impl_p(handle)
644{
645}
646
648{
649 return Name(blpapi_ConstantList_name(d_impl_p));
650}
651
652inline const char *ConstantList::description() const
653{
654 return blpapi_ConstantList_description(d_impl_p);
655}
656
657inline int ConstantList::status() const
658{
659 return blpapi_ConstantList_status(d_impl_p);
660}
661
662inline int ConstantList::datatype() const
663{
664 return blpapi_ConstantList_datatype(d_impl_p);
665}
666
668{
669 return blpapi_ConstantList_numConstants(d_impl_p);
670}
671
672inline Constant ConstantList::getConstant(const Name& constantName) const
673{
674 blpapi_Constant_t *constant = blpapi_ConstantList_getConstant(
675 d_impl_p, /*nameString=*/nullptr, constantName.impl());
676 if (constant == nullptr) {
677 ExceptionUtil::throwOnError(BLPAPI_ERROR_ITEM_NOT_FOUND);
678 }
679
680 return Constant(constant);
681}
682
683inline Constant ConstantList::getConstant(const char *nameString) const
684{
685 blpapi_Constant_t *constant = blpapi_ConstantList_getConstant(
686 d_impl_p, nameString, /*name=*/nullptr);
687 if (constant == nullptr) {
688 ExceptionUtil::throwOnError(BLPAPI_ERROR_ITEM_NOT_FOUND);
689 }
690
691 return Constant(constant);
692}
693
694inline Constant ConstantList::getConstantAt(size_t index) const
695{
696 blpapi_Constant_t *constant
697 = blpapi_ConstantList_getConstantAt(d_impl_p, index);
698 if (constant == nullptr) {
699 ExceptionUtil::throwOnError(BLPAPI_ERROR_ITEM_NOT_FOUND);
700 }
701
702 return Constant(blpapi_ConstantList_getConstantAt(d_impl_p, index));
703}
704
705inline const blpapi_ConstantList_t *ConstantList::impl() const
706{
707 return d_impl_p;
708}
709
710inline void ConstantList::setUserData(void *newUserData)
711{
712 blpapi_ConstantList_setUserData(d_impl_p, newUserData);
713}
714
715inline void *ConstantList::userData() const
716{
717 return blpapi_ConstantList_userData(d_impl_p);
718}
719
720} // close namespace blpapi
721} // close namespace BloombergLP
722
723#endif // #ifndef __cplusplus
724
725#endif // #ifndef INCLUDED_BLPAPI_CONSTANT
Represents a date and/or time.
Common definitions used by the library.
Defines Exceptions that can be thrown by the blpapi library.
Provide a representation of strings for use as container keys.
Provide BLPAPI types.
Name name() const
Definition blpapi_constant.h:647
int datatype() const
Definition blpapi_constant.h:662
Constant getConstant(const Name &name) const
Definition blpapi_constant.h:672
Constant getConstantAt(size_t index) const
Definition blpapi_constant.h:694
void * userData() const
Definition blpapi_constant.h:715
int status() const
Definition blpapi_constant.h:657
const blpapi_ConstantList_t * impl() const
Definition blpapi_constant.h:705
const char * description() const
Definition blpapi_constant.h:652
ConstantList(blpapi_ConstantList_t *handle)
Definition blpapi_constant.h:642
void setUserData(void *userData)
Definition blpapi_constant.h:710
int numConstants() const
Definition blpapi_constant.h:667
Definition blpapi_constant.h:226
Name name() const
Definition blpapi_constant.h:519
Constant(blpapi_Constant_t *handle)
Definition blpapi_constant.h:514
Float32 getValueAsFloat32() const
Definition blpapi_constant.h:604
Int64 getValueAsInt64() const
Definition blpapi_constant.h:597
const blpapi_Constant_t * impl() const
Definition blpapi_constant.h:539
int datatype() const
Definition blpapi_constant.h:534
char getValueAsChar() const
Definition blpapi_constant.h:583
Datetime getValueAsDatetime() const
Definition blpapi_constant.h:618
void * userData() const
Definition blpapi_constant.h:637
int getValueAs(char *buffer) const
Definition blpapi_constant.h:541
int status() const
Definition blpapi_constant.h:529
Float64 getValueAsFloat64() const
Definition blpapi_constant.h:611
Int32 getValueAsInt32() const
Definition blpapi_constant.h:590
std::string getValueAsString() const
Definition blpapi_constant.h:625
const char * description() const
Definition blpapi_constant.h:524
void setUserData(void *userData)
Definition blpapi_constant.h:632
Definition blpapi_datetime.h:273
blpapi_Datetime_t & rawValue()
Definition blpapi_datetime.h:1980
static void throwOnError(int errorCode)
Definition blpapi_exception.h:541
Definition blpapi_name.h:242
blpapi_Name_t * impl() const
Definition blpapi_name.h:495
Definition blpapi_abstractsession.h:212
blpapi_Float64_t Float64
Definition blpapi_types.h:485
blpapi_Float32_t Float32
Definition blpapi_types.h:484
blpapi_Int64_t Int64
Definition blpapi_types.h:482
blpapi_Int32_t Int32
Definition blpapi_types.h:480
Definition blpapi_abstractsession.h:211