src/work/deba/invalid.h
author deba
Thu, 22 Apr 2004 20:36:21 +0000
changeset 378 c3f93631cd24
permissions -rw-r--r--
(none)
     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