COIN-OR::LEMON - Graph Library

source: lemon/lemon/bits/invalid.h @ 39:0a01d811071f

Last change on this file since 39:0a01d811071f was 39:0a01d811071f, checked in by Alpar Juttner <alpar@…>, 12 years ago

Happy New Year (update the copyright headers)

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