22 #ifndef _Extractor_hxx_
23 #define _Extractor_hxx_
32 template <
typename AttributeType>
38 const std::string & scope,
39 const std::string & attribute)
45 virtual void Next() = 0;
58 template <
typename AttributeType>
71 const std::string & scope,
72 const std::string & attribute)
78 const std::string & scope,
79 const std::string & attribute)
104 _data =
_pool->template GetReadPool<AttributeType>(scope,attribute);
126 unsigned indirection =
_chained->GetForReading();
128 CLAM_ASSERT(indirection<_pool->GetNumberOfContexts(scope),
129 "Invalid cross-scope reference");
142 template <
typename AttributeType>
147 const AttributeType*& begin,
148 const AttributeType*& end)
const
151 end = begin + _range;
164 template <
typename AttributeType>
174 _data = _pool->template GetWritePool<AttributeType>(scope,attribute);
200 AttributeType * _data;
210 #endif // _Extractor_hxx_