Medida
metric_name.h
00001 //
00002 // Copyright (c) 2012 Daniel Lundin
00003 //
00004 
00005 #ifndef MEDIDA_METRIC_NAME_H_
00006 #define MEDIDA_METRIC_NAME_H_
00007 
00008 
00009 #include <memory>
00010 #include <string>
00011 
00012 namespace medida {
00013 
00014 class MetricName {
00015  public:
00016   MetricName(const std::string &domain, const std::string &type, const std::string &name, const std::string &scope = "");
00017   MetricName(const MetricName& other);
00018   ~MetricName();
00019   std::string domain() const;
00020   std::string type() const;
00021   std::string name() const;
00022   std::string scope() const;
00023   std::string ToString() const;
00024   bool has_scope() const;
00025   bool operator==(const MetricName& other) const;
00026   bool operator!=(const MetricName& other) const;
00027   bool operator<(const MetricName& other) const;
00028   bool operator>(const MetricName& other) const;
00029  private:
00030   class Impl;
00031   std::unique_ptr<Impl> impl_;
00032 };
00033 
00034 
00035 } // namespace medida
00036 
00037 #endif // MEDIDA_METRIC_NAME_H_
 All Classes