COIN-OR::LEMON - Graph Library

source: lemon-0.x/src/hugo/invalid.h @ 919:6153d9cf78c6

Last change on this file since 919:6153d9cf78c6 was 906:17f31d280385, checked in by Alpar Juttner, 20 years ago

Copyright header added.

File size: 1.4 KB
Line 
1/* -*- C++ -*-
2 * src/hugo/invalid.h - Part of HUGOlib, a generic C++ optimization library
3 *
4 * Copyright (C) 2004 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 HUGO_INVALID_H
18#define HUGO_INVALID_H
19
20///\file
21///\brief Definition of INVALID.
22
23namespace hugo {
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 hugo
50
51#endif
52 
Note: See TracBrowser for help on using the repository browser.