You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
75 lines
2.0 KiB
75 lines
2.0 KiB
// |
|
// 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 |
|
|
|
|