#pragma once namespace std { template struct remove_reference { typedef t type; }; template struct remove_reference { typedef t type; }; template struct remove_reference { typedef t type; }; template using remove_reference_t = typename remove_reference::type; }