Boost logo

Boost Users :

Subject: Re: [Boost-users] Best way to put N ranges into a new container?
From: John Dlugosz (JDlugosz_at_[hidden])
Date: 2010-07-07 12:36:11

> > Does something like that already exist?
> Yes, there is a join_iterator, joined_range, and a join function.
> _______________________________________________

After pondering something like join(join(R1,R2),R3), I realized that the whole idea, while it would make functional programming guys smile, is inefficient. Iterating the joined range and copying one element at a time, with overhead to look for boundaries, will prevent the container's optimized push_back from being called with a range of contiguous memory of trivial items.

So, I really want something that will call that form for the ranges. Now I'm thinking of a metaprogram like used for matrix math, to collect the N-ary concats and then apply them when the final thing is converted to a vector.

Really, I'd like an "Assign" that uses such techniques instead of throwing everything into a deque and then copying it.


TradeStation Group, Inc. is a publicly-traded holding company (NASDAQ GS: TRAD) of three operating subsidiaries, TradeStation Securities, Inc. (Member NYSE, FINRA, SIPC and NFA), TradeStation Technologies, Inc., a trading software and subscription company, and TradeStation Europe Limited, a United Kingdom, FSA-authorized introducing brokerage firm. None of these companies provides trading or investment advice, recommendations or endorsements of any kind. The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at