123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- //
- // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
- //
- // Distributed under the Boost Software License, Version 1.0. (See
- // accompanying file LICENSE_1_0.txt or copy at
- // http://www.boost.org/LICENSE_1_0.txt)
- //
- #ifndef BOOST_LOCALE_ENCODING_ERRORS_HPP_INCLUDED
- #define BOOST_LOCALE_ENCODING_ERRORS_HPP_INCLUDED
- #include <boost/locale/definitions.hpp>
- #ifdef BOOST_MSVC
- # pragma warning(push)
- # pragma warning(disable : 4275 4251 4231 4660)
- #endif
- #include <stdexcept>
- namespace boost {
- namespace locale {
- namespace conv {
- ///
- /// \addtogroup codepage
- ///
- /// @{
- ///
- /// \brief The excepton that is thrown in case of conversion error
- ///
- class BOOST_SYMBOL_VISIBLE conversion_error : public std::runtime_error {
- public:
- conversion_error() : std::runtime_error("Conversion failed") {}
- };
-
- ///
- /// \brief This exception is thrown in case of use of unsupported
- /// or invalid character set
- ///
- class BOOST_SYMBOL_VISIBLE invalid_charset_error : public std::runtime_error {
- public:
- /// Create an error for charset \a charset
- invalid_charset_error(std::string charset) :
- std::runtime_error("Invalid or unsupported charset:" + charset)
- {
- }
- };
-
- ///
- /// enum that defines conversion policy
- ///
- typedef enum {
- skip = 0, ///< Skip illegal/unconvertable characters
- stop = 1, ///< Stop conversion and throw conversion_error
- default_method = skip ///< Default method - skip
- } method_type;
- /// @}
- } // conv
- } // locale
- } // boost
- #ifdef BOOST_MSVC
- #pragma warning(pop)
- #endif
- #endif
- // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
|