From c6accbd29fe9bc3bff1afbebb7adb8e467955796 Mon Sep 17 00:00:00 2001 From: looooo <sppedflyer@gmail.com> Date: Sat, 24 Jun 2017 06:55:04 +0200 Subject: [PATCH] workaround for windows vs2015 compilation --- src/cpp/foreign_array.hpp | 5 +---- src/cpp/foreign_array_wrap.hpp | 2 -- src/cpp/wrap_tetgen.cpp | 20 ++++++++++++++++++++ src/cpp/wrap_triangle.cpp | 12 ++++++++++++ 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/cpp/foreign_array.hpp b/src/cpp/foreign_array.hpp index b5b4c49..31f3b49 100644 --- a/src/cpp/foreign_array.hpp +++ b/src/cpp/foreign_array.hpp @@ -9,9 +9,7 @@ #include <boost/python.hpp> - - -namespace { +namespace{ class tSizeChangeNotifier; @@ -278,5 +276,4 @@ class tForeignArray : public tReadOnlyForeignArray<ElementT> - #endif diff --git a/src/cpp/foreign_array_wrap.hpp b/src/cpp/foreign_array_wrap.hpp index 32f0cbe..9ef3c52 100644 --- a/src/cpp/foreign_array_wrap.hpp +++ b/src/cpp/foreign_array_wrap.hpp @@ -22,8 +22,6 @@ using namespace boost::python; } - - namespace { /* This wrap helper works as long as the value_type is a plain old data (POD) * type. diff --git a/src/cpp/wrap_tetgen.cpp b/src/cpp/wrap_tetgen.cpp index a574688..231f9fd 100644 --- a/src/cpp/wrap_tetgen.cpp +++ b/src/cpp/wrap_tetgen.cpp @@ -14,7 +14,27 @@ namespace py = boost::python; using namespace std; +namespace boost { +template <> +inline tForeignArray<struct tetgenio::polygon> const volatile * get_pointer(class tForeignArray<struct tetgenio::polygon> const volatile *tF) { + return tF; +} + +template <> +inline tForeignArray<struct tetgenio::facet> const volatile * get_pointer(class tForeignArray<struct tetgenio::facet> const volatile *tF) { + return tF; +} +template <> +inline tForeignArray<int> const volatile * get_pointer(class tForeignArray<int> const volatile *tF) { + return tF; +} + +template <> +inline tForeignArray<double> const volatile * get_pointer(class tForeignArray<double> const volatile *tF) { + return tF; +} +} namespace { diff --git a/src/cpp/wrap_triangle.cpp b/src/cpp/wrap_triangle.cpp index 26b3ef3..6aea449 100644 --- a/src/cpp/wrap_triangle.cpp +++ b/src/cpp/wrap_triangle.cpp @@ -11,6 +11,18 @@ using namespace boost::python; using namespace std; +namespace boost { +template <> +inline tForeignArray<int> const volatile * get_pointer(class tForeignArray<int> const volatile *tF) { + return tF; +} + +template <> +inline tForeignArray<double> const volatile * get_pointer(class tForeignArray<double> const volatile *tF) { + return tF; +} +} + struct tMeshInfo : public triangulateio, public boost::noncopyable -- GitLab