Open Model Railroad Network (OpenMRN)
Loading...
Searching...
No Matches
MakeUnique.hxx File Reference

C++11 version of std::make_unique which is only available from c++14 or later. More...

#include <memory>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Functions

template<typename T , typename... Args>
unique_ptr< T > std::make_unique_helper (false_type, Args &&... args)
 
template<typename T , typename... Args>
unique_ptr< T > std::make_unique_helper (true_type, Args &&... args)
 
template<typename T , typename... Args>
unique_ptr< T > std::make_unique (Args &&... args)
 

Detailed Description

C++11 version of std::make_unique which is only available from c++14 or later.

This is based on https://isocpp.org/files/papers/N3656.txt.

The __cplusplus constant reference is from: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n3938.html

Definition in file MakeUnique.hxx.

Function Documentation

◆ make_unique()

template<typename T , typename... Args>
unique_ptr< T > std::make_unique ( Args &&...  args)

Definition at line 42 of file MakeUnique.hxx.

◆ make_unique_helper() [1/2]

template<typename T , typename... Args>
unique_ptr< T > std::make_unique_helper ( false_type  ,
Args &&...  args 
)

Definition at line 26 of file MakeUnique.hxx.

◆ make_unique_helper() [2/2]

template<typename T , typename... Args>
unique_ptr< T > std::make_unique_helper ( true_type  ,
Args &&...  args 
)

Definition at line 32 of file MakeUnique.hxx.