#define UNIT e3_index #include #include int &element( std::vector< int > &v, int idx ) { return v[ idx ]; } int element( const std::vector< int > &v, int idx ) { return v[ idx ]; } int &element( std::pair< int, int > &v, int idx ) { return idx == 0 ? v.first : v.second; } int element( const std::pair< int, int > &v, int idx ) { return idx == 0 ? v.first : v.second; } int size( const std::pair< int, int > & ) { return 2; } int size( const std::vector< int > &v ) { return v.size(); } #include "test_main.cpp"