]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/locale/encoding_errors.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / locale / encoding_errors.hpp
1 //
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
3 //
4 // Distributed under the Boost Software License, Version 1.0. (See
5 // accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
7 //
8 #ifndef BOOST_LOCALE_ENCODING_ERRORS_HPP_INCLUDED
9 #define BOOST_LOCALE_ENCODING_ERRORS_HPP_INCLUDED
10
11 #include <boost/locale/definitions.hpp>
12 #ifdef BOOST_MSVC
13 # pragma warning(push)
14 # pragma warning(disable : 4275 4251 4231 4660)
15 #endif
16 #include <stdexcept>
17
18
19
20 namespace boost {
21 namespace locale {
22 namespace conv {
23 ///
24 /// \addtogroup codepage
25 ///
26 /// @{
27
28 ///
29 /// \brief The excepton that is thrown in case of conversion error
30 ///
31 class BOOST_SYMBOL_VISIBLE conversion_error : public std::runtime_error {
32 public:
33 conversion_error() : std::runtime_error("Conversion failed") {}
34 };
35
36 ///
37 /// \brief This exception is thrown in case of use of unsupported
38 /// or invalid character set
39 ///
40 class BOOST_SYMBOL_VISIBLE invalid_charset_error : public std::runtime_error {
41 public:
42
43 /// Create an error for charset \a charset
44 invalid_charset_error(std::string charset) :
45 std::runtime_error("Invalid or unsupported charset:" + charset)
46 {
47 }
48 };
49
50
51 ///
52 /// enum that defines conversion policy
53 ///
54 typedef enum {
55 skip = 0, ///< Skip illegal/unconvertable characters
56 stop = 1, ///< Stop conversion and throw conversion_error
57 default_method = skip ///< Default method - skip
58 } method_type;
59
60
61 /// @}
62
63 } // conv
64
65 } // locale
66 } // boost
67
68 #ifdef BOOST_MSVC
69 #pragma warning(pop)
70 #endif
71
72 #endif
73
74 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
75