#include <iostream>
#include <type_traits>
using namespace std;
// Declaration in the .h file
class MyClass
{
public:
template <class T> void function(T&& x) noexcept(std::is_nothrow_constructible<T>::value);
};
// Definition in the .cpp file
template <class T> void MyClass::function(T&& x) noexcept(std::is_nothrow_constructible<T>::value)
{}
int main() {
MyClass x;
x.function(0);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZV90cmFpdHM+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyBEZWNsYXJhdGlvbiBpbiB0aGUgLmggZmlsZQpjbGFzcyBNeUNsYXNzCnsKCXB1YmxpYzoKICAgIHRlbXBsYXRlIDxjbGFzcyBUPiB2b2lkIGZ1bmN0aW9uKFQmJiB4KSBub2V4Y2VwdChzdGQ6OmlzX25vdGhyb3dfY29uc3RydWN0aWJsZTxUPjo6dmFsdWUpOwp9OwoKLy8gRGVmaW5pdGlvbiBpbiB0aGUgLmNwcCBmaWxlCnRlbXBsYXRlIDxjbGFzcyBUPiB2b2lkIE15Q2xhc3M6OmZ1bmN0aW9uKFQmJiB4KSBub2V4Y2VwdChzdGQ6OmlzX25vdGhyb3dfY29uc3RydWN0aWJsZTxUPjo6dmFsdWUpCnt9CgppbnQgbWFpbigpIHsKCU15Q2xhc3MgeDsKCXguZnVuY3Rpb24oMCk7CglyZXR1cm4gMDsKfQ==