diff --git a/Arrangement_2/include/CGAL/IO/Arrangement_2_writer.h b/Arrangement_2/include/CGAL/IO/Arrangement_2_writer.h index 94e49c87e7c..3a18ce6f2fa 100644 --- a/Arrangement_2/include/CGAL/IO/Arrangement_2_writer.h +++ b/Arrangement_2/include/CGAL/IO/Arrangement_2_writer.h @@ -325,7 +325,7 @@ protected: /*! Get the number of edges along a given CCB. */ std::size_t _circulator_size (Ccb_halfedge_const_circulator circ) const { - CGAL_assertion (circ != CGAL_NULL); + CGAL_assertion (circ != NULL); std::size_t n = 0; Ccb_halfedge_const_circulator curr = circ; diff --git a/Circulator/include/CGAL/Safe_circulator_from_iterator.h b/Circulator/include/CGAL/Safe_circulator_from_iterator.h index 3a88df7b955..fabdcfd2472 100644 --- a/Circulator/include/CGAL/Safe_circulator_from_iterator.h +++ b/Circulator/include/CGAL/Safe_circulator_from_iterator.h @@ -93,11 +93,11 @@ public: // // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return m_empty; } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { diff --git a/Circulator/include/CGAL/circulator.h b/Circulator/include/CGAL/circulator.h index 02f568be948..744733068c1 100644 --- a/Circulator/include/CGAL/circulator.h +++ b/Circulator/include/CGAL/circulator.h @@ -307,7 +307,7 @@ void Assert_is_at_least_random_access_category( const IC& /*ic*/) { template< class C> inline bool I_is_empty_range( const C& c1, const C&, Circulator_tag){ - return c1 == CGAL_NULL; + return c1 == NULL; } template< class I> inline @@ -364,7 +364,7 @@ I_min_circulator_size( const C& c) { Assert_random_access_category(c); typedef typename C::size_type size_type; size_type n = 0; - if ( c != CGAL_NULL) { + if ( c != NULL) { n = (c-1) - c + 1; CGAL_assertion(n > 0); } @@ -375,7 +375,7 @@ template typename C::size_type I_circulator_size( const C& c, Forward_circulator_tag) { // Simply count. - if ( c == CGAL_NULL) + if ( c == NULL) return 0; typedef typename C::size_type size_type; size_type n = 0; @@ -408,7 +408,7 @@ template typename C::difference_type I_circulator_distance( C c, const C& d, Forward_circulator_tag) { // Simply count. - if ( c == CGAL_NULL) + if ( c == NULL) return 0; typedef typename C::difference_type difference_type; difference_type n = 0; @@ -547,18 +547,18 @@ public: return !(*this == i); } Ref operator*() const { - CGAL_assertion( m_anchor != CGAL_NULL); - CGAL_assertion( current != CGAL_NULL); + CGAL_assertion( m_anchor != NULL); + CGAL_assertion( current != NULL); return Ref(*current); } Ptr operator->() const { - CGAL_assertion( m_anchor != CGAL_NULL); - CGAL_assertion( current != CGAL_NULL); + CGAL_assertion( m_anchor != NULL); + CGAL_assertion( current != NULL); return Ptr(current.operator->()); } Self& operator++() { - CGAL_assertion( m_anchor != CGAL_NULL); - CGAL_assertion( current != CGAL_NULL); + CGAL_assertion( m_anchor != NULL); + CGAL_assertion( current != NULL); ++current; if ( current == *m_anchor) ++m_winding; @@ -570,8 +570,8 @@ public: return tmp; } Self& operator--() { - CGAL_assertion( m_anchor != CGAL_NULL); - CGAL_assertion( current != CGAL_NULL); + CGAL_assertion( m_anchor != NULL); + CGAL_assertion( current != NULL); if ( current == *m_anchor) --m_winding; --current; @@ -583,8 +583,8 @@ public: return tmp; } Self& operator+=( difference_type n) { - CGAL_assertion( m_anchor != CGAL_NULL); - CGAL_assertion( current != CGAL_NULL); + CGAL_assertion( m_anchor != NULL); + CGAL_assertion( current != NULL); if ( n < 0 && current == *m_anchor) // We are leaving the anchor. --m_winding; current += n; @@ -604,8 +604,8 @@ public: return tmp += -n; } difference_type operator-( const Self& i) const { - CGAL_assertion( m_anchor != CGAL_NULL); - CGAL_assertion( current != CGAL_NULL); + CGAL_assertion( m_anchor != NULL); + CGAL_assertion( current != NULL); CGAL_assertion( m_anchor == i.m_anchor); if ( m_winding != i.m_winding) { difference_type s = I_min_circulator_size( *m_anchor); @@ -621,8 +621,8 @@ public: return tmp.operator*(); } bool operator<( const Self& i) const { - CGAL_assertion( m_anchor != CGAL_NULL); - CGAL_assertion( current != CGAL_NULL); + CGAL_assertion( m_anchor != NULL); + CGAL_assertion( current != NULL); CGAL_assertion( m_anchor == i.m_anchor); return ( (m_winding < i.m_winding) || ( (m_winding == i.m_winding) @@ -693,12 +693,12 @@ typedef Iterator_from_circulator< C, const_reference, const_pointer> } iterator end() { // the past-the-end iterator. - return anchor == CGAL_NULL ? iterator( &anchor, 0) + return anchor == NULL ? iterator( &anchor, 0) : iterator( &anchor, 1); } const_iterator end() const { // the past-the-end const iterator. - return anchor == CGAL_NULL ? const_iterator( &anchor, 0) + return anchor == NULL ? const_iterator( &anchor, 0) : const_iterator( &anchor, 1); } }; @@ -741,11 +741,11 @@ public: // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return (ctnr == NULL) || (ctnr->begin() == ctnr->end()); } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { return i == c.i; } bool operator!=( const Self& c) const { return !(*this == c); } reference operator*() const { @@ -874,11 +874,11 @@ public: // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return (ctnr == NULL) || (ctnr->begin() == ctnr->end()); } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { return i == c.i; } bool operator!=( const Self& c) const { return !(*this == c); } reference operator*() const { @@ -1026,11 +1026,11 @@ public: // // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return empty; } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { return current == c.current;} bool operator!=( const Self& c) const { return !(*this == c); } reference operator*() const { diff --git a/Circulator/include/CGAL/circulator_impl.h b/Circulator/include/CGAL/circulator_impl.h index 103dcfdde54..e5fbeeb6b9d 100644 --- a/Circulator/include/CGAL/circulator_impl.h +++ b/Circulator/include/CGAL/circulator_impl.h @@ -65,11 +65,11 @@ public: // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return this->_ptr == NULL; } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { return this->_ptr == c._ptr; } bool operator!=( const Self& c) const { return !(*this == c); } reference operator*() const { return *(S*)this->_ptr;} @@ -108,11 +108,11 @@ public: // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return this->_ptr == NULL; } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { return this->_ptr == c._ptr; } bool operator!=( const Self& c) const { return !(*this == c); } reference operator*() const { return *(const S*)this->_ptr;} @@ -155,11 +155,11 @@ public: // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return this->_ptr == NULL; } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { return this->_ptr == c._ptr; } bool operator!=( const Self& c) const { return !(*this == c); } reference operator*() const { return *(S*)this->_ptr;} @@ -207,11 +207,11 @@ public: // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return this->_ptr == NULL; } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { return this->_ptr == c._ptr; } bool operator!=( const Self& c) const { return !(*this == c); } reference operator*() const { return *(const S*)this->_ptr;} @@ -266,11 +266,11 @@ public: // // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return this->_ptr == NULL; } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { return this->_ptr == c._ptr; } bool operator!=( const Self& c) const { return !(*this == c); } C& operator*() const { return *(C*)this->_ptr;} @@ -304,11 +304,11 @@ public: // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return this->_ptr == NULL; } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { return this->_ptr == c._ptr; } bool operator!=( const Self& c) const { return !(*this == c); } const C& operator*() const { return *(C*)this->_ptr;} @@ -341,11 +341,11 @@ public: // // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return this->_ptr == NULL; } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { return this->_ptr == c._ptr; } bool operator!=( const Self& c) const { return !(*this == c); } C& operator*() const { return *(C*)this->_ptr;} @@ -390,11 +390,11 @@ public: // // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return this->_ptr == NULL; } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { return this->_ptr == c._ptr; } bool operator!=( const Self& c) const { return !(*this == c); } const C& operator*() const { return *(C*)this->_ptr;} @@ -462,11 +462,11 @@ public: // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return _i >= _size; } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { CGAL_assertion( this->_ptr == c._ptr); // belong to the same array? CGAL_assertion( _size == c._size); // same size when instantiated ? @@ -586,11 +586,11 @@ public: // // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return _i >= _size; } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { CGAL_assertion( this->_ptr == c._ptr); // belong to the same array? CGAL_assertion( _size == c._size); // same size when instantiated ? diff --git a/Circulator/test/Circulator/test_circ1.cpp b/Circulator/test/Circulator/test_circ1.cpp index 90b415766eb..691723a2da2 100644 --- a/Circulator/test/Circulator/test_circ1.cpp +++ b/Circulator/test/Circulator/test_circ1.cpp @@ -2375,11 +2375,11 @@ void test_circulator_from_iterator() { // Check tests for empty data structures. Circulator z = Circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Circulator i = c; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == c); assert( i == c); // Do I reach myself. @@ -2488,11 +2488,11 @@ void test_circulator_from_iterator() { // Check tests for empty data structures. Circulator z = Circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Circulator i = c; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == c); assert( i == c); // Do I reach myself. @@ -2730,11 +2730,11 @@ void test_circulator_from_iterator() { // Check tests for empty data structures. Circulator z = Circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Circulator i = c; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == c); assert( i == c); // Do I reach myself. @@ -2892,11 +2892,11 @@ void test_circulator_from_iterator() { // Check tests for empty data structures. Circulator z = Circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Circulator i = c; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == c); assert( i == c); // Do I reach myself. @@ -3303,11 +3303,11 @@ void test_circulator_from_iterator() { // Check tests for empty data structures. Circulator z = Circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Circulator i = c; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == c); assert( i == c); // Do I reach myself. @@ -3528,11 +3528,11 @@ void test_circulator_from_iterator() { // Check tests for empty data structures. Circulator z = Circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Circulator i = c; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == c); assert( i == c); // Do I reach myself. @@ -3737,11 +3737,11 @@ void test_circulator_from_container() { // Check tests for empty data structures. Circulator z = Circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Circulator i = c; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == c); assert( i == c); // Do I reach myself. @@ -3850,11 +3850,11 @@ void test_circulator_from_container() { // Check tests for empty data structures. Circulator z = Circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Circulator i = c; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == c); assert( i == c); // Do I reach myself. @@ -4092,11 +4092,11 @@ void test_circulator_from_container() { // Check tests for empty data structures. Circulator z = Circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Circulator i = c; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == c); assert( i == c); // Do I reach myself. @@ -4255,11 +4255,11 @@ void test_circulator_from_container() { // Check tests for empty data structures. Circulator z = Circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Circulator i = c; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == c); assert( i == c); // Do I reach myself. @@ -4666,11 +4666,11 @@ void test_circulator_from_container() { // Check tests for empty data structures. Circulator z = Circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Circulator i = c; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == c); assert( i == c); // Do I reach myself. @@ -4892,11 +4892,11 @@ void test_circulator_from_container() { // Check tests for empty data structures. Circulator z = Circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Circulator i = c; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == c); assert( i == c); // Do I reach myself. diff --git a/Circulator/test/Circulator/test_circ2.cpp b/Circulator/test/Circulator/test_circ2.cpp index 1cc3b2414fc..9a8b7919dc9 100644 --- a/Circulator/test/Circulator/test_circ2.cpp +++ b/Circulator/test/Circulator/test_circ2.cpp @@ -299,11 +299,11 @@ void test_struct(){ // Check tests for empty data structures. Struct_circulator z = Struct_circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Struct_circulator i = start; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == start); assert( i == start); // Do I reach myself. @@ -408,11 +408,11 @@ void test_struct(){ // Check tests for empty data structures. Struct_const_circulator z = Struct_const_circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Struct_const_circulator i = start; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == start); assert( i == start); // Do I reach myself. @@ -646,11 +646,11 @@ void test_struct(){ // Check tests for empty data structures. Struct_bi_circulator z = Struct_bi_circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Struct_bi_circulator i = start; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == start); assert( i == start); // Do I reach myself. @@ -804,11 +804,11 @@ void test_struct(){ // Check tests for empty data structures. Struct_bi_const_circulator z = Struct_bi_const_circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Struct_bi_const_circulator i = start; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == start); assert( i == start); // Do I reach myself. @@ -964,11 +964,11 @@ void test_class(){ // Check tests for empty data structures. Class_circulator z = Class_circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Class_circulator i = start; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == start); assert( i == start); // Do I reach myself. @@ -1073,11 +1073,11 @@ void test_class(){ // Check tests for empty data structures. Class_const_circulator z = Class_const_circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Class_const_circulator i = start; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == start); assert( i == start); // Do I reach myself. @@ -1311,11 +1311,11 @@ void test_class(){ // Check tests for empty data structures. Class_bi_circulator z = Class_bi_circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Class_bi_circulator i = start; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == start); assert( i == start); // Do I reach myself. @@ -1469,11 +1469,11 @@ void test_class(){ // Check tests for empty data structures. Class_bi_const_circulator z = Class_bi_const_circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Class_bi_const_circulator i = start; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == start); assert( i == start); // Do I reach myself. @@ -1886,11 +1886,11 @@ void test_array() { // Check tests for empty data structures. Circulator z = Circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Circulator i = start; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == start); assert( i == start); // Do I reach myself. @@ -2114,11 +2114,11 @@ void test_array() { // Check tests for empty data structures. Circulator z = Circulator(); - assert( z == CGAL_NULL); - assert( ! (z != CGAL_NULL)); + assert( z == NULL); + assert( ! (z != NULL)); Circulator i = start; - assert( ! (i == CGAL_NULL)); - assert( i != CGAL_NULL); + assert( ! (i == NULL)); + assert( i != NULL); assert( i == start); assert( i == start); // Do I reach myself. diff --git a/HalfedgeDS/include/CGAL/HalfedgeDS_iterator.h b/HalfedgeDS/include/CGAL/HalfedgeDS_iterator.h index fd40fb1b5b0..536993a9dca 100644 --- a/HalfedgeDS/include/CGAL/HalfedgeDS_iterator.h +++ b/HalfedgeDS/include/CGAL/HalfedgeDS_iterator.h @@ -56,11 +56,11 @@ public: // pointer ptr() const { return & It::operator*();} - bool operator==( CGAL_NULL_TYPE CGAL_assertion_code(p)) const { + bool operator==( Nullptr_t CGAL_assertion_code(p)) const { CGAL_assertion( p == 0); return It::operator==( It()); } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& i) const { return It::operator==(i); } bool operator!=( const Self& i) const { return !(*this == i); } @@ -116,11 +116,11 @@ public: // pointer ptr() const { return & It::operator*();} - bool operator==( CGAL_NULL_TYPE CGAL_assertion_code(p)) const { + bool operator==( Nullptr_t CGAL_assertion_code(p)) const { CGAL_assertion( p == 0); return It::operator==( It()); } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& i) const { return It::operator==(i); } bool operator!=( const Self& i) const { return !(*this == i); } @@ -194,11 +194,11 @@ public: pointer ptr() const { return & It::operator*();} - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return It::operator==( It(NULL)); } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& i) const { return It::operator==(i); } bool operator!=( const Self& i) const { return !(*this == i); } @@ -257,11 +257,11 @@ public: pointer ptr() const { return & It::operator*();} - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return It::operator==( It(NULL)); } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& i) const { return It::operator==(i); } bool operator!=( const Self& i) const { return !(*this == i); } @@ -315,11 +315,11 @@ public: pointer ptr() const { return & It::operator*();} - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return It::operator==( It(NULL)); } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& i) const { return It::operator==(i); } bool operator!=( const Self& i) const { return !(*this == i); } @@ -378,11 +378,11 @@ public: pointer ptr() const { return & It::operator*();} - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return It::operator==( It(NULL)); } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& i) const { return It::operator==(i); } bool operator!=( const Self& i) const { return !(*this == i); } diff --git a/Installation/include/CGAL/config.h b/Installation/include/CGAL/config.h index eee44e036c8..a1fa8a88a7f 100644 --- a/Installation/include/CGAL/config.h +++ b/Installation/include/CGAL/config.h @@ -27,7 +27,6 @@ #define CGAL_CONFIG_H - #ifdef CGAL_INCLUDE_WINDOWS_DOT_H // Mimic users including this file which defines min max macros // and other names leading to name clashes @@ -211,23 +210,11 @@ using std::max; #endif -// Macros for NULL and the NULL type. -#include +CGAL_BEGIN_NAMESPACE -#ifndef CGAL_NULL_TYPE -// Why is this GCC specific? Let's try to remove this. -#if 0 -# if defined( __GNUG__ ) -# define CGAL_NULL_TYPE const void* -# define CGAL_NULL 0 -# else // __GNUG__ // -# define CGAL_NULL_TYPE int -# define CGAL_NULL NULL -# endif // __GNUG__ // -#else -# define CGAL_NULL_TYPE const void * -# define CGAL_NULL NULL -#endif -#endif // CGAL_NULL_TYPE +// Typedef for the type of NULL. +typedef const void * Nullptr_t; // Anticipate C++0x's std::nullptr_t + +CGAL_END_NAMESPACE #endif // CGAL_CONFIG_H diff --git a/Mesh_2/include/CGAL/Filter_circulator.h b/Mesh_2/include/CGAL/Filter_circulator.h index 4a4759383b4..f9f0af24c78 100644 --- a/Mesh_2/include/CGAL/Filter_circulator.h +++ b/Mesh_2/include/CGAL/Filter_circulator.h @@ -63,11 +63,11 @@ public: } }; - bool operator==( CGAL_NULL_TYPE ) const { + bool operator==( Nullptr_t ) const { return is_null; } - bool operator!=( CGAL_NULL_TYPE ) const { + bool operator!=( Nullptr_t ) const { return !is_null; } diff --git a/Nef_2/include/CGAL/Nef_2/Object_handle.h b/Nef_2/include/CGAL/Nef_2/Object_handle.h index 01f4c650ecf..957866d25ac 100644 --- a/Nef_2/include/CGAL/Nef_2/Object_handle.h +++ b/Nef_2/include/CGAL/Nef_2/Object_handle.h @@ -71,9 +71,9 @@ public: bool is_empty() const { empty E; return assign(E); } - bool operator==(CGAL_NULL_TYPE n) const + bool operator==(Nullptr_t n) const { CGAL_assertion(n == 0); return is_empty(); } - bool operator!=(CGAL_NULL_TYPE n) const + bool operator!=(Nullptr_t n) const { CGAL_assertion(n == 0); return !is_empty(); } }; diff --git a/Nef_2/include/CGAL/Nef_2/iterator_tools.h b/Nef_2/include/CGAL/Nef_2/iterator_tools.h index d33bf27ec39..75c1e139486 100644 --- a/Nef_2/include/CGAL/Nef_2/iterator_tools.h +++ b/Nef_2/include/CGAL/Nef_2/iterator_tools.h @@ -39,11 +39,11 @@ public: // OPERATIONS Forward Category // --------------------------- - bool operator==( CGAL_NULL_TYPE p ) const { + bool operator==( Nullptr_t p ) const { CGAL_assertion( p == NULL ); return Iter::operator==( Iter(NULL) ); } - bool operator!=( CGAL_NULL_TYPE p ) const { + bool operator!=( Nullptr_t p ) const { return !(*this == p); } bool operator==( const Self& i ) const { diff --git a/Polygon/include/CGAL/Polygon_2/Polygon_2_edge_circulator.h b/Polygon/include/CGAL/Polygon_2/Polygon_2_edge_circulator.h index 7030125b96e..3b9e70873cb 100644 --- a/Polygon/include/CGAL/Polygon_2/Polygon_2_edge_circulator.h +++ b/Polygon/include/CGAL/Polygon_2/Polygon_2_edge_circulator.h @@ -68,12 +68,12 @@ class Polygon_2_const_edge_circulator { Polygon_2_const_edge_circulator(Vertex_const_circulator f) : first_vertex(f) {} - bool operator==( CGAL_NULL_TYPE p ) const { + bool operator==( Nullptr_t p ) const { CGAL_polygon_assertion( p == 0); return (first_vertex == 0); } - bool operator!=( CGAL_NULL_TYPE p ) const + bool operator!=( Nullptr_t p ) const { return !(*this == p); } diff --git a/Polygon/include/CGAL/Polygon_2/Polygon_2_vertex_circulator.h b/Polygon/include/CGAL/Polygon_2/Polygon_2_vertex_circulator.h index 42fa2263677..ea07f536fe4 100644 --- a/Polygon/include/CGAL/Polygon_2/Polygon_2_vertex_circulator.h +++ b/Polygon/include/CGAL/Polygon_2/Polygon_2_vertex_circulator.h @@ -71,11 +71,11 @@ public: // OPERATIONS - bool operator==( CGAL_NULL_TYPE p) const { - CGAL_assertion( p == CGAL_NULL); + bool operator==( Nullptr_t p) const { + CGAL_assertion( p == NULL); return (ctnr == NULL) || (ctnr->begin() == ctnr->end()); } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& c) const { return i == c.i; } bool operator!=( const Self& c) const { return !(*this == c); } reference operator*() const { diff --git a/Qt_widget/include/CGAL/apply_to_range.h b/Qt_widget/include/CGAL/apply_to_range.h index f887a3e0ca3..49ed706f777 100644 --- a/Qt_widget/include/CGAL/apply_to_range.h +++ b/Qt_widget/include/CGAL/apply_to_range.h @@ -67,8 +67,8 @@ void apply_to_range(const Tr &t, l4 = t.line_walk(POINT(xr_left, yr_bottom), POINT(xr_left, yr_top), hface4); //test if everything is inside or outside - if( (l1 == (CGAL_NULL_TYPE) NULL) && (l2 == (CGAL_NULL_TYPE) NULL) && - (l3 == (CGAL_NULL_TYPE) NULL) && (l4 == (CGAL_NULL_TYPE) NULL)) + if( (l1 == (Nullptr_t) NULL) && (l2 == (Nullptr_t) NULL) && + (l3 == (Nullptr_t) NULL) && (l4 == (Nullptr_t) NULL)) { FVI v = t.finite_vertices_begin(); if((*v).point().x() < xr_left || (*v).point().x() > xr_right || @@ -88,7 +88,7 @@ void apply_to_range(const Tr &t, //if we are here, then a part of the triangulation is inside, the other is outside //put all the faces on the boundaries in the stack and the map - if(l1 != (CGAL_NULL_TYPE) NULL) //found at least one face that intersect the TOP segment + if(l1 != (Nullptr_t) NULL) //found at least one face that intersect the TOP segment { while (t.is_infinite(l1)) l1++; //we should start with a finite face do{ //put all of them in the stack; @@ -98,7 +98,7 @@ void apply_to_range(const Tr &t, }while(!t.is_infinite(l1) && t.triangle(l1).has_on_unbounded_side(POINT(xr_right, yr_top))); } - if(l2 != (CGAL_NULL_TYPE) NULL) //found at least one face that intersect the RIGHT segment + if(l2 != (Nullptr_t) NULL) //found at least one face that intersect the RIGHT segment { while (t.is_infinite(l2)) l2++; //we should start with a finite face do{ //put all of them in the stack; @@ -110,7 +110,7 @@ void apply_to_range(const Tr &t, }while(!t.is_infinite(l2) && t.triangle(l2).has_on_unbounded_side(POINT(xr_right, yr_bottom))); } - if(l3 != (CGAL_NULL_TYPE) NULL) //found at least one face that intersect the BOTTOM segment + if(l3 != (Nullptr_t) NULL) //found at least one face that intersect the BOTTOM segment { while (t.is_infinite(l3)) l3++; //we should start with a finite face do{ //put all of them in the stack; @@ -122,7 +122,7 @@ void apply_to_range(const Tr &t, }while(!t.is_infinite(l3) && t.triangle(l3).has_on_unbounded_side(POINT(xr_left, yr_bottom))); } - if(l4 != (CGAL_NULL_TYPE) NULL) //found at least one face that intersect the LEFT segment + if(l4 != (Nullptr_t) NULL) //found at least one face that intersect the LEFT segment { while (t.is_infinite(l4)) l4++; //we should start with a finite face do{ //put all of them in the stack; diff --git a/STL_Extension/include/CGAL/Circulator_identity.h b/STL_Extension/include/CGAL/Circulator_identity.h index a23e32b6715..062fb8b6606 100644 --- a/STL_Extension/include/CGAL/Circulator_identity.h +++ b/STL_Extension/include/CGAL/Circulator_identity.h @@ -57,11 +57,11 @@ public: Circulator current_circulator() const { return nt;} - bool operator==( CGAL_NULL_TYPE p) const { + bool operator==( Nullptr_t p) const { CGAL_assertion( p == 0); return ( nt == 0); //###// } - bool operator!=( CGAL_NULL_TYPE p) const { + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& i) const { diff --git a/STL_Extension/include/CGAL/Circulator_on_node.h b/STL_Extension/include/CGAL/Circulator_on_node.h index d661ebf89af..65442037200 100644 --- a/STL_Extension/include/CGAL/Circulator_on_node.h +++ b/STL_Extension/include/CGAL/Circulator_on_node.h @@ -59,11 +59,11 @@ public: Ptr ptr() const { return nt;} - bool operator==( CGAL_NULL_TYPE p) const { + bool operator==( Nullptr_t p) const { CGAL_assertion( p == 0); return ( nt == 0); } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& i) const { return ( nt == i.nt); } bool operator!=( const Self& i) const { return !(*this == i); } Ref operator*() const { return *nt; } diff --git a/STL_Extension/include/CGAL/Circulator_project.h b/STL_Extension/include/CGAL/Circulator_project.h index 3f818e2cc61..f504e731c1b 100644 --- a/STL_Extension/include/CGAL/Circulator_project.h +++ b/STL_Extension/include/CGAL/Circulator_project.h @@ -62,11 +62,11 @@ public: return &(fct(*nt)); } - bool operator==( CGAL_NULL_TYPE p) const { + bool operator==( Nullptr_t p) const { CGAL_assertion( p == 0); return ( nt == 0); } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& i) const { return ( nt == i.nt); } bool operator!=( const Self& i) const { return !(*this == i); } Ref operator*() const { return *ptr(); } diff --git a/STL_Extension/include/CGAL/Compact_container.h b/STL_Extension/include/CGAL/Compact_container.h index 18daccf24c8..01ccfb0cc24 100644 --- a/STL_Extension/include/CGAL/Compact_container.h +++ b/STL_Extension/include/CGAL/Compact_container.h @@ -686,7 +686,7 @@ namespace CGALi { } // Construction from NULL - CC_iterator (CGAL_NULL_TYPE CGAL_assertion_code(n)) + CC_iterator (Nullptr_t CGAL_assertion_code(n)) { CGAL_assertion (n == NULL); m_ptr.p = NULL; @@ -804,7 +804,7 @@ namespace CGALi { template < class DSC, bool Const > inline bool operator==(const CC_iterator &rhs, - CGAL_NULL_TYPE CGAL_assertion_code(n)) + Nullptr_t CGAL_assertion_code(n)) { CGAL_assertion( n == NULL); return &*rhs == NULL; @@ -813,7 +813,7 @@ namespace CGALi { template < class DSC, bool Const > inline bool operator!=(const CC_iterator &rhs, - CGAL_NULL_TYPE CGAL_assertion_code(n)) + Nullptr_t CGAL_assertion_code(n)) { CGAL_assertion( n == NULL); return &*rhs != NULL; diff --git a/STL_Extension/include/CGAL/iterator.h b/STL_Extension/include/CGAL/iterator.h index 6fc83b8fa09..7d60c216fc0 100644 --- a/STL_Extension/include/CGAL/iterator.h +++ b/STL_Extension/include/CGAL/iterator.h @@ -309,11 +309,11 @@ public: Circulator current_circulator() const { return nt;} Iterator current_iterator() const { return nt;} - bool operator==( CGAL_NULL_TYPE p) const { + bool operator==( Nullptr_t p) const { CGAL_assertion( p == 0); return empty; } - bool operator!=( CGAL_NULL_TYPE p) const { return !(*this == p); } + bool operator!=( Nullptr_t p) const { return !(*this == p); } bool operator==( const Self& i) const { return (empty && i.empty) ||( nt == i.nt); } bool operator!=( const Self& i) const { return !(*this == i); } reference operator*() const { return *nt; } diff --git a/STL_Extension/test/STL_Extension/test_stl_extension.cpp b/STL_Extension/test/STL_Extension/test_stl_extension.cpp index c0cf8667660..823853d88aa 100644 --- a/STL_Extension/test/STL_Extension/test_stl_extension.cpp +++ b/STL_Extension/test/STL_Extension/test_stl_extension.cpp @@ -1357,11 +1357,11 @@ void test_Circulator_identity() { // Check tests for empty data structures. Circulator z = Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); Circulator i = begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == begin); CGAL_assertion( i == begin); // Do I reach myself. @@ -1522,11 +1522,11 @@ Assert_bidirectional_category(c_begin); // Check tests for empty data structures. C_Circulator z = C_Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); C_Circulator i = c_begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == c_begin); CGAL_assertion( i == c_begin); // Do I reach myself. @@ -1944,11 +1944,11 @@ l2.destroy(); // Check tests for empty data structures. Circulator z = Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); Circulator i = begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == begin); CGAL_assertion( i == begin); // Do I reach myself. @@ -2175,11 +2175,11 @@ Assert_random_access_category(c_begin); // Check tests for empty data structures. C_Circulator z = C_Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); C_Circulator i = c_begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == c_begin); CGAL_assertion( i == c_begin); // Do I reach myself. @@ -4469,11 +4469,11 @@ void test_Circulator_project() { // Check tests for empty data structures. Circulator z = Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); Circulator i = begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == begin); CGAL_assertion( i == begin); // Do I reach myself. @@ -4634,11 +4634,11 @@ Assert_bidirectional_category(c_begin); // Check tests for empty data structures. C_Circulator z = C_Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); C_Circulator i = c_begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == c_begin); CGAL_assertion( i == c_begin); // Do I reach myself. @@ -4900,11 +4900,11 @@ l2.destroy(); // Check tests for empty data structures. Circulator z = Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); Circulator i = begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == begin); CGAL_assertion( i == begin); // Do I reach myself. @@ -5065,11 +5065,11 @@ Assert_bidirectional_category(c_begin); // Check tests for empty data structures. C_Circulator z = C_Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); C_Circulator i = c_begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == c_begin); CGAL_assertion( i == c_begin); // Do I reach myself. @@ -5489,11 +5489,11 @@ l2.destroy(); // Check tests for empty data structures. Circulator z = Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); Circulator i = begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == begin); CGAL_assertion( i == begin); // Do I reach myself. @@ -5720,11 +5720,11 @@ Assert_random_access_category(c_begin); // Check tests for empty data structures. C_Circulator z = C_Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); C_Circulator i = c_begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == c_begin); CGAL_assertion( i == c_begin); // Do I reach myself. @@ -5923,11 +5923,11 @@ void test_Circulator_on_node() { // Check tests for empty data structures. Circulator z = Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); Circulator i = begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == begin); CGAL_assertion( i == begin); // Do I reach myself. @@ -6038,11 +6038,11 @@ void test_Circulator_on_node() { // Check tests for empty data structures. C_Circulator z = C_Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); C_Circulator i = c_begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == c_begin); CGAL_assertion( i == c_begin); // Do I reach myself. @@ -7347,11 +7347,11 @@ l2.destroy(); // Check tests for empty data structures. Circulator z = Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); Circulator i = begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == begin); CGAL_assertion( i == begin); // Do I reach myself. @@ -7577,11 +7577,11 @@ Assert_random_access_category(c_begin); // Check tests for empty data structures. C_Circulator z = C_Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); C_Circulator i = c_begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == c_begin); CGAL_assertion( i == c_begin); // Do I reach myself. @@ -8348,11 +8348,11 @@ void test_N_step_adaptor_derived() { // Check tests for empty data structures. Circulator z = Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); Circulator i = begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == begin); CGAL_assertion( i == begin); // Do I reach myself. @@ -8578,11 +8578,11 @@ void test_N_step_adaptor_derived() { // Check tests for empty data structures. C_Circulator z = C_Circulator(); - CGAL_assertion( z == CGAL_NULL); - CGAL_assertion( ! (z != CGAL_NULL)); + CGAL_assertion( z == NULL); + CGAL_assertion( ! (z != NULL)); C_Circulator i = c_begin; - CGAL_assertion( ! (i == CGAL_NULL)); - CGAL_assertion( i != CGAL_NULL); + CGAL_assertion( ! (i == NULL)); + CGAL_assertion( i != NULL); CGAL_assertion( i == c_begin); CGAL_assertion( i == c_begin); // Do I reach myself. diff --git a/Straight_skeleton_2/include/CGAL/Straight_skeleton_vertex_base_2.h b/Straight_skeleton_2/include/CGAL/Straight_skeleton_vertex_base_2.h index 93a0bdeb872..07400f11101 100644 --- a/Straight_skeleton_2/include/CGAL/Straight_skeleton_vertex_base_2.h +++ b/Straight_skeleton_2/include/CGAL/Straight_skeleton_vertex_base_2.h @@ -76,14 +76,14 @@ protected : ( Halfedge_circulator_base const& aOther ) : mHandle(aOther.mHandle) {} - bool operator==( CGAL_NULL_TYPE p ) const + bool operator==( Nullptr_t p ) const { - CGAL_assertion( p == CGAL_NULL ); + CGAL_assertion( p == NULL ); HalfedgeHandle null ; return mHandle == null ; } - bool operator!=( CGAL_NULL_TYPE p ) const { return !(*this == p); } + bool operator!=( Nullptr_t p ) const { return !(*this == p); } private : diff --git a/Surface_mesh_parameterization/include/CGAL/Convertible_circulator_project.h b/Surface_mesh_parameterization/include/CGAL/Convertible_circulator_project.h index 37552db864b..d9a80185059 100644 --- a/Surface_mesh_parameterization/include/CGAL/Convertible_circulator_project.h +++ b/Surface_mesh_parameterization/include/CGAL/Convertible_circulator_project.h @@ -57,8 +57,8 @@ public: /// OPERATIONS Forward Category /// --------------------------- - bool operator==(CGAL_NULL_TYPE ptr) const { return (const Base&)*this == ptr; } - bool operator!=(CGAL_NULL_TYPE ptr) const { return ! (*this == ptr); } + bool operator==(Nullptr_t ptr) const { return (const Base&)*this == ptr; } + bool operator!=(Nullptr_t ptr) const { return ! (*this == ptr); } bool operator==(const Self& cir) const { return (const Base&)*this == cir; } bool operator!=(const Self& cir) const { return ! (*this == cir); } diff --git a/Surface_mesh_parameterization/include/CGAL/Convertible_filter_iterator.h b/Surface_mesh_parameterization/include/CGAL/Convertible_filter_iterator.h index 2d3cba62ab0..52945d4bec7 100644 --- a/Surface_mesh_parameterization/include/CGAL/Convertible_filter_iterator.h +++ b/Surface_mesh_parameterization/include/CGAL/Convertible_filter_iterator.h @@ -60,8 +60,8 @@ public: /// OPERATIONS Forward Category /// --------------------------- - bool operator==(CGAL_NULL_TYPE ptr) const { return (const Base&)*this == ptr; } - bool operator!=(CGAL_NULL_TYPE ptr) const { return ! (*this == ptr); } + bool operator==(Nullptr_t ptr) const { return (const Base&)*this == ptr; } + bool operator!=(Nullptr_t ptr) const { return ! (*this == ptr); } bool operator==(const Self& it) const { return (const Base&)*this == it; } bool operator!=(const Self& it) const { return ! (*this == it); } diff --git a/Surface_mesh_parameterization/include/CGAL/Convertible_iterator_project.h b/Surface_mesh_parameterization/include/CGAL/Convertible_iterator_project.h index 8de672af949..ab4455834f9 100644 --- a/Surface_mesh_parameterization/include/CGAL/Convertible_iterator_project.h +++ b/Surface_mesh_parameterization/include/CGAL/Convertible_iterator_project.h @@ -55,8 +55,8 @@ public: /// OPERATIONS Forward Category /// --------------------------- - bool operator==(CGAL_NULL_TYPE ptr) const { return (const Base&)*this == ptr; } - bool operator!=(CGAL_NULL_TYPE ptr) const { return ! (*this == ptr); } + bool operator==(Nullptr_t ptr) const { return (const Base&)*this == ptr; } + bool operator!=(Nullptr_t ptr) const { return ! (*this == ptr); } bool operator==(const Self& it) const { return (const Base&)*this == it; } bool operator!=(const Self& it) const { return ! (*this == it); } diff --git a/Surface_mesh_parameterization/include/CGAL/Param_mesh_patch_circulators.h b/Surface_mesh_parameterization/include/CGAL/Param_mesh_patch_circulators.h index c5a714ab3ac..36a8a669fc2 100644 --- a/Surface_mesh_parameterization/include/CGAL/Param_mesh_patch_circulators.h +++ b/Surface_mesh_parameterization/include/CGAL/Param_mesh_patch_circulators.h @@ -136,8 +136,8 @@ public: bool operator==(const Self& cir) const { return (const Base&)*this == cir; } bool operator!=(const Self& cir) const { return !(*this == cir); } - bool operator==(CGAL_NULL_TYPE ptr) const { return (const Base&)*this == ptr; } - bool operator!=(CGAL_NULL_TYPE ptr) const { return !(*this == ptr); } + bool operator==(Nullptr_t ptr) const { return (const Base&)*this == ptr; } + bool operator!=(Nullptr_t ptr) const { return !(*this == ptr); } /// operator*() and operator->() are inherited @@ -522,8 +522,8 @@ public: /// OPERATIONS Forward Category /// --------------------------- - bool operator==(CGAL_NULL_TYPE ptr) const { return (const Base&)*this == ptr; } - bool operator!=(CGAL_NULL_TYPE ptr) const { return !(*this == ptr); } + bool operator==(Nullptr_t ptr) const { return (const Base&)*this == ptr; } + bool operator!=(Nullptr_t ptr) const { return !(*this == ptr); } bool operator==(const Self& cir) const { return (const Base&)*this == cir; } bool operator!=(const Self& cir) const { return !(*this == cir); } diff --git a/Surface_mesh_parameterization/include/CGAL/Param_mesh_patch_iterators.h b/Surface_mesh_parameterization/include/CGAL/Param_mesh_patch_iterators.h index c3d50081bfe..64f5d1d40d8 100644 --- a/Surface_mesh_parameterization/include/CGAL/Param_mesh_patch_iterators.h +++ b/Surface_mesh_parameterization/include/CGAL/Param_mesh_patch_iterators.h @@ -87,11 +87,11 @@ public: bool operator!=(const Self& it) const { return ! (*this == it); } /// Comparison to NULL pointer - bool operator==(CGAL_NULL_TYPE ptr) const { + bool operator==(Nullptr_t ptr) const { CGAL_surface_mesh_parameterization_assertion(ptr == NULL); return (const Base&)*this == Base(); } - bool operator!=(CGAL_NULL_TYPE ptr) const { return ! (*this == ptr); } + bool operator!=(Nullptr_t ptr) const { return ! (*this == ptr); } /// Conversion to handle operator Param_mesh_patch_vertex_handle() const { @@ -146,11 +146,11 @@ public: bool operator!=(const Self& it) const { return ! (*this == it); } /// Comparison to NULL pointer - bool operator==(CGAL_NULL_TYPE ptr) const { + bool operator==(Nullptr_t ptr) const { CGAL_surface_mesh_parameterization_assertion(ptr == NULL); return (const Base&)*this == Base(); } - bool operator!=(CGAL_NULL_TYPE ptr) const { return ! (*this == ptr); } + bool operator!=(Nullptr_t ptr) const { return ! (*this == ptr); } /// Conversion to handle operator Param_mesh_patch_vertex_const_handle() const { diff --git a/Surface_mesh_parameterization/include/CGAL/Param_mesh_patch_vertex.h b/Surface_mesh_parameterization/include/CGAL/Param_mesh_patch_vertex.h index 278fecaf08a..e91c461aa35 100644 --- a/Surface_mesh_parameterization/include/CGAL/Param_mesh_patch_vertex.h +++ b/Surface_mesh_parameterization/include/CGAL/Param_mesh_patch_vertex.h @@ -267,11 +267,11 @@ public: bool operator!=(const Self& hdl) const { return ! (*this == hdl); } /// Comparison to NULL pointer - bool operator==(CGAL_NULL_TYPE ptr) const { + bool operator==(Nullptr_t ptr) const { CGAL_surface_mesh_parameterization_assertion(ptr == NULL); return m_ptr == NULL; } - bool operator!=(CGAL_NULL_TYPE ptr) const { return ! (*this == ptr); } + bool operator!=(Nullptr_t ptr) const { return ! (*this == ptr); } pointer operator->() const { return m_ptr; } reference operator*() const { return *m_ptr; } @@ -413,11 +413,11 @@ public: bool operator!=(const Self& hdl) const { return ! (*this == hdl); } /// Comparison to NULL pointer - bool operator==(CGAL_NULL_TYPE ptr) const { + bool operator==(Nullptr_t ptr) const { CGAL_surface_mesh_parameterization_assertion(ptr == NULL); return m_ptr == NULL; } - bool operator!=(CGAL_NULL_TYPE ptr) const { return ! (*this == ptr); } + bool operator!=(Nullptr_t ptr) const { return ! (*this == ptr); } pointer operator->() const { return m_ptr; } reference operator*() const { return *m_ptr; } diff --git a/Triangulation_2/demo/Triangulation_2/delaunay_triangulation_2.cpp b/Triangulation_2/demo/Triangulation_2/delaunay_triangulation_2.cpp index dfe84546293..bded718938f 100644 --- a/Triangulation_2/demo/Triangulation_2/delaunay_triangulation_2.cpp +++ b/Triangulation_2/demo/Triangulation_2/delaunay_triangulation_2.cpp @@ -177,7 +177,7 @@ private slots: widget->lock(); Line_face_circulator lfc = tr1.line_walk(l.point(1), l.point(2)), done(lfc); - if(lfc == (CGAL_NULL_TYPE) NULL){ + if(lfc == NULL){ } else { *widget << CGAL::BLUE; *widget << CGAL::FillColor(CGAL::YELLOW); diff --git a/Triangulation_2/include/CGAL/Triangulation_ds_circulators_2.h b/Triangulation_2/include/CGAL/Triangulation_ds_circulators_2.h index 2b2660fafed..1edaf55078d 100644 --- a/Triangulation_2/include/CGAL/Triangulation_ds_circulators_2.h +++ b/Triangulation_2/include/CGAL/Triangulation_ds_circulators_2.h @@ -79,8 +79,8 @@ public: bool operator!=(const Face_handle &fh) const { return pos != fh; } bool is_empty() const; - bool operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const; - bool operator!=(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const; + bool operator==(Nullptr_t CGAL_triangulation_assertion_code(n)) const; + bool operator!=(Nullptr_t CGAL_triangulation_assertion_code(n)) const; Face& operator*() const @@ -160,8 +160,8 @@ public: { return pos->vertex(_ri) != vh; } bool is_empty() const; - bool operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const; - bool operator!=(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const; + bool operator==(Nullptr_t CGAL_triangulation_assertion_code(n)) const; + bool operator!=(Nullptr_t CGAL_triangulation_assertion_code(n)) const; Vertex& operator*() const @@ -239,8 +239,8 @@ public: bool operator==(const Edge_circulator &vc) const; bool operator!=(const Edge_circulator &vc) const; bool is_empty() const; - bool operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const; - bool operator!=(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const; + bool operator==(Nullptr_t CGAL_triangulation_assertion_code(n)) const; + bool operator!=(Nullptr_t CGAL_triangulation_assertion_code(n)) const; Edge* operator->() const { edge.first=pos; @@ -357,7 +357,7 @@ return (_v == Vertex_handle() || pos == Face_handle() ); template < class Tds > inline bool Triangulation_ds_face_circulator_2 :: -operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const +operator==(Nullptr_t CGAL_triangulation_assertion_code(n)) const { CGAL_triangulation_assertion( n == NULL); return (_v == Vertex_handle() || pos == Face_handle() ); @@ -366,7 +366,7 @@ operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const template < class Tds > inline bool Triangulation_ds_face_circulator_2 :: -operator!=(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const +operator!=(Nullptr_t CGAL_triangulation_assertion_code(n)) const { CGAL_triangulation_assertion( n == NULL); return ! (*this == NULL); @@ -479,7 +479,7 @@ is_empty() const template < class Tds > inline bool Triangulation_ds_vertex_circulator_2 :: -operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const +operator==(Nullptr_t CGAL_triangulation_assertion_code(n)) const { CGAL_triangulation_assertion( n == NULL); return (_v == Vertex_handle() || pos == Face_handle()); @@ -488,7 +488,7 @@ operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const template < class Tds > inline bool Triangulation_ds_vertex_circulator_2 :: -operator!=(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const +operator!=(Nullptr_t CGAL_triangulation_assertion_code(n)) const { CGAL_triangulation_assertion( n == NULL); return !(*this == NULL); @@ -599,7 +599,7 @@ is_empty() const template < class Tds > inline bool Triangulation_ds_edge_circulator_2 :: -operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const +operator==(Nullptr_t CGAL_triangulation_assertion_code(n)) const { CGAL_triangulation_assertion( n == NULL); return (_v == Vertex_handle() || pos == Face_handle()); @@ -608,7 +608,7 @@ operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const template < class Tds > inline bool Triangulation_ds_edge_circulator_2 :: -operator!=(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const +operator!=(Nullptr_t CGAL_triangulation_assertion_code(n)) const { CGAL_triangulation_assertion( n == NULL); return !(*this == NULL); diff --git a/Triangulation_2/include/CGAL/Triangulation_line_face_circulator_2.h b/Triangulation_2/include/CGAL/Triangulation_line_face_circulator_2.h index 20972f77df5..d6a05791fed 100644 --- a/Triangulation_2/include/CGAL/Triangulation_line_face_circulator_2.h +++ b/Triangulation_2/include/CGAL/Triangulation_line_face_circulator_2.h @@ -99,8 +99,8 @@ public: bool operator==(const Face_handle& fh) const { return fh == pos; } bool operator!=(const Face_handle& fh) const { return fh != pos; } - bool operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const; - bool operator!=(CGAL_NULL_TYPE n) const; + bool operator==(Nullptr_t CGAL_triangulation_assertion_code(n)) const; + bool operator!=(Nullptr_t n) const; bool is_empty() const; bool collinear_outside() const; bool locate(const Point& t, Locate_type <, int &li); @@ -664,7 +664,7 @@ is_empty() const template < class Gt, class Tds > inline bool Triangulation_line_face_circulator_2:: -operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const +operator==(Nullptr_t CGAL_triangulation_assertion_code(n)) const { CGAL_triangulation_assertion( n == NULL); return pos == Face_handle(); @@ -673,7 +673,7 @@ operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const template < class Gt, class Tds > inline bool Triangulation_line_face_circulator_2:: -operator!=(CGAL_NULL_TYPE n) const +operator!=(Nullptr_t n) const { CGAL_triangulation_assertion( n == NULL); return !(*this == n); diff --git a/Triangulation_2/test/Triangulation_2/include/CGAL/_test_triangulation_circulators.h b/Triangulation_2/test/Triangulation_2/include/CGAL/_test_triangulation_circulators.h index a0e7fdc59ff..c52ec9d5c0f 100644 --- a/Triangulation_2/test/Triangulation_2/include/CGAL/_test_triangulation_circulators.h +++ b/Triangulation_2/test/Triangulation_2/include/CGAL/_test_triangulation_circulators.h @@ -45,7 +45,7 @@ _test_circulators( const Tr &T ) { vc0 = vc = T.incident_vertices( vit, vit->face() ); if( !vc.is_empty()){ - if( vc != CGAL_NULL){ + if( vc != NULL){ do { vc++; nvi++; } while (vc != vc0); @@ -54,7 +54,7 @@ _test_circulators( const Tr &T ) //test operator --() vc0 = vc = T.incident_vertices( vit, vit->face() ); if( !vc.is_empty()){ - if( vc != CGAL_NULL){ + if( vc != NULL){ do { vc--; nvi_r++; } while (vc != vc0); diff --git a/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h b/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h index 0a0e89fd1ad..1cb2d942239 100644 --- a/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h +++ b/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h @@ -582,15 +582,15 @@ template class Delaunay_triangulation_3::Vertex_remover { typedef DelaunayTriangulation_3 Delaunay; public: - typedef CGAL_NULL_TYPE Hidden_points_iterator; + typedef Nullptr_t Hidden_points_iterator; Vertex_remover(Delaunay &tmp_) : tmp(tmp_) {} Delaunay &tmp; void add_hidden_points(Cell_handle) {} - Hidden_points_iterator hidden_points_begin() { return CGAL_NULL; } - Hidden_points_iterator hidden_points_end() { return CGAL_NULL; } + Hidden_points_iterator hidden_points_begin() { return NULL; } + Hidden_points_iterator hidden_points_end() { return NULL; } Bounded_side side_of_bounded_circle(const Point &p, const Point &q, const Point &r, const Point &s, bool perturb = false) const { diff --git a/Triangulation_3/include/CGAL/Triangulation_ds_circulators_3.h b/Triangulation_3/include/CGAL/Triangulation_ds_circulators_3.h index 3602976c42b..da4b8009663 100644 --- a/Triangulation_3/include/CGAL/Triangulation_ds_circulators_3.h +++ b/Triangulation_3/include/CGAL/Triangulation_ds_circulators_3.h @@ -146,13 +146,13 @@ public: return ch != pos; } - bool operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(n)) const + bool operator==(Nullptr_t CGAL_triangulation_assertion_code(n)) const { CGAL_triangulation_assertion( n == NULL); return pos == Cell_handle(); } - bool operator!=(CGAL_NULL_TYPE n) const + bool operator!=(Nullptr_t n) const { return ! (*this == n); } @@ -365,13 +365,13 @@ public: return ! (*this == ccir); } - bool operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(c)) const + bool operator==(Nullptr_t CGAL_triangulation_assertion_code(c)) const { - CGAL_triangulation_assertion(c == CGAL_NULL); + CGAL_triangulation_assertion(c == NULL); return pos == Cell_handle(); } - bool operator!=(CGAL_NULL_TYPE c) const + bool operator!=(Nullptr_t c) const { return ! (*this == c); } @@ -465,13 +465,13 @@ public: return ! (*this == ccir); } - bool operator==(CGAL_NULL_TYPE CGAL_triangulation_assertion_code(c)) const + bool operator==(Nullptr_t CGAL_triangulation_assertion_code(c)) const { - CGAL_triangulation_assertion(c == CGAL_NULL); + CGAL_triangulation_assertion(c == NULL); return pos == Cell_handle(); } - bool operator!=(CGAL_NULL_TYPE c) const + bool operator!=(Nullptr_t c) const { return ! (*this == c); } diff --git a/Visibility_complex_2/include/CGAL/Visibility_complex_2/Polygon_traits.h b/Visibility_complex_2/include/CGAL/Visibility_complex_2/Polygon_traits.h index 7aeb356938c..27401983746 100644 --- a/Visibility_complex_2/include/CGAL/Visibility_complex_2/Polygon_traits.h +++ b/Visibility_complex_2/include/CGAL/Visibility_complex_2/Polygon_traits.h @@ -63,7 +63,7 @@ public: void split (Arc_2& tmp, const Bitangent_2& v) { Point_2 p=v.source_object()==object()?v.source():v.target(); - if (first == CGAL_NULL) { + if (first == NULL) { first = object()->vertices_circulator(); while (*first != p) ++first; beyond = first; //++beyond; @@ -80,7 +80,7 @@ public: void split_cw(Arc_2& tmp, const Bitangent_2& v) { Point_2 p=v.source_object()==object()?v.source():v.target(); - if (first == CGAL_NULL) { + if (first == NULL) { first = object()->vertices_circulator(); while (*first != p) ++first; beyond = first; //++beyond;