Go to the source code of this file.
◆ ClassImp()
- Author
- Nils Krumnack
Definition at line 24 of file JobConfig.cxx.
29 testInvariant ()
const
47 m_algorithmCount (that.m_algorithmCount)
51 for (
const auto&
algorithm : that.m_algorithms)
55 m_algorithms.push_back (
algorithm->makeClone ());
58 m_algorithms.emplace_back (
nullptr);
79 ~JobConfig () noexcept
114 std::swap (m_algorithmCount, that.m_algorithmCount);
115 m_algorithms.swap (that.m_algorithms);
121 addAlgorithm (std::unique_ptr<IAlgorithmWrapper>&& val_algorithm)
123 using namespace msgEventLoop;
128 if (getAlgorithm (val_algorithm->getName()) !=
nullptr)
130 ANA_MSG_ERROR (
"can't have two algorithms with the same name: " << val_algorithm->getName());
131 return ::StatusCode::FAILURE;
134 m_algorithms.push_back (std::move (val_algorithm));
136 return ::StatusCode::SUCCESS;
141 const IAlgorithmWrapper *JobConfig ::
142 getAlgorithm (std::string_view
name)
const noexcept
145 for (
const auto&
algorithm : m_algorithms)
155 std::vector<std::unique_ptr<EL::IAlgorithmWrapper>> JobConfig ::
159 if (m_algorithmCount != m_algorithms.size())
160 RCU_THROW_MSG (
"algorithm count missmatch. streaming error?");
161 for (
const auto&
algorithm : m_algorithms)
166 m_algorithmCount = 0;
167 return std::move (m_algorithms);
172 std::size_t JobConfig ::
173 numberOfAlgorithms ()
const noexcept
176 return m_algorithms.size();