equal
deleted
inserted
replaced
|
1 // -*- mode:C++ -*- |
|
2 |
|
3 #ifndef HUGO_INVALID_H |
|
4 #define HUGO_INVALID_H |
|
5 |
|
6 ///\file |
|
7 ///\brief Definition of INVALID. |
|
8 |
|
9 namespace hugo { |
|
10 |
|
11 /// Dummy type to make it easier to make invalid iterators. |
|
12 |
|
13 /// See \ref INVALID, how to use it. |
|
14 |
|
15 struct Invalid {}; |
|
16 |
|
17 /// Invalid iterators. |
|
18 |
|
19 /// \ref Invalid is a global type that converts to each iterator |
|
20 /// in such a way that the value of the target iterator will be invalid. |
|
21 |
|
22 // It is also used to convert the \c INVALID constant to the |
|
23 // node iterator that makes is possible to write |
|
24 |
|
25 //extern Invalid INVALID; |
|
26 |
|
27 //const Invalid &INVALID = *(Invalid *)0; |
|
28 const Invalid INVALID = Invalid(); |
|
29 |
|
30 }; |
|
31 |
|
32 #endif |
|
33 |