4 template < class DSC, bool Const > struct CC_iterator {
5 typedef CC_iterator iterator;
6 typedef typename DSC::value_type value_type;
7 typedef const value_type* pointer;
9 CC_iterator (const iterator &it) {
12 pointer operator->() const ;
15 template < class T > struct Compact_container {
16 typedef Compact_container <T> Self;
18 typedef internal::CC_iterator<Self, false> iterator;
20 template < typename TDS = void > struct Periodic_3_triangulation_ds_cell_base_3 {
21 typedef typename TDS::Vertex_handle Vertex_handle;
22 const Vertex_handle& vertex(int i) const {
25 struct Triangulation_data_structure_3 {
26 typedef Triangulation_data_structure_3 Tds;
27 typedef Periodic_3_triangulation_ds_cell_base_3<Tds> Cell;
28 typedef Compact_container<Cell> Cell_range;
29 typedef Compact_container<int> Vertex_range;
30 typedef typename Cell_range::iterator Cell_handle;
31 typedef typename Vertex_range::iterator Vertex_handle;
33 typedef Triangulation_data_structure_3 TDS1;
34 template < class > struct Periodic_3_Delaunay_triangulation_3 {
35 typedef TDS1::Vertex_handle Vertex_handle;
36 typedef TDS1::Cell_handle Cell_handle;
37 int compare_distance() const {
39 Vertex_handle nearest_vertex() const;
41 template < class Tds > typename Periodic_3_Delaunay_triangulation_3<Tds>::Vertex_handle Periodic_3_Delaunay_triangulation_3<Tds>::nearest_vertex() const {
43 Vertex_handle nearest = c->vertex(0);
44 nearest = (compare_distance() == -1) ? nearest : c->vertex(0);
47 typedef Periodic_3_Delaunay_triangulation_3<TDS1> PDT1;
48 struct Periodic_3_triangulation_hierarchy_3 : PDT1 {
49 Vertex_handle nearest_vertex() const;
51 Periodic_3_triangulation_hierarchy_3::Vertex_handle Periodic_3_triangulation_hierarchy_3:: nearest_vertex() const {
52 return PDT1::nearest_vertex();