template<int, class T>
class Vector{};
template<class V>
class Integrator
{};
template<class T>
class SecondOrderODE
{};
template<class T, class V = Vector<2, T>>
class IntegratorSymplecticEuler : Integrator<V>
{
public:
IntegratorSymplecticEuler(SecondOrderODE<T> *ode, double t, double h, V* y) {}
};
int main()
{
IntegratorSymplecticEuler<double> ise(nullptr, 0.0, 0.0, nullptr);
return 0;
}
dGVtcGxhdGU8aW50LCBjbGFzcyBUPgpjbGFzcyBWZWN0b3J7fTsKCnRlbXBsYXRlPGNsYXNzIFY+CmNsYXNzIEludGVncmF0b3IKe307Cgp0ZW1wbGF0ZTxjbGFzcyBUPgpjbGFzcyBTZWNvbmRPcmRlck9ERQp7fTsKCnRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFYgPSBWZWN0b3I8MiwgVD4+CmNsYXNzIEludGVncmF0b3JTeW1wbGVjdGljRXVsZXIgOiBJbnRlZ3JhdG9yPFY+CnsKcHVibGljOgogICAgSW50ZWdyYXRvclN5bXBsZWN0aWNFdWxlcihTZWNvbmRPcmRlck9ERTxUPiAqb2RlLCBkb3VibGUgdCwgZG91YmxlIGgsIFYqIHkpIHt9Cn07CgppbnQgbWFpbigpCnsKCUludGVncmF0b3JTeW1wbGVjdGljRXVsZXI8ZG91YmxlPiBpc2UobnVsbHB0ciwgMC4wLCAwLjAsIG51bGxwdHIpOwoJcmV0dXJuIDA7Cn0=