summaryrefslogtreecommitdiffstats
path: root/lib/kross/python/cxx/Config.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/kross/python/cxx/Config.h')
-rw-r--r--lib/kross/python/cxx/Config.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/kross/python/cxx/Config.h b/lib/kross/python/cxx/Config.h
new file mode 100644
index 000000000..7959c4039
--- /dev/null
+++ b/lib/kross/python/cxx/Config.h
@@ -0,0 +1,33 @@
+#ifndef __PyCXX_config_hh__
+#define __PyCXX_config_hh__
+
+//
+// Microsoft VC++ 6.0 has no traits
+//
+#if defined( _MSC_VER )
+
+# define STANDARD_LIBRARY_HAS_ITERATOR_TRAITS 1
+
+#elif defined( __GNUC__ )
+# if __GNUC__ >= 3
+# define STANDARD_LIBRARY_HAS_ITERATOR_TRAITS 1
+# else
+# define STANDARD_LIBRARY_HAS_ITERATOR_TRAITS 0
+#endif
+
+//
+// Assume all other compilers do
+//
+#else
+
+// Macros to deal with deficiencies in compilers
+# define STANDARD_LIBRARY_HAS_ITERATOR_TRAITS 1
+#endif
+
+#if STANDARD_LIBRARY_HAS_ITERATOR_TRAITS
+# define random_access_iterator_parent(itemtype) std::iterator<std::random_access_iterator_tag,itemtype,int>
+#else
+# define random_access_iterator_parent(itemtype) std::random_access_iterator<itemtype, int>
+#endif
+
+#endif // __PyCXX_config_hh__