base64_exception.hpp

来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 69 行

HPP
69
字号
#ifndef BOOST_ARCHIVE_ITERATORS_BASE64_EXCEPTION_HPP#define BOOST_ARCHIVE_ITERATORS_BASE64_EXCEPTION_HPP// MS compatible compilers support #pragma once#if defined(_MSC_VER) && (_MSC_VER >= 1020)# pragma once#endif/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8// base64_exception.hpp:// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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)//  See http://www.boost.org for updates, documentation, and revision history.#include <boost/config.hpp>#ifndef BOOST_NO_EXCEPTIONS#include <exception>#include <cassert>namespace boost {namespace archive {namespace iterators {//////////////////////////////////////////////////////////////////////// exceptions thrown by base64s//class base64_exception : public std::exception{public:    typedef enum {        invalid_code,       // attempt to encode a value > 6 bits        invalid_character,  // decode a value not in base64 char set        other_exception    } exception_code;    exception_code code;    base64_exception(exception_code c = other_exception) : code(c)    {}    virtual const char *what( ) const throw( )    {        const char *msg = "unknown exception code";        switch(code){        case invalid_code:            msg = "attempt to encode a value > 6 bits";            break;        case invalid_character:            msg = "attempt to decode a value not in base64 char set";            break;        default:            assert(false);            break;        }        return msg;    }};} // namespace iterators} // namespace archive} // namespace boost#endif //BOOST_NO_EXCEPTIONS#endif //BOOST_ARCHIVE_ITERATORS_ARCHIVE_EXCEPTION_HPP

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?