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 };
49 
50 }// namespace archive
51 }// namespace boost
52 
53 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
54 
55 #endif //BOOST_XML_ARCHIVE_ARCHIVE_EXCEPTION_HPP
56