Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:53:26

0001 //
0002 // Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.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_DETAIL_PARTS_BASE_HPP
0011 #define BOOST_URL_DETAIL_PARTS_BASE_HPP
0012 
0013 #include <boost/url/error.hpp>
0014 
0015 namespace boost {
0016 namespace urls {
0017 namespace detail {
0018 
0019 // mix-in to provide part
0020 // constants and variables
0021 struct parts_base
0022 {
0023     enum
0024     {
0025         id_scheme = -1, // trailing ':'
0026         id_user,        // leading "//"
0027         id_pass,        // leading ':', trailing '@'
0028         id_host,
0029         id_port,        // leading ':'
0030         id_path,
0031         id_query,       // leading '?'
0032         id_frag,        // leading '#'
0033         id_end          // one past the end
0034     };
0035 
0036     enum class from : char {
0037         // this belongs to a string
0038         string = 0,
0039         // this belongs to url_base
0040         // segments/params containers point to
0041         // another url
0042         url = 1,
0043         // this belongs to authority_view
0044         // id_user does not have the leading "//"
0045         authority = 2,
0046     };
0047 };
0048 
0049 } // detail
0050 } // urls
0051 } // boost
0052 
0053 #endif