C++ Server-Side SDK
LaunchDarkly SDK
Loading...
Searching...
No Matches
iserialized_item_kind.hpp
1#pragma once
2
3#include <cstdint>
4#include <ostream>
5#include <string>
6
7namespace 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
50inline bool operator==(ISerializedItemKind const& lhs,
51 ISerializedItemKind const& rhs) {
52 return lhs.Namespace() == rhs.Namespace();
53}
54
55inline 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