#include <iostream>
#include <cstdlib>
#include <vector>
template < class T, class L = size_t >
class Foo
{
public:
Foo(const std::vector<L>& shape, const std::vector<std::vector<T>>& cost )
: shape_(shape), cost_(cost)
{
}
private:
std::vector<L> shape_;
std::vector<std::vector<T> > cost_;
};
int main ()
{
typedef Foo<double, int> MyFoo;
std::vector<int> shape;
std::vector<std::vector<double>> cost(2, std::vector<double> ( 5, 0 ));
MyFoo foo(shape, cost);
return EXIT_SUCCESS;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPHZlY3Rvcj4KCgp0ZW1wbGF0ZSA8IGNsYXNzIFQsIGNsYXNzIEwgPSBzaXplX3QgPgpjbGFzcyBGb28KewpwdWJsaWM6CiAgICBGb28oY29uc3Qgc3RkOjp2ZWN0b3I8TD4mIHNoYXBlLCBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnZlY3RvcjxUPj4mIGNvc3QgKQogICAgICAgIDogc2hhcGVfKHNoYXBlKSwgY29zdF8oY29zdCkKICAgIHsKICAgIH0KCnByaXZhdGU6CiAgICBzdGQ6OnZlY3RvcjxMPiBzaGFwZV87CiAgICBzdGQ6OnZlY3RvcjxzdGQ6OnZlY3RvcjxUPiA+IGNvc3RfOwp9OwoKCgppbnQgbWFpbiAoKQp7CiAgICB0eXBlZGVmIEZvbzxkb3VibGUsIGludD4gTXlGb287CiAgICBzdGQ6OnZlY3RvcjxpbnQ+IHNoYXBlOwogICAgc3RkOjp2ZWN0b3I8c3RkOjp2ZWN0b3I8ZG91YmxlPj4gY29zdCgyLCBzdGQ6OnZlY3Rvcjxkb3VibGU+ICggNSwgMCApKTsKICAgIE15Rm9vIGZvbyhzaGFwZSwgY29zdCk7CiAgICByZXR1cm4gRVhJVF9TVUNDRVNTOwp9