• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
16 namespace boost
17 {
18 
19 struct BOOST_SYMBOL_VISIBLE bad_graph : public std::invalid_argument
20 {
bad_graphboost::bad_graph21     bad_graph(const std::string& what_arg) : std::invalid_argument(what_arg) {}
22 };
23 
24 struct BOOST_SYMBOL_VISIBLE not_a_dag : public bad_graph
25 {
not_a_dagboost::not_a_dag26     not_a_dag() : bad_graph("The graph must be a DAG.") {}
27 };
28 
29 struct BOOST_SYMBOL_VISIBLE negative_edge : public bad_graph
30 {
negative_edgeboost::negative_edge31     negative_edge()
32     : bad_graph("The graph may not contain an edge with negative weight.")
33     {
34     }
35 };
36 
37 struct BOOST_SYMBOL_VISIBLE negative_cycle : public bad_graph
38 {
negative_cycleboost::negative_cycle39     negative_cycle() : bad_graph("The graph may not contain negative cycles.")
40     {
41     }
42 };
43 
44 struct BOOST_SYMBOL_VISIBLE not_connected : public bad_graph
45 {
not_connectedboost::not_connected46     not_connected() : bad_graph("The graph must be connected.") {}
47 };
48 
49 struct BOOST_SYMBOL_VISIBLE not_complete : public bad_graph
50 {
not_completeboost::not_complete51     not_complete() : bad_graph("The graph must be complete.") {}
52 };
53 
54 } // namespace boost
55 
56 #endif // BOOST_GRAPH_EXCEPTION_HPP
57