| //======================================================================= |
| // Copyright 2002 Indiana University. |
| // Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek |
| // |
| // Distributed under the Boost Software License, Version 1.0. (See |
| // accompanying file LICENSE_1_0.txt or copy at |
| // http://www.boost.org/LICENSE_1_0.txt) |
| //======================================================================= |
| |
| #ifndef BOOST_GRAPH_EXCEPTION_HPP |
| #define BOOST_GRAPH_EXCEPTION_HPP |
| |
| #include <stdexcept> |
| #include <string> |
| |
| namespace boost { |
| |
| struct bad_graph : public std::invalid_argument { |
| bad_graph(const std::string& what_arg) |
| : std::invalid_argument(what_arg) { } |
| }; |
| |
| struct not_a_dag : public bad_graph { |
| not_a_dag() |
| : bad_graph("The graph must be a DAG.") |
| { } |
| }; |
| |
| struct negative_edge : public bad_graph { |
| negative_edge() |
| : bad_graph("The graph may not contain an edge with negative weight.") |
| { } |
| }; |
| |
| struct negative_cycle : public bad_graph { |
| negative_cycle() |
| : bad_graph("The graph may not contain negative cycles.") |
| { } |
| }; |
| |
| struct not_connected : public bad_graph { |
| not_connected() |
| : bad_graph("The graph must be connected.") |
| { } |
| }; |
| |
| struct not_complete : public bad_graph { |
| not_complete() |
| : bad_graph("The graph must be complete.") |
| { } |
| }; |
| |
| } // namespace boost |
| |
| #endif // BOOST_GRAPH_EXCEPTION_HPP |