11 #include <tbb/spin_mutex.h>
13 namespace MAKVRinTerra
20 template <
typename FS,
typename Inner>
47 void add(
const Inner&);
48 void add(std::auto_ptr<Inner>);
51 void addFront(Inner*);
53 std::string label()
const;
56 FS* filter(
const DtQuery&,
const boost::optional<DtFeatureGeometry>&,
DtLoadType)
const;
58 bool loaded(
double = 0.0)
const;
60 unsigned numberOfFeatures()
const;
63 bool isIndexed()
const;
69 struct ParallelIterator;
70 template <
typename Function>
struct ParallelAsyncIterator;
71 struct ParallelFilter;
85 template <
size_t N,
typename FS,
typename Inner>
108 void set(
size_t n, Inner* fs);
109 void set(
size_t n,
const Inner&);
110 void set(
size_t n, std::auto_ptr<Inner>);
112 std::string label()
const;
115 FS* filter(
const DtQuery&,
const boost::optional<DtFeatureGeometry>&,
DtLoadType)
const;
117 bool loaded(
double = 0.0)
const;
119 unsigned numberOfFeatures()
const;
122 bool isIndexed()
const;
128 struct ParallelIterator;
129 template <
typename Function>
struct ParallelAsyncIterator;
130 struct ParallelFilter;
140 std::auto_ptr<Inner> myFeatures[N];