BLPAPI C++ 3.25.7
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
28#ifndef INCLUDED_BLPAPI_CONSTANT
29#define INCLUDED_BLPAPI_CONSTANT
30
65#ifndef INCLUDED_BLPAPI_TYPES
66#include <blpapi_types.h>
67#endif
68
69#ifndef INCLUDED_BLPAPI_NAME
70#include <blpapi_name.h>
71#endif
72
73#ifndef INCLUDED_BLPAPI_DEFS
74#include <blpapi_defs.h>
75#endif
76
77#ifndef INCLUDED_BLPAPI_DATETIME
78#include <blpapi_datetime.h>
79#endif
80
81#ifndef INCLUDED_BLPAPI_EXCEPTION
82#include <blpapi_exception.h>
83#endif
84
85#include <stddef.h>
86
87#ifdef __cplusplus
88extern "C" {
89#endif
90
92void blpapi_Constant_setUserData(blpapi_Constant_t *constant, void *userdata);
93
96
99
102
105
108 const blpapi_Constant_t *constant, blpapi_Char_t *buffer);
109
112 const blpapi_Constant_t *constant, blpapi_Int32_t *buffer);
113
116 const blpapi_Constant_t *constant, blpapi_Int64_t *buffer);
117
120 const blpapi_Constant_t *constant, blpapi_Float32_t *buffer);
121
124 const blpapi_Constant_t *constant, blpapi_Float64_t *buffer);
125
128 const blpapi_Constant_t *constant, blpapi_Datetime_t *buffer);
129
132 const blpapi_Constant_t *constant, const char **buffer);
133
136
139 blpapi_ConstantList_t *constant, void *userdata);
140
143
146
149
152
155
158 const blpapi_ConstantList_t *constant,
159 const char *nameString,
160 const blpapi_Name_t *name);
161
164 const blpapi_ConstantList_t *constant, size_t index);
165
168
169#ifdef __cplusplus
170}
171
172#include <cassert>
173
181namespace BloombergLP {
182namespace blpapi {
183
210class Constant {
211
212 blpapi_Constant_t *d_impl_p;
213
214 public:
215 explicit Constant(blpapi_Constant_t *handle);
216 /*
217 * Create a <code>Constant</code> object having the same value as the
218 * specified <code>original</code>. Note that this function does
219 * <em>not</em> require cross-object thread synchronization, as it does not
220 * directly read or modify the <code>userData</code> field.
221 */
222
223 void setUserData(void *userData);
232 Name name() const;
237 const char *description() const;
244 int status() const;
250 int datatype() const;
257 int getValueAs(char *buffer) const;
265 int getValueAs(Int32 *buffer) const;
273 int getValueAs(Int64 *buffer) const;
281 int getValueAs(Float32 *buffer) const;
289 int getValueAs(Float64 *buffer) const;
297 int getValueAs(Datetime *buffer) const;
305 int getValueAs(std::string *buffer) const;
313 char getValueAsChar() const;
319 Int32 getValueAsInt32() const;
325 Int64 getValueAsInt64() const;
349 std::string getValueAsString() const;
355 void *userData() const;
367 const blpapi_Constant_t *impl() const;
368};
369
397
398 blpapi_ConstantList_t *d_impl_p;
399
400 public:
401 explicit ConstantList(blpapi_ConstantList_t *handle);
402 /*
403 * Create a <code>ConstantList</code> object having the same value as
404 * the specified <code>original</code>. Note that this function does
405 * <em>not</em> require cross-object thread synchronization, as it does not
406 * directly read or modify the <code>userData</code> field.
407 */
408
409 void setUserData(void *userData);
418 Name name() const;
423 const char *description() const;
430 int status() const;
436 int numConstants() const;
442 int datatype() const;
449 Constant getConstant(const Name& name) const;
457 Constant getConstant(const char *name) const;
465 Constant getConstantAt(size_t index) const;
473 void *userData() const;
485 const blpapi_ConstantList_t *impl() const;
489};
490
494//=============================================================================
495// INLINE FUNCTION DEFINITIONS
496//=============================================================================
497
499 : d_impl_p(handle)
500{
501}
502
503inline Name Constant::name() const
504{
505 return Name(blpapi_Constant_name(d_impl_p));
506}
507
508inline const char *Constant::description() const
509{
510 return blpapi_Constant_description(d_impl_p);
511}
512
513inline int Constant::status() const
514{
515 return blpapi_Constant_status(d_impl_p);
516}
517
518inline int Constant::datatype() const
519{
520 return blpapi_Constant_datatype(d_impl_p);
521}
522
523inline const blpapi_Constant_t *Constant::impl() const { return d_impl_p; }
524
525inline int Constant::getValueAs(char *buffer) const
526{
527 return blpapi_Constant_getValueAsChar(d_impl_p, buffer);
528}
529
530inline int Constant::getValueAs(Int32 *buffer) const
531{
532 return blpapi_Constant_getValueAsInt32(d_impl_p, buffer);
533}
534
535inline int Constant::getValueAs(Int64 *buffer) const
536{
537 return blpapi_Constant_getValueAsInt64(d_impl_p, buffer);
538}
539
540inline int Constant::getValueAs(Float32 *buffer) const
541{
542 return blpapi_Constant_getValueAsFloat32(d_impl_p, buffer);
543}
544
545inline int Constant::getValueAs(Float64 *buffer) const
546{
547 return blpapi_Constant_getValueAsFloat64(d_impl_p, buffer);
548}
549
550inline int Constant::getValueAs(Datetime *buffer) const
551{
552 assert(buffer);
553
554 return blpapi_Constant_getValueAsDatetime(d_impl_p, &buffer->rawValue());
555}
556
557inline int Constant::getValueAs(std::string *result) const
558{
559 const char *buffer = 0;
560 int rc = blpapi_Constant_getValueAsString(d_impl_p, &buffer);
561 if (!rc) {
562 *result = buffer;
563 }
564 return rc;
565}
566
567inline char Constant::getValueAsChar() const
568{
569 char value = 0;
571 return value;
572}
573
575{
576 int value = 0;
578 return value;
579}
580
582{
583 Int64 value = 0;
585 return value;
586}
587
588inline float Constant::getValueAsFloat32() const
589{
590 Float32 value = 0.0;
592 return value;
593}
594
595inline double Constant::getValueAsFloat64() const
596{
597 Float64 value = 0.0;
599 return value;
600}
601
603{
604 Datetime value;
606 return value;
607}
608
609inline std::string Constant::getValueAsString() const
610{
611 std::string value;
613 return value;
614}
615
616inline void Constant::setUserData(void *newUserData)
617{
618 blpapi_Constant_setUserData(d_impl_p, newUserData);
619}
620
621inline void *Constant::userData() const
622{
623 return blpapi_Constant_userData(d_impl_p);
624}
625
627 : d_impl_p(handle)
628{
629}
630
632{
633 return Name(blpapi_ConstantList_name(d_impl_p));
634}
635
636inline const char *ConstantList::description() const
637{
638 return blpapi_ConstantList_description(d_impl_p);
639}
640
641inline int ConstantList::status() const
642{
643 return blpapi_ConstantList_status(d_impl_p);
644}
645
646inline int ConstantList::datatype() const
647{
648 return blpapi_ConstantList_datatype(d_impl_p);
649}
650
652{
653 return blpapi_ConstantList_numConstants(d_impl_p);
654}
655
656inline Constant ConstantList::getConstant(const Name& constantName) const
657{
659 d_impl_p, /*nameString=*/nullptr, constantName.impl());
660 if (constant == nullptr) {
662 }
663
664 return Constant(constant);
665}
666
667inline Constant ConstantList::getConstant(const char *nameString) const
668{
670 d_impl_p, nameString, /*name=*/nullptr);
671 if (constant == nullptr) {
673 }
674
675 return Constant(constant);
676}
677
678inline Constant ConstantList::getConstantAt(size_t index) const
679{
680 blpapi_Constant_t *constant
681 = blpapi_ConstantList_getConstantAt(d_impl_p, index);
682 if (constant == nullptr) {
684 }
685
686 return Constant(blpapi_ConstantList_getConstantAt(d_impl_p, index));
687}
688
690{
691 return d_impl_p;
692}
693
694inline void ConstantList::setUserData(void *newUserData)
695{
696 blpapi_ConstantList_setUserData(d_impl_p, newUserData);
697}
698
699inline void *ConstantList::userData() const
700{
701 return blpapi_ConstantList_userData(d_impl_p);
702}
703
704} // close namespace blpapi
705} // close namespace BloombergLP
706
707#endif // #ifndef __cplusplus
708
709#endif // #ifndef INCLUDED_BLPAPI_CONSTANT
BLPAPI_EXPORT blpapi_Name_t * blpapi_ConstantList_name(const blpapi_ConstantList_t *list)
BLPAPI_EXPORT int blpapi_Constant_getValueAsFloat32(const blpapi_Constant_t *constant, blpapi_Float32_t *buffer)
BLPAPI_EXPORT void blpapi_Constant_setUserData(blpapi_Constant_t *constant, void *userdata)
BLPAPI_EXPORT void blpapi_ConstantList_setUserData(blpapi_ConstantList_t *constant, void *userdata)
BLPAPI_EXPORT blpapi_Name_t * blpapi_Constant_name(const blpapi_Constant_t *constant)
BLPAPI_EXPORT void * blpapi_ConstantList_userData(const blpapi_ConstantList_t *constant)
BLPAPI_EXPORT int blpapi_Constant_getValueAsInt32(const blpapi_Constant_t *constant, blpapi_Int32_t *buffer)
BLPAPI_EXPORT int blpapi_Constant_getValueAsDatetime(const blpapi_Constant_t *constant, blpapi_Datetime_t *buffer)
BLPAPI_EXPORT int blpapi_Constant_datatype(const blpapi_Constant_t *constant)
BLPAPI_EXPORT int blpapi_Constant_getValueAsChar(const blpapi_Constant_t *constant, blpapi_Char_t *buffer)
BLPAPI_EXPORT int blpapi_Constant_status(const blpapi_Constant_t *constant)
BLPAPI_EXPORT int blpapi_Constant_getValueAsInt64(const blpapi_Constant_t *constant, blpapi_Int64_t *buffer)
BLPAPI_EXPORT const char * blpapi_Constant_description(const blpapi_Constant_t *constant)
BLPAPI_EXPORT int blpapi_Constant_getValueAsString(const blpapi_Constant_t *constant, const char **buffer)
BLPAPI_EXPORT blpapi_Constant_t * blpapi_ConstantList_getConstant(const blpapi_ConstantList_t *constant, const char *nameString, const blpapi_Name_t *name)
BLPAPI_EXPORT int blpapi_ConstantList_numConstants(const blpapi_ConstantList_t *list)
BLPAPI_EXPORT int blpapi_Constant_getValueAsFloat64(const blpapi_Constant_t *constant, blpapi_Float64_t *buffer)
BLPAPI_EXPORT blpapi_Constant_t * blpapi_ConstantList_getConstantAt(const blpapi_ConstantList_t *constant, size_t index)
BLPAPI_EXPORT const char * blpapi_ConstantList_description(const blpapi_ConstantList_t *list)
BLPAPI_EXPORT int blpapi_ConstantList_status(const blpapi_ConstantList_t *list)
BLPAPI_EXPORT void * blpapi_Constant_userData(const blpapi_Constant_t *constant)
BLPAPI_EXPORT int blpapi_ConstantList_datatype(const blpapi_ConstantList_t *constant)
Represents a date and/or time.
Common definitions used by the library.
#define BLPAPI_EXPORT
Definition blpapi_defs.h:171
#define BLPAPI_ERROR_ITEM_NOT_FOUND
Definition blpapi_error.h:78
Defines Exceptions that can be thrown by the blpapi library.
Provide a representation of strings for use as container keys.
Provide BLPAPI types.
char blpapi_Char_t
Definition blpapi_types.h:63
float blpapi_Float32_t
Definition blpapi_types.h:71
long long blpapi_Int64_t
Definition blpapi_types.h:69
int blpapi_Int32_t
Definition blpapi_types.h:67
double blpapi_Float64_t
Definition blpapi_types.h:72
Definition blpapi_constant.h:396
Name name() const
Definition blpapi_constant.h:631
int datatype() const
Definition blpapi_constant.h:646
Constant getConstant(const Name &name) const
Definition blpapi_constant.h:656
Constant getConstantAt(size_t index) const
Definition blpapi_constant.h:678
void * userData() const
Definition blpapi_constant.h:699
int status() const
Definition blpapi_constant.h:641
const blpapi_ConstantList_t * impl() const
Definition blpapi_constant.h:689
const char * description() const
Definition blpapi_constant.h:636
ConstantList(blpapi_ConstantList_t *handle)
Definition blpapi_constant.h:626
void setUserData(void *userData)
Definition blpapi_constant.h:694
int numConstants() const
Definition blpapi_constant.h:651
Definition blpapi_constant.h:210
Name name() const
Definition blpapi_constant.h:503
Constant(blpapi_Constant_t *handle)
Definition blpapi_constant.h:498
Float32 getValueAsFloat32() const
Definition blpapi_constant.h:588
Int64 getValueAsInt64() const
Definition blpapi_constant.h:581
const blpapi_Constant_t * impl() const
Definition blpapi_constant.h:523
int datatype() const
Definition blpapi_constant.h:518
char getValueAsChar() const
Definition blpapi_constant.h:567
Datetime getValueAsDatetime() const
Definition blpapi_constant.h:602
void * userData() const
Definition blpapi_constant.h:621
int getValueAs(char *buffer) const
Definition blpapi_constant.h:525
int status() const
Definition blpapi_constant.h:513
Float64 getValueAsFloat64() const
Definition blpapi_constant.h:595
Int32 getValueAsInt32() const
Definition blpapi_constant.h:574
std::string getValueAsString() const
Definition blpapi_constant.h:609
const char * description() const
Definition blpapi_constant.h:508
void setUserData(void *userData)
Definition blpapi_constant.h:616
Definition blpapi_datetime.h:245
blpapi_Datetime_t & rawValue()
Definition blpapi_datetime.h:1952
static void throwOnError(int errorCode)
Definition blpapi_exception.h:526
Definition blpapi_name.h:150
blpapi_Name_t * impl() const
Definition blpapi_name.h:403
struct blpapi_Constant blpapi_Constant_t
Definition blpapi_types.h:130
struct blpapi_Name blpapi_Name_t
Definition blpapi_types.h:154
struct blpapi_ConstantList blpapi_ConstantList_t
Definition blpapi_types.h:133
blpapi_Float64_t Float64
Definition blpapi_types.h:474
blpapi_Float32_t Float32
Definition blpapi_types.h:473
blpapi_Int64_t Int64
Definition blpapi_types.h:471
blpapi_Int32_t Int32
Definition blpapi_types.h:469
Definition blpapi_abstractsession.h:195
Definition blpapi_datetime.h:102