Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-10-18 09:04:35

0001 //
0002 // Copyright (c) 2016-2019 Vinnie Falco (vinnie dot falco at gmail dot com)
0003 //
0004 // Distributed under the Boost Software License, Version 1.0. (See accompanying
0005 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0006 //
0007 // Official repository: https://github.com/boostorg/url
0008 //
0009 
0010 #ifndef BOOST_URL_RFC_ORIGIN_FORM_RULE_HPP
0011 #define BOOST_URL_RFC_ORIGIN_FORM_RULE_HPP
0012 
0013 #include <boost/url/detail/config.hpp>
0014 #include <boost/url/url_view.hpp>
0015 
0016 namespace boost {
0017 namespace urls {
0018 
0019 namespace implementation_defined {
0020 struct origin_form_rule_t
0021 {
0022     using value_type =
0023         url_view;
0024 
0025     BOOST_URL_DECL
0026     system::result<value_type>
0027     parse(
0028         char const*& it,
0029         char const* end
0030             ) const noexcept;
0031 };
0032 }
0033 
0034 /** Rule for origin-form
0035 
0036     This appears in the HTTP/1 request-line grammar.
0037 
0038     @par Value Type
0039     @code
0040     using value_type = url_view;
0041     @endcode
0042 
0043     @par Example
0044     Rules are used with the function @ref grammar::parse.
0045     @code
0046     system::result< url_view > rv = grammar::parse( "/index.htm?layout=mobile", origin_form_rule );
0047     @endcode
0048 
0049     @par BNF
0050     @code
0051     origin-form    = absolute-path [ "?" query ]
0052 
0053     absolute-path = 1*( "/" segment )
0054     @endcode
0055 
0056     @par Specification
0057     @li <a href="https://datatracker.ietf.org/doc/html/rfc7230#section-5.3.1"
0058         >5.3.1.  origin-form (rfc7230)</a>
0059 
0060     @see
0061         @ref grammar::parse,
0062         @ref parse_origin_form,
0063         @ref url_view.
0064 */
0065 BOOST_INLINE_CONSTEXPR implementation_defined::origin_form_rule_t origin_form_rule{};
0066 
0067 } // urls
0068 } // boost
0069 
0070 #endif