8#ifndef INCLUDED_BALM_METRICDESCRIPTION
9#define INCLUDED_BALM_METRICDESCRIPTION
128#include <balscm_version.h>
138#include <bsl_iosfwd.h>
139#include <bsl_memory.h>
163 const char *d_name_p;
166 d_preferredPublicationType;
253 const char *
name()
const;
291 bsl::ostream&
print(bsl::ostream& stream)
const;
317MetricDescription::MetricDescription(
const Category *category,
320: d_category_p(category)
324, d_userData(basicAllocator)
348 d_preferredPublicationType = type;
365 if ((
unsigned int)key >= d_userData.
size()) {
366 d_userData.
resize(key + 1, 0);
368 d_userData[key] = value;
390 return d_preferredPublicationType;
407 return ((
unsigned int)key < d_userData.
size()) ? d_userData[key] : 0;
415 const MetricDescription& rhs)
417 return rhs.print(stream);
Definition balm_category.h:152
Definition balm_metricdescription.h:158
void setName(const char *name)
Definition balm_metricdescription.h:331
bsl::ostream & printDescription(bsl::ostream &stream) const
void setPreferredPublicationType(PublicationType::Value type)
Definition balm_metricdescription.h:343
~MetricDescription()=default
Destroy this object.
void setCategory(const Category *category)
Definition balm_metricdescription.h:337
const void * userData(UserDataKey key) const
Definition balm_metricdescription.h:403
bsl::ostream & print(bsl::ostream &stream) const
void setUserData(UserDataKey key, const void *value)
Definition balm_metricdescription.h:360
void setFormat(const bsl::shared_ptr< const MetricFormat > &format)
Definition balm_metricdescription.h:352
int UserDataKey
Definition balm_metricdescription.h:192
const Category * category() const
Definition balm_metricdescription.h:379
bsl::shared_ptr< const MetricFormat > format() const
Definition balm_metricdescription.h:395
PublicationType::Value preferredPublicationType() const
Definition balm_metricdescription.h:386
const char * name() const
Definition balm_metricdescription.h:373
Definition bslstl_sharedptr.h:1838
size_type size() const BSLS_KEYWORD_NOEXCEPT
Return the number of elements in this vector.
Definition bslstl_vector.h:3019
Definition bslstl_vector.h:1120
void resize(size_type newSize)
Definition bslstl_vector.h:4189
Definition bslma_allocator.h:545
Definition bslmt_lockguard.h:234
Definition bslmt_mutex.h:317
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1976
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition balm_bdlmmetricsadapter.h:142
bsl::ostream & operator<<(bsl::ostream &stream, const Category &rhs)
Definition balm_publicationtype.h:79
Value
Definition balm_publicationtype.h:83