All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Pages
voronoi_traits.hpp
Go to the documentation of this file.
1 //=======================================================================
2 // Copyright (c) 2013 Piotr Wygocki
3 //
4 // Distributed under the Boost Software License, Version 1.0. (See
5 // accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
7 //=======================================================================
15 #ifndef PAAL_VORONOI_TRAITS_HPP
16 #define PAAL_VORONOI_TRAITS_HPP
17 
19 
20 namespace paal {
21 namespace data_structures {
22 
29 template <typename V, typename Vertex> struct _voronoi_traits {
30  typedef Vertex VertexType;
32  typedef decltype(std::declval<V>().add_generator(
33  std::declval<VertexType>())) DistanceType;
34 
36  typedef puretype(std::declval<V>().get_generators()) GeneratorsSet;
37 
39  typedef puretype(std::declval<V>().get_vertices()) VerticesSet;
40 };
41 
43 template <typename V> struct voronoi_traits : public _voronoi_traits<V, int> {};
44 }
45 }
46 #endif // PAAL_VORONOI_TRAITS_HPP
default VertexType is int.
typedef puretype(std::declval< V >().get_generators()) GeneratorsSet
Generators set.
decltype(std::declval< V >().add_generator(std::declval< VertexType >())) typedef DistanceType
distance type