PageRenderTime 20ms CodeModel.GetById 16ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/graph/exception.hpp

http://hadesmem.googlecode.com/
C++ Header | 55 lines | 36 code | 11 blank | 8 comment | 0 complexity | 50fb4bd97b5010592146c3b89c3ae928 MD5 | raw file
 1//=======================================================================
 2// Copyright 2002 Indiana University.
 3// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
 4//
 5// Distributed under the Boost Software License, Version 1.0. (See
 6// accompanying file LICENSE_1_0.txt or copy at
 7// http://www.boost.org/LICENSE_1_0.txt)
 8//=======================================================================
 9
10#ifndef BOOST_GRAPH_EXCEPTION_HPP
11#define BOOST_GRAPH_EXCEPTION_HPP
12
13#include <stdexcept>
14#include <string>
15
16namespace boost {
17
18    struct bad_graph : public std::invalid_argument {
19        bad_graph(const std::string& what_arg)
20            : std::invalid_argument(what_arg) { }
21    };
22
23    struct not_a_dag : public bad_graph {
24        not_a_dag()
25            : bad_graph("The graph must be a DAG.")
26        { }
27    };
28
29    struct negative_edge : public bad_graph {
30        negative_edge()
31            : bad_graph("The graph may not contain an edge with negative weight.")
32        { }
33    };
34
35    struct negative_cycle : public bad_graph {
36        negative_cycle()
37            : bad_graph("The graph may not contain negative cycles.")
38        { }
39    };
40
41    struct not_connected : public bad_graph {
42        not_connected()
43            : bad_graph("The graph must be connected.")
44        { }
45    };
46
47   struct not_complete : public bad_graph {
48       not_complete()
49           : bad_graph("The graph must be complete.")
50       { }
51   };
52
53} // namespace boost
54
55#endif // BOOST_GRAPH_EXCEPTION_HPP