Boost logo

Boost :

Subject: Re: [boost] Review Request: Boost.Itl; The Interval Template Library
From: Jeff Flinn (TriumphSprint2000_at_[hidden])
Date: 2009-09-24 20:51:36


Joachim Faulhaber wrote:
> 2009/9/24 Jeff Flinn <TriumphSprint2000_at_[hidden]>:
>> Jeff Flinn wrote:
>>> Hi Joachim,
>>>
>>> Joachim Faulhaber wrote:
>>>> Dear developers,
>>>>
>>>> the Interval Template Library is now in a state
>>>> where I think it does conform the requirements
>>>> and guidelines for boost libraries fairly well.
>>> I'm working with CodeWarrior version 9.x (yep I'm stuck with this):
>> That's version 9.4.
>>
>>> Also Ambiguous use of partial specialization Errors in is_combinable.hpp
>>> for the typedef's in:
>>>
>>> template<class Type>
>>> struct is_interval_set_derivative<Type, typename Type::interval_type>
>>> {
>>> typedef is_interval_set_derivative<Type, typename Type::interval_type>
>>> type;
>>> BOOST_STATIC_CONSTANT(bool, value =
>>> (is_interval_container<Type>::value));
>>> };
>> So isn't this comparable:
>>
>>
>> template<class Type>
>> struct is_interval_set_derivative<Type, typename Type::interval_type>
>> {
>> typedef is_interval_set_derivative type;
>> BOOST_STATIC_CONSTANT(bool, value =
>> (is_interval_container<Type>::value));
>> };
>>
>> Isn't the unadorned name is_interval_set_derivative within the context of
>> this struct definition the same as if it had the template parameters
>> specified?
>>
>> Modifying is_combinable in this fashion compiles in cw9.4. I haven't checked
>> yet with MSVC or gcc.
>>
>>
> Hi Jeff,
> thank you for checking this. It looks like gcc and msvc are happy with
> your code change. I am going to run a few more tests tomorrow before
> committing the code to the sandbox (it's 1am in Berlin ;)
> Good night
> Joachim

Thanks for putting in the late night on this! :-)

So the next issue is in map.hpp. I'm getting redefined errors on
        map::add(const std::parit<const _T0, _T1>&)
and
        map::add(std::map<_T0, _T1, _T3<_T0>, _T6<const std::pair<const _T0,
_T1>>>iterator, const std::pair<const _T0, _T1>&)

This is via merely #including <boost/itl/split_interval_map.hpp>. It
looks like similar issues with map::subtract as well. Hmm, this sounds
similar to other problems defining a template methods out of line?

Thanks, Jeff


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