Boost logo

Boost Users :

Subject: [Boost-users] metafunction question
From: John Dlugosz (JDlugosz_at_[hidden])
Date: 2010-05-11 14:30:08


A co-worker mentioned an interesting issue. I thought some metaprogramming, or at least more advanced insight into STL, might apply here.

Consider a class derived from an STL collection. It features a special find(x) function that works with his search criteria. It returns an iterator into the collection. There are two forms needed:
        iterator find(x);
        const_iterator find(x) const;
and the annoying part is that they contain exactly the same code. The implementation uses the inherited iterators and collection features to do the finding.

The larger question is, is there a better way to approach that?

The immediate question is, my thought of using a template helper requires the return type to be determined based on the constness of the incoming parameter for the collection type. Is there a handy metafunction for that already in existance?

--John



-silly company footer automatically added, sorry.

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 hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net