1 #ifndef BOOST_ARCHIVE_XML_ARCHIVE_EXCEPTION_HPP 2 #define BOOST_ARCHIVE_XML_ARCHIVE_EXCEPTION_HPP 3 4 // MS compatible compilers support #pragma once 5 #if defined(_MSC_VER) 6 # pragma once 7 #endif 8 9 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 10 // xml_archive_exception.hpp: 11 12 // (C) Copyright 2007 Robert Ramey - http://www.rrsd.com . 13 // Use, modification and distribution is subject to the Boost Software 14 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 15 // http://www.boost.org/LICENSE_1_0.txt) 16 17 // See http://www.boost.org for updates, documentation, and revision history. 18 19 #include <exception> 20 #include <boost/assert.hpp> 21 22 #include <boost/config.hpp> 23 #include <boost/archive/detail/decl.hpp> 24 #include <boost/archive/archive_exception.hpp> 25 26 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header 27 28 namespace boost { 29 namespace archive { 30 31 ////////////////////////////////////////////////////////////////////// 32 // exceptions thrown by xml archives 33 // 34 class BOOST_SYMBOL_VISIBLE xml_archive_exception : 35 public virtual boost::archive::archive_exception 36 { 37 public: 38 typedef enum { 39 xml_archive_parsing_error, // see save_register 40 xml_archive_tag_mismatch, 41 xml_archive_tag_name_error 42 } exception_code; 43 BOOST_ARCHIVE_DECL xml_archive_exception( 44 exception_code c, 45 const char * e1 = NULL, 46 const char * e2 = NULL 47 ); 48 BOOST_ARCHIVE_DECL xml_archive_exception(xml_archive_exception const &); 49 BOOST_ARCHIVE_DECL ~xml_archive_exception() BOOST_NOEXCEPT_OR_NOTHROW BOOST_OVERRIDE; 50 }; 51 52 }// namespace archive 53 }// namespace boost 54 55 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas 56 57 #endif //BOOST_XML_ARCHIVE_ARCHIVE_EXCEPTION_HPP 58