[Boost-users] range_ex

0 views
Skip to first unread message

Richard Ulrich

unread,
Oct 28, 2009, 12:09:39 PM10/28/09
to boost...@lists.boost.org
Hi list,

what's the status of range_ex? I read that it was accepted into boost
half a year ago. So, will it make it into 1.41?

This week I downloaded it from the boost vault, as the version from the
svn sandbox seemed to be outdated.

I like it very much so far.

Just two remarks/questions:

- in my measurements using the piped adapters (filtered / transformed)
was on average 4% slower than hand coded loops. Do I have to live with
that, or are there any tricks / hints?

- I can't use lambdas for the adapters.
- transformed expects a result_type that also lambda::res<> doesn't
seem to provide.
- filtered tries to copy the functor, which in turn lambda doesn't
seem to like.

Rgds
Richard

_______________________________________________
Boost-users mailing list
Boost...@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users

joel

unread,
Oct 28, 2009, 3:17:05 PM10/28/09
to boost...@lists.boost.org
Richard Ulrich wrote:
> - I can't use lambdas for the adapters.
> - transformed expects a result_type that also lambda::res<> doesn't
> seem to provide.
> - filtered tries to copy the functor, which in turn lambda doesn't
> seem to like.
>
Try phoenix lambda, they support result_of protocol.

--
___________________________________________
Joel Falcou - Assistant Professor
PARALL Team - LRI - Universite Paris Sud XI
Tel : (+33)1 69 15 66 35

Neil Groves

unread,
Oct 28, 2009, 3:48:53 PM10/28/09
to boost...@lists.boost.org
what's the status of range_ex? I read that it was accepted into boost
half a year ago. So, will it make it into 1.41?
 
I have been extremely busy with other tasks and unable to dedicate as much time as I would have liked to Boost.RangeEx. As you are probably aware Andrei Alexandrescu has done a great deal of work on new Range Concepts. I have been working on performance evaluation of the new Range Concepts and in addition I have been examining extensions that allow better SSE optimisations and integration with hierarchical enumeration. This has required reimplementing the STL algorithms and so on. Additionally I have needed to provide mechanisms for adapting an iterator_range to the new Range concepts and vice-versa. This has taken a considerable amount of time.
 
I have not prepared the current incarnation of RangeEx for the trunk since I expect to make significant breaking changes to the RangeEx interface (but not the Boost.Range interface).
 

This week I downloaded it from the boost vault, as the version from the
svn sandbox seemed to be outdated.
The Boost.Vault is definitely the place to get the latest Boost.RangeEx
 

I like it very much so far.

Just two remarks/questions:

- in my measurements using the piped adapters (filtered / transformed)
was on average 4% slower than hand coded loops. Do I have to live with
that, or are there any tricks / hints?
Would you be able to provide details about the compiler and compiler flags? IIRC this is far worse than the relative performance figures I got on MSVC 9 in Release with the checked iterators turned off. I don't believe you should have to live with any performance degradation for filtered or transformed ranges relative to hand-code filtered/transformed ranges.
 

- I can't use lambdas for the adapters.
 - transformed expects a result_type that also lambda::res<> doesn't
seem to provide.
I think that phoenix lambda expressions work. To the best of my knowledge there isn't a manner in which I can improve RangeEx to cope with this. Good ideas are invited.
 
 - filtered tries to copy the functor, which in turn lambda doesn't
seem to like.
filtered does take the functor by value for the same reasons that the STL algorithms do. boost::ref or boost::cref might help. If they do not then please let me know and I shall attempt to improve the integration with boost::ref.
 
I hope this helps, and I apologise for the delay in getting this ready for release.
 
Best Wishes,
Neil Groves

Sarbak, Joseph

unread,
Oct 30, 2009, 9:34:49 AM10/30/09
to boost...@lists.boost.org

Hello,

I'm curious to know whether boost has support for explicitly loading
shared libraries in a cross-platform fashion. I have done my own search
of the 1.40.0 boost code base and could not find any abstraction around
dlopen,dlsym,dlclose and their equivalents on windows.

While it would be easy for me to write wrappers around this
functionality, I would prefer to use something in boost if already
available.

Thank you and regards,
Joe Sarbak
________________________________________

This E-Mail (including any attachments) may contain privileged or confidential information. It is intended only for the addressee(s) indicated above.

The sender does not waive any of its rights, privileges or other protections respecting this information.

Any distribution, copying or other use of this E-Mail or the information it contains, by other than an intended recipient, is not sanctioned and is prohibited.

If you received this E-Mail in error, please delete it and advise the sender (by return E-Mail or otherwise) immediately.

This E-Mail (including any attachments) has been scanned for viruses.

It is believed to be free of any virus or other defect that might affect any computer system into which it is received and opened.

However, it is the responsibility of the recipient to ensure that it is virus free.

The sender accepts no responsibility for any loss or damage arising in any way from its use.

E-Mail received by or sent from RBC Capital Markets is subject to review by Supervisory personnel.

Such communications are retained and may be produced to regulatory authorities or others with legal rights to the information.

IRS CIRCULAR 230 NOTICE: TO COMPLY WITH U.S. TREASURY REGULATIONS, WE ADVISE YOU THAT ANY U.S. FEDERAL TAX ADVISE INCLUDED IN THIS COMMUNICATION IS NOT INTENDED OR WRITTEN TO BE USED, AND CANNOT BE USED, TO AVOID ANY U.S. FEDERAL TAX PENALTIES OR TO PROMOTE, MARKET, OR RECOMMEND TO ANOTHER PARTY ANY TRANSACTION OR MATTER.

Sebastian Redl

unread,
Nov 1, 2009, 2:04:59 PM11/1/09
to boost...@lists.boost.org
Sarbak, Joseph wrote:
>
> Hello,
>
> I'm curious to know whether boost has support for explicitly loading
> shared libraries in a cross-platform fashion. I have done my own search
> of the 1.40.0 boost code base and could not find any abstraction around
> dlopen,dlsym,dlclose and their equivalents on windows.
>
There's a Boost.Plugin library in the Vault or the Sandbox which does
this and then some.

Sebastian

Reply all
Reply to author
Forward
0 new messages