Boost logo

Boost Users :

Subject: Re: [Boost-users] [boost] [type_erasure] Review started (July 18-27, 2012)
From: Sergey Mitsyn (svm_at_[hidden])
Date: 2012-08-03 17:32:03


Hello,

Just some questions:

1) Missing #include <cassert> in "boost\type_erasure\detail\storage.hpp"

2) Maybe i'm missing something, but it feels like the library doesn't
support concept function arguments an return types that contain
placeholder as a template parameter. Imagine a concept that returns
"std::pair<TIterator, TIterator>", where TIterator is another any:

template<class TIterator, class C=_self>
struct foo_concept
{
   typedef std::pair<TIterator, TIterator> result_type;
   static result_type apply(C& c) {
     return std::make_pair(c.begin(),c.end()); }
};

Probably the problem is with detail::rebind_placeholders_in_argument.
The expected behavior is replacing 'TIterator' with something like
'std::_Vector_iterator' (or what it should be in specific case), just
like mpl::lambda replaces its mpl::_N placeholders.

Also I cannot just replace std::pair with another any - I'm trying to
match the preexisting concepts.

I've put an example into attachment.

> 5. Did you try to use the library? With what compiler? Did you have
> any problems?

MSVC 9.0

> 6. How much effort did you put into your evaluation? A glance? A
> quick reading? In-depth study?

Several hours.

> 7. Are you knowledgeable about the problem domain?

Almost no.

-- 
------------
Sergey Mitsyn.



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net