1 //----------------------------------------------------------------------------- 2 // boost variant/bad_visit.hpp header file 3 // See http://www.boost.org for updates, documentation, and revision history. 4 //----------------------------------------------------------------------------- 5 // 6 // Copyright (c) 2002-2003 7 // Eric Friedman 8 // 9 // Distributed under the Boost Software License, Version 1.0. (See 10 // accompanying file LICENSE_1_0.txt or copy at 11 // http://www.boost.org/LICENSE_1_0.txt) 12 13 #ifndef BOOST_VARIANT_BAD_VISIT_HPP 14 #define BOOST_VARIANT_BAD_VISIT_HPP 15 16 #include <exception> 17 18 namespace boost { 19 20 ////////////////////////////////////////////////////////////////////////// 21 // class bad_visit 22 // 23 // Exception thrown when a visitation attempt via apply_visitor fails due 24 // to invalid visited subtype or contents. 25 // 26 struct bad_visit 27 : std::exception 28 { 29 public: // std::exception interface 30 whatboost::bad_visit31 virtual const char * what() const BOOST_NOEXCEPT_OR_NOTHROW 32 { 33 return "boost::bad_visit: " 34 "failed visitation using boost::apply_visitor"; 35 } 36 37 }; 38 39 } // namespace boost 40 41 #endif // BOOST_VARIANT_BAD_VISIT_HPP 42