C++ Client-Side SDK
LaunchDarkly SDK
evaluation_result.hpp
1 #pragma once
2 
3 #include <chrono>
4 #include <optional>
5 #include <ostream>
6 
7 #include <launchdarkly/data/evaluation_detail_internal.hpp>
8 
9 namespace launchdarkly {
10 
16  public:
20  [[nodiscard]] uint64_t Version() const;
21 
25  [[nodiscard]] std::optional<uint64_t> FlagVersion() const;
26 
30  [[nodiscard]] bool TrackEvents() const;
31 
35  [[nodiscard]] bool TrackReason() const;
36 
42  [[nodiscard]] std::optional<
43  std::chrono::time_point<std::chrono::system_clock>>
44  DebugEventsUntilDate() const;
45 
49  [[nodiscard]] EvaluationDetailInternal const& Detail() const;
50 
51  [[nodiscard]] std::optional<std::vector<std::string>> const& Prerequisites()
52  const;
53 
55  uint64_t version,
56  std::optional<uint64_t> flag_version,
57  bool track_events,
58  bool track_reason,
59  std::optional<std::chrono::time_point<std::chrono::system_clock>>
60  debug_events_until_date,
62 
64  uint64_t version,
65  std::optional<uint64_t> flag_version,
66  bool track_events,
67  bool track_reason,
68  std::optional<std::chrono::time_point<std::chrono::system_clock>>
69  debug_events_until_date,
71  std::optional<std::vector<std::string>> prerequisites);
72 
73  private:
74  uint64_t version_;
75  std::optional<uint64_t> flag_version_;
76  bool track_events_;
77  bool track_reason_;
78  std::optional<std::chrono::time_point<std::chrono::system_clock>>
79  debug_events_until_date_;
81  std::optional<std::vector<std::string>> prerequisites_;
82 };
83 
84 std::ostream& operator<<(std::ostream& out, EvaluationResult const& result);
85 
86 bool operator==(EvaluationResult const& lhs, EvaluationResult const& rhs);
87 bool operator!=(EvaluationResult const& lhs, EvaluationResult const& rhs);
88 
89 } // namespace launchdarkly
Definition: evaluation_detail_internal.hpp:29
Definition: evaluation_result.hpp:15
std::optional< std::chrono::time_point< std::chrono::system_clock > > DebugEventsUntilDate() const
Definition: evaluation_result.cpp:26
EvaluationDetailInternal const & Detail() const
Definition: evaluation_result.cpp:30
uint64_t Version() const
Definition: evaluation_result.cpp:9
bool TrackReason() const
Definition: evaluation_result.cpp:21
std::optional< uint64_t > FlagVersion() const
Definition: evaluation_result.cpp:13
bool TrackEvents() const
Definition: evaluation_result.cpp:17