C++ Server-Side SDK
LaunchDarkly SDK
iserialized_item_kind.hpp
1 #pragma once
2 
3 #include <cstdint>
4 #include <ostream>
5 #include <string>
6 
7 namespace launchdarkly::server_side::integrations {
8 
15  public:
19  [[nodiscard]] virtual std::string const& Namespace() const = 0;
20 
33  [[nodiscard]] virtual std::uint64_t Version(
34  std::string const& data) const = 0;
35 
36  ISerializedItemKind(ISerializedItemKind const& item) = delete;
38  ISerializedItemKind& operator=(ISerializedItemKind const&) = delete;
39  ISerializedItemKind& operator=(ISerializedItemKind&&) = delete;
40  virtual ~ISerializedItemKind() = default;
41 
42  protected:
43  ISerializedItemKind() = default;
44 };
45 
50 inline bool operator==(ISerializedItemKind const& lhs,
51  ISerializedItemKind const& rhs) {
52  return lhs.Namespace() == rhs.Namespace();
53 }
54 
55 inline void PrintTo(ISerializedItemKind const& kind, std::ostream* os) {
56  *os << kind.Namespace();
57 }
58 
59 } // namespace launchdarkly::server_side::integrations
Represents the kind of a serialized item. The purpose of this interface is to allow for determining a...
Definition: iserialized_item_kind.hpp:14
virtual std::string const & Namespace() const =0
virtual std::uint64_t Version(std::string const &data) const =0