Line data Source code
1 : #pragma once 2 : 3 : #include <string> 4 : 5 : #include "absl/types/optional.h" 6 : 7 : namespace Envoy { 8 : namespace Stats { 9 : 10 : class StatName; 11 : 12 : /** 13 : * General representation of a tag. 14 : */ 15 : struct Tag { 16 : std::string name_; 17 : std::string value_; 18 : 19 0 : bool operator==(const Tag& other) const { 20 0 : return other.name_ == name_ && other.value_ == value_; 21 0 : }; 22 : }; 23 : 24 : using TagVector = std::vector<Tag>; 25 : 26 : using StatNameTag = std::pair<StatName, StatName>; 27 : using StatNameTagVector = std::vector<StatNameTag>; 28 : using StatNameTagVectorOptConstRef = 29 : absl::optional<std::reference_wrapper<const StatNameTagVector>>; 30 : 31 : } // namespace Stats 32 : } // namespace Envoy