Loading [MathJax]/extensions/TeX/AMSmath.js
Radium Engine  1.5.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
MakeShared.hpp
1 #pragma once
2 
3 #include <memory>
4 
5 namespace Ra {
6 namespace Core {
7 
16 template <typename T, class... Args>
17 inline std::shared_ptr<T> make_shared( Args&&... args ) {
18 #if 0 // use std::make_shared
19 
20  return std::make_shared<T>(args...);
21 
22 #else // use new and shared_ptr constructor.
23 
24  return std::shared_ptr<T>( new T( std::forward<Args>( args )... ) );
25 
26 #endif
27 }
28 } // namespace Core
29 } // namespace Ra
Definition: Cage.cpp:3