101 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /*
 | |
|  *
 | |
|  * Copyright (c) 1998-2002
 | |
|  * John Maddock
 | |
|  *
 | |
|  * Use, modification and distribution are 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)
 | |
|  *
 | |
|  */
 | |
|  
 | |
|  /*
 | |
|   *   LOCATION:    see http://www.boost.org for most recent version.
 | |
|   *   FILE         pattern_except.hpp
 | |
|   *   VERSION      see <boost/version.hpp>
 | |
|   *   DESCRIPTION: Declares pattern-matching exception classes.
 | |
|   */
 | |
| 
 | |
| #ifndef BOOST_RE_PAT_EXCEPT_HPP
 | |
| #define BOOST_RE_PAT_EXCEPT_HPP
 | |
| 
 | |
| #ifndef BOOST_REGEX_CONFIG_HPP
 | |
| #include <boost/regex/config.hpp>
 | |
| #endif
 | |
| 
 | |
| #include <stdexcept>
 | |
| #include <cstddef>
 | |
| #include <boost/regex/v4/error_type.hpp>
 | |
| 
 | |
| namespace boost{
 | |
| 
 | |
| #ifdef BOOST_MSVC
 | |
| #pragma warning(push)
 | |
| #pragma warning(disable: 4103)
 | |
| #endif
 | |
| #ifdef BOOST_HAS_ABI_HEADERS
 | |
| #  include BOOST_ABI_PREFIX
 | |
| #endif
 | |
| #ifdef BOOST_MSVC
 | |
| #pragma warning(pop)
 | |
| #endif
 | |
| 
 | |
| #ifdef BOOST_MSVC
 | |
| #pragma warning(push)
 | |
| #pragma warning(disable : 4275)
 | |
| #endif
 | |
| class BOOST_REGEX_DECL regex_error : public std::runtime_error
 | |
| {
 | |
| public:
 | |
|    explicit regex_error(const std::string& s, regex_constants::error_type err = regex_constants::error_unknown, std::ptrdiff_t pos = 0);
 | |
|    explicit regex_error(regex_constants::error_type err);
 | |
|    ~regex_error() throw();
 | |
|    regex_constants::error_type code()const
 | |
|    { return m_error_code; }
 | |
|    std::ptrdiff_t position()const
 | |
|    { return m_position; }
 | |
|    void raise()const;
 | |
| private:
 | |
|    regex_constants::error_type m_error_code;
 | |
|    std::ptrdiff_t m_position;
 | |
| };
 | |
| 
 | |
| typedef regex_error bad_pattern;
 | |
| typedef regex_error bad_expression;
 | |
| 
 | |
| namespace BOOST_REGEX_DETAIL_NS{
 | |
| 
 | |
| BOOST_REGEX_DECL void BOOST_REGEX_CALL raise_runtime_error(const std::runtime_error& ex);
 | |
| 
 | |
| template <class traits>
 | |
| void raise_error(const traits& t, regex_constants::error_type code)
 | |
| {
 | |
|    (void)t;  // warning suppression
 | |
|    std::runtime_error e(t.error_string(code));
 | |
|    ::boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(e);
 | |
| }
 | |
| 
 | |
| }
 | |
| 
 | |
| #ifdef BOOST_MSVC
 | |
| #pragma warning(pop)
 | |
| #endif
 | |
| 
 | |
| #ifdef BOOST_MSVC
 | |
| #pragma warning(push)
 | |
| #pragma warning(disable: 4103)
 | |
| #endif
 | |
| #ifdef BOOST_HAS_ABI_HEADERS
 | |
| #  include BOOST_ABI_SUFFIX
 | |
| #endif
 | |
| #ifdef BOOST_MSVC
 | |
| #pragma warning(pop)
 | |
| #endif
 | |
| 
 | |
| } // namespace boost
 | |
| 
 | |
| #endif
 | |
| 
 | |
| 
 | |
| 
 | 
