Boost logo

Boost :

From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2005-02-06 14:53:03

Dear all,

I'm working on getting the indirect container library (former smart container
lib) ready for a post-review.

During the review it was decided to provide overloads of
assign(), insert() etc that takes a Range instead of two iterators.

That is often a problem because of multiple overloads, that is,
we get ambiguity. Basically I think we got two alternatives:

template< class Iter >
void container::assign( const iterator_range<Iter>& );
container c;
c.assign( make_iterator_range( some_range ) );


template< class Range
void container::assign_range( const Range& ):
container c;
c.assign_range( some_range );

Which one do you prefer?

Another issue relates to the null pointer policy, that is, the way we
specify how the container is allowed to include nulls.

Here's two alternatives:

container< T > // null not allowed
container< nullable<T> > // null allowed

container<T&> // null forbidden
container<T*> // null allowed

Thansks for
your feedback.


Thorsten Ottosen
Dezide Aps -- Intelligent Customer Support:
Aalborg University --- Decision Support Systems:
C++ Boost:
C++ Standard: 

Boost list run by bdawes at, gregod at, cpdaniel at, john at