add out-of-class definition if c++17 is not used

This commit is contained in:
Sébastien Loriot 2022-07-27 16:28:59 +02:00
parent b4e3a2023a
commit fbd8b8a75a
4 changed files with 51 additions and 8 deletions

View File

@ -64,7 +64,7 @@ namespace CGAL {
typedef typename Dart_container::size_type size_type;
typedef std::nullptr_t Null_descriptor_type;
static constexpr Null_descriptor_type null_descriptor=nullptr;
CGAL_CPP17_INLINE static constexpr Null_descriptor_type null_descriptor=nullptr;
using Type_for_compact_container=void*;
@ -107,7 +107,7 @@ namespace CGAL {
template<int i>
using Attribute_const_handle=Attribute_const_descriptor<i>;
static constexpr Null_descriptor_type null_handle=null_descriptor;
CGAL_CPP17_INLINE static constexpr Null_descriptor_type null_handle=null_descriptor;
/// Number of marks
static const size_type NB_MARKS = 32;
@ -467,6 +467,16 @@ namespace CGAL {
typename Helper::Attribute_containers mattribute_containers;
};
#ifndef CGAL_CXX17
template<unsigned int d_, class Items_, class Alloc_>
constexpr typename Combinatorial_map_storage_1<d_, Items_, Alloc_>::Null_descriptor_type
Combinatorial_map_storage_1<d_, Items_, Alloc_>::null_descriptor;
template<unsigned int d_, class Items_, class Alloc_>
constexpr typename Combinatorial_map_storage_1<d_, Items_, Alloc_>::Null_descriptor_type
Combinatorial_map_storage_1<d_, Items_, Alloc_>::null_handle;
#endif
} // namespace CGAL
#if defined(BOOST_GCC)

View File

@ -64,7 +64,7 @@ namespace CGAL {
typedef typename Dart_container::size_type size_type;
typedef std::nullptr_t Null_descriptor_type;
static constexpr Null_descriptor_type null_descriptor=nullptr;
CGAL_CPP17_INLINE static constexpr Null_descriptor_type null_descriptor=nullptr;
using Type_for_compact_container=void*;
@ -107,7 +107,7 @@ namespace CGAL {
template<int i>
using Attribute_const_handle=Attribute_const_descriptor<i>;
static constexpr Null_descriptor_type null_handle=null_descriptor;
CGAL_CPP17_INLINE static constexpr Null_descriptor_type null_handle=null_descriptor;
/// Number of marks
static const size_type NB_MARKS = 32;
@ -458,6 +458,16 @@ namespace CGAL {
typename Helper::Attribute_containers mattribute_containers;
};
#ifndef CGAL_CXX17
template<unsigned int d_, class Items_, class Alloc_>
constexpr typename Generalized_map_storage_1<d_, Items_, Alloc_>::Null_descriptor_type
Generalized_map_storage_1<d_, Items_, Alloc_>::null_descriptor;
template<unsigned int d_, class Items_, class Alloc_>
constexpr typename Generalized_map_storage_1<d_, Items_, Alloc_>::Null_descriptor_type
Generalized_map_storage_1<d_, Items_, Alloc_>::null_handle;
#endif
} // namespace CGAL
#if defined(BOOST_GCC)

View File

@ -74,7 +74,7 @@ namespace CGAL {
typedef typename Dart_container::size_type size_type;
typedef std::nullptr_t Null_descriptor_type;
static constexpr Null_descriptor_type null_descriptor=nullptr;
CGAL_CPP17_INLINE static constexpr Null_descriptor_type null_descriptor=nullptr;
using Type_for_compact_container=void*;
@ -128,7 +128,7 @@ namespace CGAL {
using Vertex_attribute_handle=Vertex_attribute_descriptor;
using Vertex_attribute_const_handle=Vertex_attribute_const_descriptor;
static constexpr Null_descriptor_type null_handle=null_descriptor;
CGAL_CPP17_INLINE static constexpr Null_descriptor_type null_handle=null_descriptor;
/// Number of marks
static const size_type NB_MARKS = 32;
@ -502,6 +502,17 @@ namespace CGAL {
typename Helper::Attribute_containers mattribute_containers;
};
#ifndef CGAL_CXX17
template<unsigned int d_, unsigned int ambient_dim,
class Traits_, class Items_, class Alloc_>
constexpr typename CMap_linear_cell_complex_storage_1<d_,ambient_dim, Traits_, Items_, Alloc_>::Null_descriptor_type
CMap_linear_cell_complex_storage_1<d_,ambient_dim, Traits_, Items_, Alloc_>::null_descriptor;
template<unsigned int d_, unsigned int ambient_dim,
class Traits_, class Items_, class Alloc_>
constexpr typename CMap_linear_cell_complex_storage_1<d_,ambient_dim, Traits_, Items_, Alloc_>::Null_descriptor_type
CMap_linear_cell_complex_storage_1<d_,ambient_dim, Traits_, Items_, Alloc_>::null_handle;
#endif
} // namespace CGAL
#if defined(BOOST_GCC)

View File

@ -74,7 +74,7 @@ namespace CGAL {
typedef typename Dart_container::size_type size_type;
typedef std::nullptr_t Null_descriptor_type;
static constexpr Null_descriptor_type null_descriptor=nullptr;
CGAL_CPP17_INLINE static constexpr Null_descriptor_type null_descriptor=nullptr;
using Type_for_compact_container=void*;
@ -128,7 +128,7 @@ namespace CGAL {
using Vertex_attribute_handle=Vertex_attribute_descriptor;
using Vertex_attribute_const_handle=Vertex_attribute_const_descriptor;
static constexpr Null_descriptor_type null_handle=null_descriptor;
CGAL_CPP17_INLINE static constexpr Null_descriptor_type null_handle=null_descriptor;
/// Number of marks
static const size_type NB_MARKS = 32;
@ -493,6 +493,18 @@ namespace CGAL {
typename Helper::Attribute_containers mattribute_containers;
};
#ifndef CGAL_CXX17
template<unsigned int d_, unsigned int ambient_dim,
class Traits_, class Items_, class Alloc_>
constexpr typename GMap_linear_cell_complex_storage_1<d_, ambient_dim, Traits_, Items_, Alloc_>::Null_descriptor_type
GMap_linear_cell_complex_storage_1<d_, ambient_dim, Traits_, Items_, Alloc_>::null_descriptor;
template<unsigned int d_, unsigned int ambient_dim,
class Traits_, class Items_, class Alloc_>
constexpr typename GMap_linear_cell_complex_storage_1<d_, ambient_dim, Traits_, Items_, Alloc_>::Null_descriptor_type
GMap_linear_cell_complex_storage_1<d_, ambient_dim, Traits_, Items_, Alloc_>::null_handle;
#endif
} // namespace CGAL
#if defined(BOOST_GCC)