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
56

source code of boost/boost/graph/exception.hpp