1  
//
1  
//
2  
// Copyright (c) 2022 Alan de Freitas (alandefreitas@gmail.com)
2  
// Copyright (c) 2022 Alan de Freitas (alandefreitas@gmail.com)
3  
//
3  
//
4  
// Distributed under the Boost Software License, Version 1.0. (See accompanying
4  
// Distributed under the Boost Software License, Version 1.0. (See accompanying
5  
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5  
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6  
//
6  
//
7  
// Official repository: https://github.com/boostorg/url
7  
// Official repository: https://github.com/boostorg/url
8  
//
8  
//
9  

9  

10  
#ifndef BOOST_URL_DETAIL_FORMAT_HPP
10  
#ifndef BOOST_URL_DETAIL_FORMAT_HPP
11  
#define BOOST_URL_DETAIL_FORMAT_HPP
11  
#define BOOST_URL_DETAIL_FORMAT_HPP
12  

12  

13  
#include <boost/url/detail/format_args.hpp>
13  
#include <boost/url/detail/format_args.hpp>
14  
#include <boost/core/detail/string_view.hpp>
14  
#include <boost/core/detail/string_view.hpp>
15  
#include <boost/url/url.hpp>
15  
#include <boost/url/url.hpp>
16  

16  

17  
namespace boost {
17  
namespace boost {
18  
namespace urls {
18  
namespace urls {
19  
namespace detail {
19  
namespace detail {
20  

20  

21  
BOOST_URL_DECL
21  
BOOST_URL_DECL
22  
void
22  
void
23  
vformat_to(
23  
vformat_to(
24  
    url_base& u,
24  
    url_base& u,
25  
    core::string_view fmt,
25  
    core::string_view fmt,
26  
    format_args args);
26  
    format_args args);
27  

27  

28  
inline
28  
inline
29  
url
29  
url
30  
vformat(
30  
vformat(
31  
    core::string_view fmt,
31  
    core::string_view fmt,
32  
    format_args args)
32  
    format_args args)
33  
{
33  
{
34  
    url u;
34  
    url u;
35  
    vformat_to(u, fmt, args);
35  
    vformat_to(u, fmt, args);
36  
    return u;
36  
    return u;
37  
}
37  
}
38  

38  

39  
} // detail
39  
} // detail
40  
} // url
40  
} // url
41  
} // boost
41  
} // boost
42  

42  

43  
#endif
43  
#endif