Line data Source code
1 : //
2 : // Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
3 : // Copyright (c) 2022 Alan de Freitas (alandefreitas@gmail.com)
4 : //
5 : // Distributed under the Boost Software License, Version 1.0. (See accompanying
6 : // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 : //
8 : // Official repository: https://github.com/boostorg/url
9 : //
10 :
11 :
12 : #include <boost/url/detail/config.hpp>
13 : #include <boost/url/detail/segments_range.hpp>
14 : #include <boost/url/segments_encoded_view.hpp>
15 : #include <boost/url/parse_path.hpp>
16 :
17 : namespace boost {
18 : namespace urls {
19 :
20 1 : segments_encoded_view::
21 : segments_encoded_view() noexcept = default;
22 :
23 898 : segments_encoded_view::
24 : segments_encoded_view(
25 898 : detail::path_ref const& ref) noexcept
26 898 : : segments_encoded_base(ref)
27 : {
28 898 : }
29 :
30 106 : segments_encoded_view::
31 : segments_encoded_view(
32 106 : core::string_view s)
33 : : segments_encoded_view(
34 106 : parse_path(s).value(
35 6 : BOOST_URL_POS))
36 : {
37 100 : }
38 :
39 3 : segments_encoded_view::
40 3 : segments_encoded_view(iterator first, iterator last) noexcept
41 3 : : segments_encoded_base(detail::make_subref(first, last))
42 : {
43 3 : }
44 :
45 56 : segments_encoded_view::
46 : operator
47 : segments_view() const noexcept
48 : {
49 56 : return { ref_ };
50 : }
51 :
52 : } // urls
53 : } // boost
54 :
|