ionSmartPointer.h
Go to the documentation of this file.
1 
9 #pragma once
10 
11 #include "ionTypes.h"
12 
13 #include <memory>
14 
15 
16 namespace ion
17 {
18 
20  template <typename T>
21  using UniquePointer = std::unique_ptr<T>;
22 
24  template <typename T>
25  using SharedPointer = std::shared_ptr<T>;
26 
28  template <typename T>
29  using WeakPointer = std::weak_ptr<T>;
30 
32  template <typename T, typename... Args>
33  static SharedPointer<T> MakeShared(Args&&... args)
34  {
35  return std::make_shared<T, Args...>(args...);
36  }
37 
38 }
std::unique_ptr< T > UniquePointer
Definition: ionSmartPointer.h:21
Definition: CCatmullRomAdvancedSplineInterpolator.h:7
Defines typedefs for integer and floating point types.
std::weak_ptr< T > WeakPointer
Definition: ionSmartPointer.h:29
std::shared_ptr< T > SharedPointer
Definition: ionSmartPointer.h:25