File indexing completed on 2025-01-18 09:53:28
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef BOOST_URL_GRAMMAR_UNSIGNED_RULE_HPP
0012 #define BOOST_URL_GRAMMAR_UNSIGNED_RULE_HPP
0013
0014 #include <boost/url/detail/config.hpp>
0015 #include <boost/url/error_types.hpp>
0016 #include <boost/url/grammar/charset.hpp>
0017 #include <boost/core/detail/string_view.hpp>
0018 #include <boost/static_assert.hpp>
0019 #include <limits>
0020 #include <type_traits>
0021
0022 namespace boost {
0023 namespace urls {
0024 namespace grammar {
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052 #ifdef BOOST_URL_DOCS
0053 template<class Unsigned>
0054 struct unsigned_rule;
0055 #else
0056 template<class Unsigned>
0057 struct unsigned_rule
0058 {
0059 BOOST_STATIC_ASSERT(
0060 std::numeric_limits<
0061 Unsigned>::is_integer &&
0062 ! std::numeric_limits<
0063 Unsigned>::is_signed);
0064
0065 using value_type = Unsigned;
0066
0067 auto
0068 parse(
0069 char const*& it,
0070 char const* end
0071 ) const noexcept ->
0072 system::result<value_type>;
0073 };
0074 #endif
0075
0076 }
0077 }
0078 }
0079
0080 #include <boost/url/grammar/impl/unsigned_rule.hpp>
0081
0082 #endif