update boost
This commit is contained in:
130
linx64/include/boost/url/grammar/error.hpp
Normal file
130
linx64/include/boost/url/grammar/error.hpp
Normal file
@@ -0,0 +1,130 @@
|
||||
//
|
||||
// Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
|
||||
//
|
||||
// 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)
|
||||
//
|
||||
// Official repository: https://github.com/boostorg/url
|
||||
//
|
||||
|
||||
#ifndef BOOST_URL_GRAMMAR_ERROR_HPP
|
||||
#define BOOST_URL_GRAMMAR_ERROR_HPP
|
||||
|
||||
#include <boost/url/detail/config.hpp>
|
||||
#include <boost/url/error_types.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace urls {
|
||||
namespace grammar {
|
||||
|
||||
/** Error codes returned when using rules
|
||||
|
||||
@see
|
||||
@ref condition,
|
||||
@ref parse.
|
||||
*/
|
||||
enum class error
|
||||
{
|
||||
// VFALCO 3 space indent or
|
||||
// else Doxygen malfunctions
|
||||
|
||||
//
|
||||
// (informational)
|
||||
//
|
||||
|
||||
/**
|
||||
* More input is needed to match the rule
|
||||
*
|
||||
* A rule reached the end of the input,
|
||||
* resulting in a partial match. The error
|
||||
* is recoverable; the caller may obtain
|
||||
* more input if possible and attempt to
|
||||
* parse the character buffer again.
|
||||
* Custom rules should only return this
|
||||
* error if it is completely unambiguous
|
||||
* that the rule cannot be matched without
|
||||
* more input.
|
||||
*/
|
||||
need_more = 1,
|
||||
|
||||
/**
|
||||
* The rule did not match the input.
|
||||
*
|
||||
* This error is returned when a rule fails
|
||||
* to match the input. The error is recoverable;
|
||||
* the caller may rewind the input pointer and
|
||||
* attempt to parse again using a different rule.
|
||||
*/
|
||||
mismatch,
|
||||
|
||||
/**
|
||||
* A rule reached the end of a range
|
||||
*
|
||||
* This indicates that the input was consumed
|
||||
* when parsing a @ref range. The @ref range_rule
|
||||
* avoids rewinding the input buffer when
|
||||
* this error is returned. Thus the consumed
|
||||
* characters are be considered part of the
|
||||
* range without contributing additional
|
||||
* elements.
|
||||
*/
|
||||
end_of_range,
|
||||
|
||||
/**
|
||||
* Leftover input remaining after match.
|
||||
*/
|
||||
leftover,
|
||||
|
||||
//--------------------------------------------
|
||||
//
|
||||
// condition::fatal
|
||||
//
|
||||
//--------------------------------------------
|
||||
|
||||
/**
|
||||
* A rule encountered unrecoverable invalid input.
|
||||
*
|
||||
* This error is returned when input is matching
|
||||
* but one of the requirements is violated. For
|
||||
* example if a percent escape is found, but
|
||||
* one or both characters that follow are not
|
||||
* valid hexadecimal digits. This is usually an
|
||||
* unrecoverable error.
|
||||
*/
|
||||
invalid,
|
||||
|
||||
/** An integer overflowed during parsing.
|
||||
*/
|
||||
out_of_range,
|
||||
|
||||
/**
|
||||
* An unspecified syntax error was found.
|
||||
*/
|
||||
syntax
|
||||
};
|
||||
|
||||
//------------------------------------------------
|
||||
|
||||
/** Error conditions for errors received from rules
|
||||
|
||||
@see
|
||||
@ref error,
|
||||
@ref parse.
|
||||
*/
|
||||
enum class condition
|
||||
{
|
||||
/**
|
||||
* A fatal error in syntax was encountered.
|
||||
|
||||
This indicates that parsing cannot continue.
|
||||
*/
|
||||
fatal = 1
|
||||
};
|
||||
|
||||
} // grammar
|
||||
} // urls
|
||||
} // boost
|
||||
|
||||
#include <boost/url/grammar/impl/error.hpp>
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user