32 void SampleComposite ::
33 testInvariant ()
const
35 for (SamplesIter sample = m_samples.begin(),
36 end = m_samples.end(); sample != end; ++ sample)
54 SampleComposite (
const std::string& name)
62 void SampleComposite ::
63 add (
const SamplePtr& sample)
68 RCU_THROW_MSG (
"trying to add sample " + sample->name() +
" to sample " + name() +
", which already contains a sample " + sample->name());
69 m_samples.push_back (sample);
74 std::size_t SampleComposite ::
78 RCU_THROW_MSG (
"Sample::numFiles not supported for SampleComposite");
84 std::string SampleComposite ::
85 getFileName (
const std::size_t )
const
88 RCU_THROW_MSG (
"Sample::fileName not supported for SampleComposite");
94 std::vector<std::string> SampleComposite ::
95 doMakeFileList ()
const
99 std::vector<std::string>
result;
100 for (SamplesIter sample = m_samples.begin(),
101 end = m_samples.end(); sample != end; ++ sample)
103 std::vector<std::string> subresult = (*sample)->makeFileList();
104 result.insert (
result.end(), subresult.begin(), subresult.end());
111 SamplePtr SampleComposite ::
115 RCU_THROW_MSG (
"Sample::makeLocal not supported for SampleComposite");
121 void SampleComposite ::
122 doUpdateLocation (
const std::string& from,
const std::string& to)
125 for (std::vector<SamplePtr>::iterator sample = m_samples.begin(),
126 end = m_samples.end(); sample != end; ++ sample)
128 (*sample)->updateLocation (from, to);
134 bool SampleComposite ::
135 getContains (
const std::string& name)
const
138 for (SamplesIter sample = m_samples.begin(),
139 end = m_samples.end(); sample != end; ++ sample)
141 if ((*sample)->contains (name))
149 void SampleComposite ::
150 doAddSamples (SampleHandler&
result)
153 for (std::vector<SamplePtr>::iterator sample = m_samples.begin(),
154 end = m_samples.end(); sample != end; ++ sample)
156 (*sample)->addSamples (
result);