Project import generated by Copybara.
GitOrigin-RevId: 6e5aa035cd1f6a9333962df5d3ab97a05bd5744e
This commit is contained in:
committed by
Sebastian Schmidt
parent
4a20e9909d
commit
c688862570
@@ -36,7 +36,7 @@ class SubgraphContext {
|
||||
public:
|
||||
SubgraphContext() : SubgraphContext(nullptr, nullptr) {}
|
||||
// @node and/or @service_manager can be nullptr.
|
||||
SubgraphContext(const CalculatorGraphConfig::Node* node,
|
||||
SubgraphContext(CalculatorGraphConfig::Node* node,
|
||||
const GraphServiceManager* service_manager)
|
||||
: default_node_(node ? absl::nullopt
|
||||
: absl::optional<CalculatorGraphConfig::Node>(
|
||||
@@ -48,14 +48,19 @@ class SubgraphContext {
|
||||
: absl::optional<GraphServiceManager>(GraphServiceManager())),
|
||||
service_manager_(service_manager ? *service_manager
|
||||
: default_service_manager_.value()),
|
||||
options_map_(std::move(tool::OptionsMap().Initialize(original_node_))) {
|
||||
}
|
||||
options_map_(
|
||||
std::move(tool::MutableOptionsMap().Initialize(original_node_))) {}
|
||||
|
||||
template <typename T>
|
||||
const T& Options() {
|
||||
return options_map_.Get<T>();
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
T* MutableOptions() {
|
||||
return options_map_.GetMutable<T>();
|
||||
}
|
||||
|
||||
const CalculatorGraphConfig::Node& OriginalNode() const {
|
||||
return original_node_;
|
||||
}
|
||||
@@ -67,16 +72,16 @@ class SubgraphContext {
|
||||
|
||||
private:
|
||||
// Populated if node is not provided during construction.
|
||||
const absl::optional<CalculatorGraphConfig::Node> default_node_;
|
||||
absl::optional<CalculatorGraphConfig::Node> default_node_;
|
||||
|
||||
const CalculatorGraphConfig::Node& original_node_;
|
||||
CalculatorGraphConfig::Node& original_node_;
|
||||
|
||||
// Populated if service manager is not provided during construction.
|
||||
const absl::optional<GraphServiceManager> default_service_manager_;
|
||||
|
||||
const GraphServiceManager& service_manager_;
|
||||
|
||||
tool::OptionsMap options_map_;
|
||||
tool::MutableOptionsMap options_map_;
|
||||
};
|
||||
|
||||
// Instances of this class are responsible for providing a subgraph config.
|
||||
|
||||
Reference in New Issue
Block a user