25 #include <geos/util/GEOSException.h> 26 #include <geos/util/IllegalArgumentException.h> 27 #include <geos/util/TopologyException.h> 31 #include <geos/util/GeometricShapeFactory.h> 43 ignore_unused_variable_warning(T
const &) {}
46 #if __cplusplus >= 201402L 47 using std::make_unique;
53 typedef std::unique_ptr<T> _Single_object;
57 struct _Unique_if<T[]> {
58 typedef std::unique_ptr<T[]> _Unknown_bound;
61 template<
class T,
size_t N>
62 struct _Unique_if<T[N]> {
63 typedef void _Known_bound;
66 template<
class T,
class... Args>
67 typename _Unique_if<T>::_Single_object
68 make_unique(Args &&... args) {
69 return std::unique_ptr<T>(
new T(std::forward<Args>(args)...));
73 typename _Unique_if<T>::_Unknown_bound
74 make_unique(
size_t n) {
75 typedef typename std::remove_extent<T>::type U;
76 return std::unique_ptr<T>(
new U[n]());
79 template<
class T,
class... Args>
80 typename _Unique_if<T>::_Known_bound
81 make_unique(Args &&...) =
delete;
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25