alpar@162: // -*- mode:C++ -*- alpar@162: alpar@162: #ifndef HUGO_INVALID_H alpar@162: #define HUGO_INVALID_H alpar@162: alpar@162: namespace hugo { alpar@162: alpar@162: /// Dummy type to make it easier to make invalid iterators. alpar@162: alpar@162: /// See \ref INVALID, how to use it. alpar@162: alpar@162: struct Invalid {}; alpar@162: alpar@162: /// Invalid iterators. alpar@162: alpar@162: /// \ref Invalid is a global type that converts to each iterator alpar@162: /// in such a way that the value of the target iterator will be invalid. alpar@162: alpar@165: //extern Invalid INVALID; alpar@162: klao@169: //const Invalid &INVALID = *(Invalid *)0; klao@169: const Invalid INVALID = Invalid(); alpar@162: alpar@162: }; alpar@162: alpar@162: #endif alpar@162: