All pastes #232809 Raw Edit

cromo

public text v1 · immutable
·published 2006-11-01 15:46 UTC
rendered paste body
template<typename T, int>
struct overload
{
        operator T&()
        {
                return t;
        }

        operator const T&() const
        {
                return t;
        }
        T t;
};


std::istream & operator >> (std::istream & is, overload<index_v,1> & v)
{
}

std::istream & operator >> (std::istream & is, overload<index_v,2>  & v)
{
}

std::istream & operator >> (std::istream & is, overload<index_v,3>  & v)
{
}




and an example of use:


        compare(is,"[KONEKSJE]",name+".msh",0);
                transform_n(std::istream_iterator<overload<index_v,1> >(is),elements_q,back_inserter(connection_v),index2iter<std::vector<node>, n_iter_v>(&node_v));

        compare(is,"[BRZEGI]",name+".msh",0);
                transform_n(std::istream_iterator<overload<index_v,2> >(is),edge_q,back_inserter(edge_v),index2iter<std::vector<node>, n_iter_v>(&node_v));

        compare(is,"[OBSZARY]",name+".msh",0);
                transform_n(std::istream_iterator<overload<index_v,3> >(is),area_q,back_inserter(area_v),index2iter<std::vector<n_iter_v>, c_iter_v>(&edge_v));