COIN-OR::LEMON - Graph Library

source: lemon-0.x/lemon/invalid.h @ 1622:9c98841eda96

Last change on this file since 1622:9c98841eda96 was 1435:8e85e6bbefdf, checked in by Akos Ladanyi, 15 years ago

trunk/src/* move to trunk/

File size: 1.4 KB
Line 
1/* -*- C++ -*-
2 * lemon/invalid.h - Part of LEMON, a generic C++ optimization library
3 *
4 * Copyright (C) 2005 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
5 * (Egervary Research Group on Combinatorial Optimization, EGRES).
6 *
7 * Permission to use, modify and distribute this software is granted
8 * provided that this copyright notice appears in all copies. For
9 * precise terms see the accompanying LICENSE file.
10 *
11 * This software is provided "AS IS" with no warranty of any kind,
12 * express or implied, and with no claim as to its suitability for any
13 * purpose.
14 *
15 */
16
17#ifndef LEMON_INVALID_H
18#define LEMON_INVALID_H
19
20///\file
21///\brief Definition of INVALID.
22
23namespace lemon {
24
25  /// Dummy type to make it easier to make invalid iterators.
26 
27  /// See \ref INVALID, how to use it.
28 
29  struct Invalid {
30  public:
31    bool operator==(Invalid) { return true;  }
32    bool operator!=(Invalid) { return false; }
33    bool operator< (Invalid) { return false; }
34  };
35 
36  /// Invalid iterators.
37 
38  /// \ref Invalid is a global type that converts to each iterator
39  /// in such a way that the value of the target iterator will be invalid.
40
41  // It is also used to convert the \c INVALID constant to the
42  // node iterator that makes is possible to write
43
44  //extern Invalid INVALID;
45
46  //const Invalid &INVALID = *(Invalid *)0;
47  const Invalid INVALID = Invalid();
48
49} //namespace lemon
50
51#endif
52 
Note: See TracBrowser for help on using the repository browser.