1  
//
1  
//
2  
// Copyright (c) 2022 Dmitry Arkhipov (grisumbras@yandex.ru)
2  
// Copyright (c) 2022 Dmitry Arkhipov (grisumbras@yandex.ru)
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/json
7  
// Official repository: https://github.com/boostorg/json
8  
//
8  
//
9  

9  

10  
#ifndef BOOST_JSON_IMPL_VALUE_HPP
10  
#ifndef BOOST_JSON_IMPL_VALUE_HPP
11  
#define BOOST_JSON_IMPL_VALUE_HPP
11  
#define BOOST_JSON_IMPL_VALUE_HPP
12  

12  

13  
namespace boost {
13  
namespace boost {
14  
namespace json {
14  
namespace json {
15  

15  

16  
value&
16  
value&
17  
value::at_pointer(string_view ptr, source_location const& loc) &
17  
value::at_pointer(string_view ptr, source_location const& loc) &
18  
{
18  
{
19  
    auto const& self = *this;
19  
    auto const& self = *this;
20  
    return const_cast<value&>( self.at_pointer(ptr, loc) );
20  
    return const_cast<value&>( self.at_pointer(ptr, loc) );
21  
}
21  
}
22  

22  

23  
value&&
23  
value&&
24  
value::at_pointer(string_view ptr, source_location const& loc) &&
24  
value::at_pointer(string_view ptr, source_location const& loc) &&
25  
{
25  
{
26  
    return std::move( at_pointer(ptr, loc) );
26  
    return std::move( at_pointer(ptr, loc) );
27  
}
27  
}
28  

28  

29  
} // namespace json
29  
} // namespace json
30  
} // namespace boost
30  
} // namespace boost
31  

31  

32  
#endif // BOOST_JSON_IMPL_VALUE_HPP
32  
#endif // BOOST_JSON_IMPL_VALUE_HPP