Boost logo

Boost Users :

From: chun ping wang (cablepuff_at_[hidden])
Date: 2006-04-14 13:35:09


For some reason this thing don't work. I want to print a container of
container.....

#ifndef ARRAY_OPERATION_HPP
#define ARRAY_OPERATION_HPP
#include <iostream>
#include <boost/lambda/lambda.hpp>

template <typename T,
         template <
                  typename ELEM,
                  typename = std::allocator<ELEM>
>
         class CONT
>
void print_array(const CONT<T>& array)
{
     using namespace boost::lambda;
     std::for_each(array.begin(), array.end(), std::cout << _1 << " ");
}

template <typename T,
         template <
                  typename ELEM,
                  typename = std::allocator<ELEM>
>
         class CONT
>
void print_2darray (const CONT<CONT<T> >& array)
{
     using namespace boost::lambda;
        CONT<T> temp;
        std::for_each(array.begin(), array.end(),
              bind<T, CONT>(print_array<T, CONT>(), _1)
        );
}

#endif /* ARRAY_OPERATION_HPP */

if i have std::list<std::list<double> > lOflDouble

// insert some value in here.

print_2darray<double>(lOflDouble);

/*
30 C:\cs classes\cs540\c++\ContainerOperation.hpp no matching function for
call to `print_array()'
*/

On 4/14/06, David Abrahams <dave_at_[hidden]> wrote:
>
> "chun ping wang" <cablepuff_at_[hidden]> writes:
>
> > Heres a simple question, that i want to do.
> >
> > Lets say you have a function call void f(double);
> >
> > and then you want to apply f to each argument inside vector<double> a;
> >
> > for_each(a.begin(), a.end(), f(_1));
> >
> > // the example above isn't possible..is there a simple way to do
> > this?
>
> for_each(a.begin(), a.end(), bind(f, _1));
>
> HTH,
>
> --
> Dave Abrahams
> Boost Consulting
> www.boost-consulting.com
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net