#pragma once namespace utils { template< class T > struct remove_reference {typedef T type;}; template< class T > struct remove_reference {typedef T type;}; template< class T > struct remove_reference {typedef T type;}; template< class T > constexpr typename remove_reference::type&& move( T&& t ) noexcept { return static_cast::type&&>(t); } }