Boost logo

Boost :

Subject: Re: [boost] [Boost-users] [boost-users][ICL] ICL Compilation errors. Ticket #5207
From: Joachim Faulhaber (afojgo_at_[hidden])
Date: 2011-02-24 06:51:28


(3) More compilability issues

2011/2/23 John Reid <j.reid_at_[hidden]>:
> I'm interested to hear reasons why the following don't compile when using
> static bounds:
>
> icl::add( icl::interval_set< int >(), 0 );
> icl::add( icl::interval_set< int >(), icl::interval< int >::type( 0, 1 ) );
> icl::interval_set< int >() += 0;
> icl::interval_set< int >() += icl::interval< int >::type( 0, 1 );
>
> icl::subtract( icl::interval_set< int >(), 0 );
> icl::subtract( icl::interval_set< int >(), icl::interval< int >::type( 0, 1
> ) );
> icl::interval_set< int >() -= 0;
> icl::interval_set< int >() -= icl::interval< int >::type( 0, 1 );
>
> icl::interval_set< int >() &= 0;
> icl::interval_set< int >() &= icl::interval< int >::type( 0, 1 );
>
> icl::interval_set< int >() ^= ( icl::interval< int >::type( 0, 1 ) );
>
>
> They all seem reasonable operations to me. In particular, for a discrete
> domain, operations like icl::interval_set< int >() += 0 make sense to me.
> That is the following are equivalent:
> icl::interval_set< int >() += 0
> icl::interval_set< int >() += icl::interval< int >::type( 0, 1 );

Yes, you are right! The code you are giving should compile and it
actually compiles on my machine with different msvc compilers. I guess
it also compiles for gcc. If the problem persists try to generate a
minimal code example so I can look again.

Best regards,
Joachim

-- 
Interval Container Library [Boost.Icl]
http://www.joachim-faulhaber.de

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