#pragma once namespace glcr { template struct RemoveReference { typedef T type; }; template struct RemoveReference { typedef T type; }; template struct RemoveReference { typedef T type; }; template typename RemoveReference::type&& Move(T&& arg) { return static_cast::type&&>(arg); } } // namespace glcr