C++ Server-Side SDK
LaunchDarkly SDK
Loading...
Searching...
No Matches
src
evaluation
evaluator.hpp
1
#pragma once
2
3
#include <launchdarkly/context.hpp>
4
#include <launchdarkly/data/evaluation_detail.hpp>
5
#include <launchdarkly/data_model/flag.hpp>
6
#include <launchdarkly/logging/logger.hpp>
7
#include <launchdarkly/value.hpp>
8
9
#include "evaluation_error.hpp"
10
#include "evaluation_stack.hpp"
11
12
#include "../data_interfaces/store/istore.hpp"
13
#include "../events/event_scope.hpp"
14
15
namespace
launchdarkly::server_side::evaluation {
16
17
class
Evaluator
{
18
public
:
25
Evaluator
(Logger& logger,
data_interfaces::IStore
const
& source);
26
36
[[nodiscard]]
EvaluationDetail<Value>
Evaluate
(
37
data_model::Flag
const
& flag,
38
Context
const
& context,
39
EventScope
const
& event_scope);
40
48
[[nodiscard]]
EvaluationDetail<Value>
Evaluate
(data_model::Flag
const
& flag,
49
Context
const
& context);
50
51
private
:
52
[[nodiscard]]
EvaluationDetail<Value>
Evaluate
(
53
std::optional<std::string> parent_key,
54
data_model::Flag
const
& flag,
55
Context
const
& context,
56
EvaluationStack
& stack,
57
EventScope
const
& event_scope);
58
59
[[nodiscard]]
EvaluationDetail<Value>
FlagVariation(
60
data_model::Flag
const
& flag,
61
data_model::Flag::Variation variation_index,
62
EvaluationReason
reason)
const
;
63
64
[[nodiscard]]
EvaluationDetail<Value>
OffValue(
65
data_model::Flag
const
& flag,
66
EvaluationReason
reason)
const
;
67
68
void
LogError(std::string
const
& key,
Error
const
& error)
const
;
69
70
Logger& logger_;
71
data_interfaces::IStore
const
& source_;
72
};
73
}
// namespace launchdarkly::server_side::evaluation
launchdarkly::Context
Definition
context.hpp:29
launchdarkly::EvaluationDetail
Definition
evaluation_detail.hpp:18
launchdarkly::EvaluationReason
Definition
evaluation_reason.hpp:13
launchdarkly::server_side::EventScope
Definition
event_scope.hpp:14
launchdarkly::server_side::data_interfaces::IStore
IStore provides shared ownership of flag and segment domain objects.
Definition
istore.hpp:15
launchdarkly::server_side::evaluation::Error
Definition
evaluation_error.hpp:9
launchdarkly::server_side::evaluation::EvaluationStack
Definition
evaluation_stack.hpp:32
launchdarkly::server_side::evaluation::Evaluator
Definition
evaluator.hpp:17
launchdarkly::server_side::evaluation::Evaluator::Evaluate
EvaluationDetail< Value > Evaluate(data_model::Flag const &flag, Context const &context, EventScope const &event_scope)
Generated by
1.9.8