template<typename I1, typename I2, typename I3,
typename O1, typename O2>
class BaseTest32
{
public:
BaseTest32(){}
bool run(int first, int last, std::fstream &fout);
virtual void
apply(const I1 &, const I2 &, const I3 &, O1 &, O2&)=0;
virtual const char *getName() const=0;
protected:
void
addCase(const I1 &i1, const I2 &i2, const I3 &i3,
const O1 &o1, const O2 &o2);
private:
std::vector<I1> i1s;
std::vector<I2> i2s;
std::vector<I3> i3s;
std::vector<O1> o1s;
std::vector<O2> o2s;
};