41 const ComponentPtr_t & _pMainComponent,
42 const Expected_t & _Expected) -> Services_t
44 Services_t & Source = (*_pMainComponent)[uT(
"service")].Default(Services_t{});
47 for (
const auto & Info : _Expected)
49 auto itResult = ::std::find_if(Source.rbegin(), Source.rend(),
50 [&](
const ComponentPtr_t & _pComponent)
51 { return Info.first == _pComponent->Kind; });
53 if (itResult != Source.rend())
55 Result.push_back(*itResult);
56 Source.erase(::std::next(itResult).base());
60 Result.push_back(Info.second);
67 TODO(
"Писать в лог warning'и о лишних компонентах.");
93 const ComponentPtr_t & _pMainComponent,
94 const Handlers_t & _PreRenders)
96 Services_t & Source = (*_pMainComponent)[uT(
"service")].Default(Services_t{});
98 for (
const auto & pComponent : Source)
100 auto itComponent = _PreRenders.find(pComponent->Kind);
101 if (itComponent != _PreRenders.end())
103 itComponent->second(pComponent);
108 TODO(
"Писать в лог warning о лишнем компоненте.");
static void Process(const ComponentPtr_t &, const Handlers_t &)
Функция для последовательной обработки очереди вспомогательных компонентов.
Definition GraphicApi.CapturingServiceComponent.cpp:92