|
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