1 // Copyright (c) 2016 CNRS and LIRIS' Establishments (France).
2 // All rights reserved.
3 //
4 // This file is part of CGAL (www.cgal.org)
5 //
6 // $URL: https://github.com/CGAL/cgal/blob/v5.3/Linear_cell_complex/include/CGAL/Linear_cell_complex_fwd.h $
7 // $Id: Linear_cell_complex_fwd.h d6306be 2020-10-22T10:30:38+02:00 Guillaume Damiand
8 // SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial
9 //
10 // Author(s)     : Guillaume Damiand <guillaume.damiand@liris.cnrs.fr>
11 //
12 #ifndef LINEAR_CELL_COMPLEX_FWD_H
13 #define LINEAR_CELL_COMPLEX_FWD_H 1
14 
15 #include <CGAL/memory.h>
16 #include <CGAL/Combinatorial_map_fwd.h>
17 #include <CGAL/Generalized_map_fwd.h>
18 
19 namespace CGAL {
20 
21 template<unsigned int d_, unsigned int ambient_dim,
22          class Traits_, class Items_, class Alloc_, class Concurrent_tag=CGAL::Tag_false >
23 class CMap_linear_cell_complex_storage_1;
24 
25 template<unsigned int d_, unsigned int ambient_dim,
26          class Traits_, class Items_, class Alloc_, class Concurrent_tag=CGAL::Tag_false >
27 class GMap_linear_cell_complex_storage_1;
28 
29 template <unsigned int d>
30 struct LCC_default_kernel;
31 
32 template <unsigned int d_,
33           class Kernel=typename LCC_default_kernel<d_>::type >
34 struct Linear_cell_complex_traits;
35 
36 #if defined(CGAL_CMAP_DART_DEPRECATED) && !defined(CGAL_NO_DEPRECATED_CODE)
37   template <unsigned int d>
38   struct CGAL_DEPRECATED Linear_cell_complex_min_items;
39 #else
40   struct Linear_cell_complex_min_items;
41 #endif
42 
43 template < unsigned int d_, unsigned int ambient_dim,
44            class Traits_,
45            class Items_,
46            class Alloc_,
47            template<unsigned int,class,class,class,class>
48            class Map,
49            class Refs_,
50            class Storage_>
51 class Linear_cell_complex_base;
52 
53 template < unsigned int d_, unsigned int ambient_dim = d_,
54            class Traits_ = Linear_cell_complex_traits<ambient_dim>,
55 #if defined(CGAL_CMAP_DART_DEPRECATED) && !defined(CGAL_NO_DEPRECATED_CODE)
56            class Items_ = Linear_cell_complex_min_items<d_>,
57 #else
58            class Items_ = Linear_cell_complex_min_items,
59 #endif
60            class Alloc_ = CGAL_ALLOCATOR(int),
61            template<unsigned int,class,class,class,class>
62            class CMap = Combinatorial_map_base,
63            class Storage_ = CMap_linear_cell_complex_storage_1<d_, ambient_dim,
64                                                                Traits_, Items_,
65                                                                Alloc_, CGAL::Tag_false> >
66   class Linear_cell_complex_for_combinatorial_map;
67 
68   template < unsigned int d_, unsigned int ambient_dim = d_,
69              class Traits_ = Linear_cell_complex_traits<ambient_dim>,
70              class Items_ = Linear_cell_complex_min_items,
71              class Alloc_ = CGAL_ALLOCATOR(int),
72              template<unsigned int,class,class,class,class>
73              class CMap = Generalized_map_base,
74              class Storage_ = GMap_linear_cell_complex_storage_1<d_, ambient_dim,
75                                                                  Traits_, Items_,
76                                                                  Alloc_, CGAL::Tag_false> >
77     class Linear_cell_complex_for_generalized_map;
78 
79 #if !defined(CGAL_NO_DEPRECATED_CODE)
80   template < unsigned int d_, unsigned int ambient_dim = d_,
81              class Traits_ = Linear_cell_complex_traits<ambient_dim>,
82 #if defined(CGAL_CMAP_DART_DEPRECATED)
83              class Items_ = Linear_cell_complex_min_items<d_>,
84 #else
85              class Items_ = Linear_cell_complex_min_items,
86 #endif
87              class Alloc_ = CGAL_ALLOCATOR(int),
88              template<unsigned int,class,class,class,class>
89              class CMap = Combinatorial_map_base,
90              class Storage_ = CMap_linear_cell_complex_storage_1<d_, ambient_dim,
91                                                                  Traits_, Items_,
92                                                                  Alloc_, CGAL::Tag_false> >
93   class Linear_cell_complex;
94 #endif
95 
96 } // CGAL
97 
98 #endif // LINEAR_CELL_COMPLEX_FWD_H
99