userver: userver/utils/make_intrusive_ptr.hpp Source File
Loading...
Searching...
No Matches
make_intrusive_ptr.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/utils/make_intrusive_ptr.hpp
4/// @brief @copybrief utils::make_intrusive_ptr
5/// @ingroup userver_universal
6
7#include <memory>
8
9#include <boost/intrusive_ptr.hpp>
10
11USERVER_NAMESPACE_BEGIN
12
13namespace utils {
14
15/// @brief Factory function for boost::intrusive_ptr, like std::make_unique
16template <class Target, class... Args>
17boost::intrusive_ptr<Target> make_intrusive_ptr(Args&&... args) {
18 auto ret = std::make_unique<Target>(std::forward<Args>(args)...);
19 return ret.release();
20}
21
22} // namespace utils
23
24USERVER_NAMESPACE_END