#include <iostream>
#include "vec.hpp"
//=============================================================================
vecUI somefunc(const vecUI& v)
{
//std::cout << "v=" << v << std::endl;
//return v;
vecUI vv(v+v);
std::cout << "vv=" << vv << std::endl;
return vv;
}
//=============================================================================
int main(int argc, char *argv[] )
{
std::cout << "################################################" << std::endl;
std::cout << "% before declare A" << std::endl;
vecUI A(3);
std::cout << "% after declare A" << std::endl;
A.array[0] = 1;
A.array[1] = 2;
A.array[2] = 3;
std::cout << "A=" << A << std::endl;
std::cout << "################################################" << std::endl;
std::cout << "% before declare D" << std::endl;
//vecUI D(A);
//vecUI D( somefunc(A) );
//vecUI D =somefunc(A);
vecUI D(A+A);
std::cout << "% after declare D" << std::endl;
std::cout << "D=" << D << std::endl;
std::cout << "################################################" << std::endl;
std::cout << "% before D=D" << std::endl;
D =D;
std::cout << "% after D=D" << std::endl;
std::cout << "D=" << D << std::endl;
std::cout << "################################################" << std::endl;
std::cout << "% before D=A+D" << std::endl;
D =A+D;
std::cout << "% after D=A+D" << std::endl;
std::cout << "D=" << D << std::endl;
std::cout << "################################################" << std::endl;
std::cout << "% before D=somefunc(D)" << std::endl;
D =somefunc(D);
std::cout << "% after D=somefunc(D)" << std::endl;
std::cout << "D=" << D << std::endl;
std::cout << "################################################" << std::endl;
std::cout << "% before D=somefunc(D+A)" << std::endl;
D =somefunc(D+A);
std::cout << "% after D=somefunc(D+A)" << std::endl;
std::cout << "D=" << D << std::endl;
std::cout << "################################################" << std::endl;
std::cout << "% before A+A" << std::endl;
A+A;
std::cout << "% after A+A" << std::endl;
std::cout << "################################################" << std::endl;
std::cout << "before return" << std::endl;
return 0;
}