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;
62 bool isIndexed()
const;
68 struct ParallelIterator;
69 template <
typename Function>
struct ParallelAsyncIterator;
70 struct ParallelFilter;
84 template <
size_t N,
typename FS,
typename Inner>
107 void set(
size_t n, Inner* fs);
108 void set(
size_t n,
const Inner&);
109 void set(
size_t n, std::auto_ptr<Inner>);
111 std::string label()
const;
114 FS* filter(
const DtQuery&,
const boost::optional<DtFeatureGeometry>&,
DtLoadType)
const;
116 bool loaded(
double = 0.0)
const;
118 unsigned numberOfFeatures()
const;
120 bool isIndexed()
const;
126 struct ParallelIterator;
127 template <
typename Function>
struct ParallelAsyncIterator;
128 struct ParallelFilter;
138 std::auto_ptr<Inner> myFeatures[N];