- New file iterator_traits_pointer_specs_for_simple_cartesian_kernel.h.

This commit is contained in:
Sylvain Pion 2001-01-25 12:25:13 +00:00
parent 3201f97d92
commit 9aee18b9e1
2 changed files with 941 additions and 0 deletions

View File

@ -1,3 +1,6 @@
3.20 (25 Jan 2001)
- Added iterator_traits_pointer_specs_for_simple_cartesian_kernel.h
3.19 (18 Jan 2001)
- Remove warnings in No_op_allocator.
- long_long.h now defines CGAL_HAS_INTEGER64.

View File

@ -0,0 +1,938 @@
// ======================================================================
//
// Copyright (c) 1999,2001 The CGAL Consortium
//
// This software and related documentation is part of an INTERNAL release
// of the Computational Geometry Algorithms Library (CGAL). It is not
// intended for general use.
//
// ----------------------------------------------------------------------
// release :
// release_date :
//
// file : iterator_traits_pointer_specs_for_simple_cartesian_kernel.h
// package : Kernel_basic
// revision : $Revision$
// revision_date : $Date$
// author(s) : Stefan Schirra, Sylvain Pion
//
// coordinator : MPI, Saarbruecken
// ======================================================================
#ifndef CGAL_ITERATOR_TRAITS_POINTER_SPECS_FOR_SIMPLE_CARTESIAN_KERNEL_H
#define CGAL_ITERATOR_TRAITS_POINTER_SPECS_FOR_SIMPLE_CARTESIAN_KERNEL_H
// to be included in Simple_cartesian.h
#ifdef CGAL_LIMITED_ITERATOR_TRAITS_SUPPORT
#include <CGAL/user_classes.h>
#include <CGAL/cartesian_classes.h>
#define CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC(NT) \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Point_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Point_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Point_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Point_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Point_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Point_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Point_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Point_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Vector_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Vector_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Vector_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Vector_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Vector_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Vector_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Vector_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Vector_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Direction_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Direction_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Direction_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Direction_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Direction_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Direction_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Direction_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Direction_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Line_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Line_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Line_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Line_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Line_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Line_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Line_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Line_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Segment_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Segment_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Segment_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Segment_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Segment_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Segment_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Segment_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Segment_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Ray_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Ray_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Ray_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Ray_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Ray_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Ray_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Ray_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Ray_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Iso_rectangle_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Iso_rectangle_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Iso_rectangle_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Iso_rectangle_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Iso_rectangle_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Iso_rectangle_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Iso_rectangle_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Iso_rectangle_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Triangle_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Triangle_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Triangle_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Triangle_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Triangle_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Triangle_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Triangle_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Triangle_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Circle_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Circle_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Circle_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Circle_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Circle_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Circle_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Circle_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Circle_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Aff_transformation_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Aff_transformation_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Aff_transformation_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Aff_transformation_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Aff_transformation_2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Aff_transformation_2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Aff_transformation_2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Aff_transformation_2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
#define CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC(NT) \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Point_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Point_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Point_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Point_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Point_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Point_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Point_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Point_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Vector_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Vector_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Vector_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Vector_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Vector_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Vector_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Vector_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Vector_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Direction_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Direction_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Direction_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Direction_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Direction_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Direction_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Direction_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Direction_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Plane_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Plane_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Plane_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Plane_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Plane_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Plane_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Plane_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Plane_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Line_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Line_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Line_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Line_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Line_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Line_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Line_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Line_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Segment_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Segment_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Segment_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Segment_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Segment_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Segment_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Segment_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Segment_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Ray_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Ray_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Ray_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Ray_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Ray_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Ray_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Ray_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Ray_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Triangle_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Triangle_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Triangle_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Triangle_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Triangle_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Triangle_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Triangle_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Triangle_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Tetrahedron_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Tetrahedron_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Tetrahedron_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Tetrahedron_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Tetrahedron_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Tetrahedron_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Tetrahedron_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Tetrahedron_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Aff_transformation_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Aff_transformation_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Aff_transformation_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Aff_transformation_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Aff_transformation_3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Aff_transformation_3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Aff_transformation_3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Aff_transformation_3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
#define CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC(NT) \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Point_d< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Point_d< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Point_d< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Point_d< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Point_d< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Point_d< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Point_d< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Point_d< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
#define CGAL_ITERATOR_TRAITS_POINTER_SPECSC2(NT) \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::PointC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::PointC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::PointC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::PointC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::PointC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::PointC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::PointC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::PointC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::VectorC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::VectorC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::VectorC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::VectorC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::VectorC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::VectorC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::VectorC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::VectorC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::DirectionC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::DirectionC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::DirectionC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::DirectionC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::DirectionC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::DirectionC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::DirectionC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::DirectionC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::LineC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::LineC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::LineC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::LineC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::LineC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::LineC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::LineC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::LineC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::SegmentC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::SegmentC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::SegmentC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::SegmentC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::SegmentC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::SegmentC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::SegmentC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::SegmentC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::RayC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::RayC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::RayC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::RayC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::RayC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::RayC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::RayC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::RayC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Iso_rectangleC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Iso_rectangleC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Iso_rectangleC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Iso_rectangleC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Iso_rectangleC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Iso_rectangleC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Iso_rectangleC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Iso_rectangleC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::TriangleC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::TriangleC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::TriangleC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::TriangleC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::TriangleC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::TriangleC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::TriangleC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::TriangleC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::CircleC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::CircleC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::CircleC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::CircleC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::CircleC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::CircleC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::CircleC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::CircleC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Aff_transformationC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Aff_transformationC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Aff_transformationC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Aff_transformationC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Aff_transformationC2< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Aff_transformationC2< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Aff_transformationC2< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Aff_transformationC2< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
#define CGAL_ITERATOR_TRAITS_POINTER_SPECSC3(NT) \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::PointC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::PointC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::PointC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::PointC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::PointC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::PointC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::PointC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::PointC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::VectorC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::VectorC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::VectorC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::VectorC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::VectorC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::VectorC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::VectorC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::VectorC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::DirectionC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::DirectionC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::DirectionC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::DirectionC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::DirectionC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::DirectionC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::DirectionC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::DirectionC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::PlaneC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::PlaneC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::PlaneC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::PlaneC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::PlaneC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::PlaneC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::PlaneC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::PlaneC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::LineC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::LineC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::LineC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::LineC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::LineC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::LineC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::LineC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::LineC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::SegmentC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::SegmentC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::SegmentC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::SegmentC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::SegmentC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::SegmentC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::SegmentC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::SegmentC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::RayC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::RayC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::RayC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::RayC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::RayC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::RayC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::RayC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::RayC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::TriangleC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::TriangleC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::TriangleC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::TriangleC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::TriangleC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::TriangleC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::TriangleC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::TriangleC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::TetrahedronC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::TetrahedronC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::TetrahedronC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::TetrahedronC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::TetrahedronC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::TetrahedronC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::TetrahedronC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::TetrahedronC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::Aff_transformationC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Aff_transformationC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::Aff_transformationC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::Aff_transformationC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::Aff_transformationC3< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::Aff_transformationC3< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::Aff_transformationC3< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::Aff_transformationC3< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
#define CGAL_ITERATOR_TRAITS_POINTER_SPECSCD(NT) \
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::PointCd< NT >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::PointCd< NT > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::PointCd< NT >* pointer; \
typedef const CGAL::PointCd< NT >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::PointCd< NT >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::PointCd< NT > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::PointCd< NT >* pointer; \
typedef CGAL::PointCd< NT >& reference; \
}; \
__STL_END_NAMESPACE \
/*
__STL_BEGIN_NAMESPACE \
template <> \
struct iterator_traits<const CGAL::PointCd< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::PointCd< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef const CGAL::PointCd< CGAL::Simple_cartesian< NT > >* pointer; \
typedef const CGAL::PointCd< CGAL::Simple_cartesian< NT > >& reference; \
}; \
template <> \
struct iterator_traits<CGAL::PointCd< CGAL::Simple_cartesian< NT > >*> { \
typedef random_access_iterator_tag iterator_category; \
typedef CGAL::PointCd< CGAL::Simple_cartesian< NT > > value_type; \
typedef ptrdiff_t difference_type; \
typedef CGAL::PointCd< CGAL::Simple_cartesian< NT > >* pointer; \
typedef CGAL::PointCd< CGAL::Simple_cartesian< NT > >& reference; \
}; \
__STL_END_NAMESPACE \
*/
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( int )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( int )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( int )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( long )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( long )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( long )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( float )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( float )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( float )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( double )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( double )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( double )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( int )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( int )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( int )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( long )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( long )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( long )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( float )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( float )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( float )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( double )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( double )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( double )
class leda_real;
class leda_integer;
class leda_rational;
class leda_bigfloat;
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( leda_real )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( leda_real )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( leda_real )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( leda_integer )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( leda_integer )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( leda_integer )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( leda_rational )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( leda_rational )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( leda_rational )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( leda_bigfloat )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( leda_bigfloat )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( leda_bigfloat )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( leda_real )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( leda_real )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( leda_real )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( leda_integer )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( leda_integer )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( leda_integer )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( leda_rational )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( leda_rational )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( leda_rational )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( leda_bigfloat )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( leda_bigfloat )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( leda_bigfloat )
namespace CGAL { class Gmpz; }
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( CGAL::Gmpz )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( CGAL::Gmpz )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( CGAL::Gmpz )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( CGAL::Gmpz )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( CGAL::Gmpz )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( CGAL::Gmpz )
#ifdef CGAL_QUOTIENT_H
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( CGAL::Quotient<int> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( CGAL::Quotient<int> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( CGAL::Quotient<int> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( CGAL::Quotient<long> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( CGAL::Quotient<long> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( CGAL::Quotient<long> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( CGAL::Quotient<float> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( CGAL::Quotient<float> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( CGAL::Quotient<float> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( CGAL::Quotient<double> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( CGAL::Quotient<double> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( CGAL::Quotient<double> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( CGAL::Quotient<leda_real> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( CGAL::Quotient<leda_real> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( CGAL::Quotient<leda_real> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( CGAL::Quotient<leda_integer> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( CGAL::Quotient<leda_integer> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( CGAL::Quotient<leda_integer> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_2SC( CGAL::Quotient<CGAL::Gmpz> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_3SC( CGAL::Quotient<CGAL::Gmpz> )
CGAL_ITERATOR_TRAITS_POINTER_SPEC_DSC( CGAL::Quotient<CGAL::Gmpz> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( CGAL::Quotient<int> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( CGAL::Quotient<int> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( CGAL::Quotient<int> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( CGAL::Quotient<long> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( CGAL::Quotient<long> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( CGAL::Quotient<long> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( CGAL::Quotient<float> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( CGAL::Quotient<float> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( CGAL::Quotient<float> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( CGAL::Quotient<double> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( CGAL::Quotient<double> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( CGAL::Quotient<double> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( CGAL::Quotient<leda_real> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( CGAL::Quotient<leda_real> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( CGAL::Quotient<leda_real> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( CGAL::Quotient<leda_integer> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( CGAL::Quotient<leda_integer> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( CGAL::Quotient<leda_integer> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC2( CGAL::Quotient<CGAL::Gmpz> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSC3( CGAL::Quotient<CGAL::Gmpz> )
CGAL_ITERATOR_TRAITS_POINTER_SPECSCD( CGAL::Quotient<CGAL::Gmpz> )
#endif // CGAL_QUOTIENT_H
#endif // CGAL_LIMITED_ITERATOR_TRAITS_SUPPORT
#endif // CGAL_ITERATOR_TRAITS_POINTER_SPECS_FOR_SIMPLE_CARTESIAN_KERNEL_H