diff --git a/Packages/wininst/include/CGAL/config/msvc7/stl_iterator_base.h b/Packages/wininst/include/CGAL/config/msvc7/stl_iterator_base.h new file mode 100644 index 00000000000..770ee514462 --- /dev/null +++ b/Packages/wininst/include/CGAL/config/msvc7/stl_iterator_base.h @@ -0,0 +1,72 @@ +#ifndef CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC +#include +// #include + +#define CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(T) \ +namespace std { \ + template <> \ + struct iterator_traits { \ + typedef random_access_iterator_tag iterator_category; \ + typedef T value_type; \ + typedef ptrdiff_t difference_type; \ + typedef const T* pointer; \ + typedef const T& reference; \ + }; \ + template <> \ + struct iterator_traits { \ + typedef random_access_iterator_tag iterator_category; \ + typedef T value_type; \ + typedef ptrdiff_t difference_type; \ + typedef T* pointer; \ + typedef T& reference; \ + }; \ +} + +// add more stuff accoring to taste... + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(bool) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(float) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(double) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(char) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(int) +namespace std { + template <> \ + struct iterator_traits { \ + typedef random_access_iterator_tag iterator_category; \ + typedef ptrdiff_t difference_type; \ + typedef const void* pointer; \ + }; \ + template <> \ + struct iterator_traits { \ + typedef random_access_iterator_tag iterator_category; \ + typedef ptrdiff_t difference_type; \ + typedef void* pointer; \ + }; \ +} + + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(unsigned short) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(unsigned int) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(unsigned char) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(signed char) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(void*) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(bool*) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(float*) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(double*) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(char*) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(int*) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(unsigned int*) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(unsigned char*) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(signed char*) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(unsigned short*) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(void**) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(bool**) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(float**) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(double**) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(char**) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(int**) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(unsigned int**) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(unsigned char**) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(signed char**) + CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC(unsigned short**) + +#endif +