Skip to content

Commit d1e2bad

Browse files
awoll-bdaiexploy-bot
authored andcommitted
Simplify component creation (#77)
### What change is being made Simplify component creation by creating a common function for repeated code. ### Why this change is being made Cleanup. ### Tested Covered by unit tests. GitOrigin-RevId: 1e0e0441489c888f195084b7598dc2564fd163a3
1 parent 099e0ab commit d1e2bad

1 file changed

Lines changed: 11 additions & 20 deletions

File tree

control/context.cpp

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -120,27 +120,18 @@ bool OnnxContext::createContext(OnnxRuntime& onnx_model, bool strict) {
120120
});
121121
}
122122

123-
for (auto& matcher : matchers_) {
124-
auto inputs = matcher->createInputs();
125-
inputs_.insert(inputs_.end(), std::make_move_iterator(inputs.begin()),
126-
std::make_move_iterator(inputs.end()));
127-
}
128-
for (auto& group_matcher : group_matchers_) {
129-
auto inputs = group_matcher->createInputs();
130-
inputs_.insert(inputs_.end(), std::make_move_iterator(inputs.begin()),
131-
std::make_move_iterator(inputs.end()));
132-
}
123+
auto collect_components = [](auto& components, auto& matchers, auto creator_fn) {
124+
for (auto& matcher : matchers) {
125+
auto items = (matcher.get()->*creator_fn)();
126+
components.insert(components.end(), std::make_move_iterator(items.begin()),
127+
std::make_move_iterator(items.end()));
128+
}
129+
};
133130

134-
for (auto& matcher : matchers_) {
135-
auto outputs = matcher->createOutputs();
136-
outputs_.insert(outputs_.end(), std::make_move_iterator(outputs.begin()),
137-
std::make_move_iterator(outputs.end()));
138-
}
139-
for (auto& group_matcher : group_matchers_) {
140-
auto outputs = group_matcher->createOutputs();
141-
outputs_.insert(outputs_.end(), std::make_move_iterator(outputs.begin()),
142-
std::make_move_iterator(outputs.end()));
143-
}
131+
collect_components(inputs_, matchers_, &Matcher::createInputs);
132+
collect_components(inputs_, group_matchers_, &GroupMatcher::createInputs);
133+
collect_components(outputs_, matchers_, &Matcher::createOutputs);
134+
collect_components(outputs_, group_matchers_, &GroupMatcher::createOutputs);
144135

145136
return true;
146137
}

0 commit comments

Comments
 (0)