#pragma once #include "type_traits.hpp" // static_cast to rvalue reference #define MOV(...) \ static_cast&&>(__VA_ARGS__) // static_cast to identity // The extra && aren't necessary as discussed above, but make it more robust in case it's used with a non-reference. #define FWD(...) \ static_cast(__VA_ARGS__)