6 #ifndef TAPKEE_CHAIN_H_
7 #define TAPKEE_CHAIN_H_
18 namespace tapkee_internal
20 template<
class KernelCallback,
class DistanceCallback,
class FeaturesCallback>
25 const DistanceCallback& d,
const FeaturesCallback& f) :
34 template<
class RandomAccessIterator>
45 template<
class Container>
48 return embedRange(container.begin(),container.end());
57 template<
class KernelCallback,
class DistanceCallback>
71 template<
class FeaturesCallback>
81 template<
class RandomAccessIterator>
85 .embedRange(begin,end);
93 template<
class Container>
96 return embedRange(container.begin(),container.end());
104 template<
class KernelCallback,
class FeaturesCallback>
118 template<
class DistanceCallback>
128 template<
class RandomAccessIterator>
132 .embedRange(begin,end);
140 template<
class Container>
143 return embedRange(container.begin(),container.end());
156 template<
class DistanceCallback,
class FeaturesCallback>
170 template<
class KernelCallback>
180 template<
class RandomAccessIterator>
184 .embedRange(begin,end);
192 template<
class Container>
195 return embedRange(container.begin(),container.end());
203 template<
class KernelCallback>
217 template<
class DistanceCallback>
228 template<
class FeaturesCallback>
238 template<
class RandomAccessIterator>
243 .embedRange(begin,end);
251 template<
class Container>
254 return embedRange(container.begin(),container.end());
261 template<
class DistanceCallback>
275 template<
class KernelCallback>
286 template<
class FeaturesCallback>
296 template<
class RandomAccessIterator>
301 .embedRange(begin,end);
309 template<
class Container>
312 return embedRange(container.begin(),container.end());
319 template<
class FeaturesCallback>
333 template<
class KernelCallback>
344 template<
class DistanceCallback>
354 template<
class RandomAccessIterator>
359 .embedRange(begin,end);
367 template<
class Container>
370 return embedRange(container.begin(),container.end());
391 template<
class KernelCallback>
402 template<
class DistanceCallback>
413 template<
class FeaturesCallback>
425 std::vector<IndexType> indices(matrix.cols());
426 for (
IndexType i=0; i<matrix.cols(); i++) indices[i] = i;