COIN-OR::LEMON - Graph Library

source: lemon-0.x/src/lemon/invalid.h @ 1220:20b26ee5812b

Last change on this file since 1220:20b26ee5812b was 1164:80bb73097736, checked in by Alpar Juttner, 19 years ago

A year has passed again.

File size: 1.4 KB
Line 
1/* -*- C++ -*-
2 * src/lemon/invalid.h - Part of LEMON, a generic C++ optimization library
3 *
4 * Copyright (C) 2005 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
5 * (Egervary Combinatorial Optimization Research Group, 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.