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_view.hpp>
15 : #include <boost/url/parse_path.hpp>
16 :
17 : namespace boost {
18 : namespace urls {
19 :
20 1 : segments_view::
21 : segments_view() noexcept = default;
22 :
23 117 : segments_view::
24 : segments_view(
25 117 : detail::path_ref const& ref) noexcept
26 117 : : segments_base(ref)
27 : {
28 117 : }
29 :
30 19 : segments_view::
31 : segments_view(
32 19 : core::string_view s)
33 : : segments_base(
34 25 : parse_path(s).value(
35 19 : BOOST_URL_POS))
36 : {
37 13 : }
38 :
39 20 : segments_view::
40 20 : segments_view(iterator first, iterator last) noexcept
41 20 : : segments_base(detail::make_subref(first, last))
42 : {
43 20 : }
44 :
45 : } // urls
46 : } // boost
47 :
|