25 void SampleComposite ::
26 testInvariant ()
const
28 for (SamplesIter sample = m_samples.begin(),
29 end = m_samples.end(); sample != end; ++ sample)
47 SampleComposite (
const std::string& name)
55 void SampleComposite ::
56 add (std::shared_ptr<Sample> sample)
61 RCU_THROW_MSG (
"trying to add sample " + sample->name() +
" to sample " + name() +
", which already contains a sample " + sample->name());
62 m_samples.push_back (std::move (sample));
67 std::size_t SampleComposite ::
71 RCU_THROW_MSG (
"Sample::numFiles not supported for SampleComposite");
77 std::string SampleComposite ::
78 getFileName (
const std::size_t )
const
81 RCU_THROW_MSG (
"Sample::fileName not supported for SampleComposite");
87 std::vector<std::string> SampleComposite ::
88 doMakeFileList ()
const
92 std::vector<std::string> result;
93 for (SamplesIter sample = m_samples.begin(),
94 end = m_samples.end(); sample != end; ++ sample)
96 std::vector<std::string> subresult = (*sample)->makeFileList();
97 result.insert (result.end(), subresult.begin(), subresult.end());
104 std::unique_ptr<SampleLocal> SampleComposite ::
108 RCU_THROW_MSG (
"Sample::makeLocal not supported for SampleComposite");
114 void SampleComposite ::
115 doUpdateLocation (
const std::string& from,
const std::string& to)
118 for (
auto sample = m_samples.begin(),
119 end = m_samples.end(); sample != end; ++ sample)
121 (*sample)->updateLocation (from, to);
127 bool SampleComposite ::
128 getContains (
const std::string& name)
const
131 for (SamplesIter sample = m_samples.begin(),
132 end = m_samples.end(); sample != end; ++ sample)
134 if ((*sample)->contains (name))
142 void SampleComposite ::
143 doAddSamples (SampleHandler& result,
const std::shared_ptr<Sample>& )
146 for (
auto& sample : m_samples)
148 sample->addSamples (result, sample);