Boost logo

Boost :

Subject: Re: [boost] [Opaque] Request for interest in Opaque typedefs library emulation
From: Fernando Pelliccioni (fpelliccioni_at_[hidden])
Date: 2011-07-21 10:30:19


On Wed, Jul 20, 2011 at 1:36 PM, Vicente Botet <vicente.botet_at_[hidden]>wrote:

>
> Vicente Botet wrote:
> >
> >
> > Fernando Pelliccioni wrote:
> >>
> >> On Thu, May 6, 2010 at 2:07 PM, vicente.botet
> >> &lt;vicente.botet_at_[hidden]&gt;wrote:
> >>
> >> Hi Vicente,
> >>
> >> When I include
> >>
> >> #include &lt;boost/opaque.hpp&gt;
> >>
> >> ... I get compilation errors ...
> >>
> >> I miss something?
> >>
> >
> > Hi,
> >
> > I guess that my last changes on Boost.Conversions are the cause.
> > I forgot to adapt Boost.Opaque to the new interface. I will do it today
> or
> > tomorrow.
> >
> > Thanks for catching it,
> > Vicente
> >
>
> Hi again,
>
> I have removed the dependency on Boost.Conversion temporarily.
>
> svn ci . -m "Opaque: Avoid dependency on Boost.Conversion"
> Sending test/Jamfile.v2
> Sending test/new_class/using_plus_assign_pass.cpp
> Transmitting file data ..
> Committed revision 73258.
>

Hi Vicente,

Can Boost.Opaque supports something like this ... ?

void test_iostream_concept()
{
    typedef ?????????? any_type; //define any_type using boost.opaque with
meta-mixins

    typedef std::vector<any_type> ostr_vec;
    ostr_vec vec;

    io::stream<sink_x> writer1; //boost iostreams
    std::ofstream f1("test.txt");

    vec.push_back( any_type(writer1) );
    vec.push_back( any_type(std::cout) );
    vec.push_back( any_type(f1) );

    ostr_vec::const_iterator it = vec.begin();
    ostr_vec::const_iterator end = vec.end();

    for ( ; it != end; ++it )
    {
        //(*it) << "hello " << "world!"; //(1) compile-time error.
any_type do not support operator<<
    }
}

Thanks and regards,
Fernando.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk