8#ifndef INCLUDED_BALM_METRICREGISTRY
9#define INCLUDED_BALM_METRICREGISTRY
134#include <balscm_version.h>
149#include <bsl_iosfwd.h>
151#include <bsl_memory.h>
153#include <bsl_string.h>
154#include <bsl_utility.h>
155#include <bsl_vector.h>
156#include <bsl_cstddef.h>
157#include <bsl_cstring.h>
196 struct CategoryAndNameLess {
207 bool operator()(
const CategoryAndName& lhs,
208 const CategoryAndName& rhs)
const
210 int cmp = bsl::strcmp(lhs.first, rhs.first);
212 cmp = bsl::strcmp(lhs.second, rhs.second);
244 bool d_defaultEnabled;
283 void setCurrentUserData(
const char *category,
300 const char *categoryName)
const;
468 bool prefixFlag =
false);
504 bsl::ostream&
print(bsl::ostream& stream,
506 int spacesPerLevel = 4)
const;
Definition balm_category.h:263
Definition balm_category.h:152
int UserDataKey
Definition balm_metricdescription.h:192
Definition balm_metricid.h:162
Definition balm_metricregistry.h:180
~MetricRegistry()
Destroy this metric registry.
MetricRegistry(bslma::Allocator *basicAllocator=0)
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
void setCategoryEnabled(const Category *category, bool value)
void getAllCategories(bsl::vector< const Category * > *categories) const
BSLMF_NESTED_TRAIT_DECLARATION(MetricRegistry, bslma::UsesBslmaAllocator)
MetricId getId(const char *category, const char *name)
const Category * getCategory(const char *category)
void setFormat(const MetricId &metricId, const MetricFormat &format)
bsl::size_t numMetrics() const
Return the number of metrics in this registry.
void setPreferredPublicationType(const MetricId &metric, PublicationType::Value type)
MetricDescription::UserDataKey createUserDataKey()
void setAllCategoriesEnabled(bool value)
bsl::size_t numCategories() const
Return the number of categories in this registry.
MetricId findId(const char *category, const char *name) const
void setUserData(const MetricId &metricId, MetricDescription::UserDataKey key, const void *value)
const Category * findCategory(const char *category) const
void registerCategoryHolder(const Category *category, CategoryHolder *holder)
void setUserData(const char *categoryName, MetricDescription::UserDataKey key, const void *value, bool prefixFlag=false)
const Category * addCategory(const char *category)
MetricId addId(const char *category, const char *name)
Definition bslstl_map.h:653
Definition bslstl_pair.h:1280
Definition bslstl_set.h:691
Definition bslstl_sharedptr.h:1838
Definition bslstl_vector.h:1120
Definition bslma_allocator.h:545
Definition bslmt_rwmutex.h:148
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition balm_bdlmmetricsadapter.h:142
Value
Definition balm_publicationtype.h:83
Definition bdlb_cstringless.h:144
Definition bslma_usesbslmaallocator.h:344