Warning, file /include/boost/url/rfc/pct_encoded_rule.hpp was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef BOOST_URL_RFC_PCT_ENCODED_RULE_HPP
0011 #define BOOST_URL_RFC_PCT_ENCODED_RULE_HPP
0012
0013 #include <boost/url/detail/config.hpp>
0014 #include <boost/url/error_types.hpp>
0015 #include <boost/url/pct_string_view.hpp>
0016 #include <boost/url/grammar/charset.hpp>
0017
0018 namespace boost {
0019 namespace urls {
0020 namespace implementation_defined {
0021 template<class CharSet>
0022 struct pct_encoded_rule_t
0023 {
0024 using value_type = pct_string_view;
0025
0026 system::result<value_type>
0027 parse(
0028 char const*& it,
0029 char const* end) const noexcept;
0030
0031 constexpr
0032 pct_encoded_rule_t(
0033 CharSet const& cs) noexcept
0034 : cs_(cs)
0035 {
0036 }
0037
0038 private:
0039 CharSet cs_;
0040 };
0041 }
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084 template<BOOST_URL_CONSTRAINT(grammar::CharSet) CS>
0085 constexpr
0086 auto
0087 pct_encoded_rule(CS const& cs) noexcept ->
0088 implementation_defined::pct_encoded_rule_t<CS>
0089 {
0090
0091
0092
0093
0094 static_assert(
0095 grammar::is_charset<CS>::value,
0096 "CharSet requirements not met");
0097
0098 return implementation_defined::pct_encoded_rule_t<CS>(cs);
0099 }
0100
0101 }
0102 }
0103
0104 #include <boost/url/rfc/impl/pct_encoded_rule.hpp>
0105
0106 #endif