#pragma once #ifdef new #undef new #endif #include using std::unique_ptr; /// @todo(y): replace this hand-written helper function by /// std::make_unique when it will be available in C++14 template unique_ptr make_unique(Args &&... args) { return unique_ptr(new T(std::forward(args)...)); } #ifdef DEBUG_NEW #define new DEBUG_NEW #endif