Line data Source code
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 BOOST_SYMBOL_VISIBLE bad_visit 27 : : std::exception 28 : { 29 : public: // std::exception interface 30 : 31 0 : virtual const char * what() const BOOST_NOEXCEPT_OR_NOTHROW 32 : { 33 0 : return "boost::bad_visit: " 34 0 : "failed visitation using boost::apply_visitor"; 35 : } 36 : 37 : }; 38 : 39 : } // namespace boost 40 : 41 : #endif // BOOST_VARIANT_BAD_VISIT_HPP