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:

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

2.

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:

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

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

Thansks for
your feedback.

-Thorsten

-- 
Thorsten Ottosen
----------------------------
Dezide Aps -- Intelligent Customer Support:
www.dezide.com
Aalborg University --- Decision Support Systems:
http://www.cs.aau.dk/index2.php?content=Research/bss
C++ Boost:
www.boost.org
C++ Standard:
http://www.open-std.org/JTC1/SC22/WG21/ 

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