[LLVMdev] select1st, select2nd
clattner at apple.com
Sat Jul 16 10:20:17 PDT 2011
On Jul 15, 2011, at 1:57 PM, David A. Greene wrote:
> Chris Lattner <clattner at apple.com> writes:
>> On Jul 15, 2011, at 12:35 PM, David Greene wrote:
>>> I've run into a use case where I'd like to use a mapped_iterator to
>>> iterator the 1st (or 2nd) items in a sequence of std::pairs. Does
>>> select1st/select2nd exist somewhere within LLVM or is there some
>>> equivalent? If not, I'll add it.
>> Is this making the resultant loop simpler? C++ without lambda's isn't
>> very friendly to functors, what is the before/after effect of doing
> It's going to unify the DagInit constructors into one piece of code.
> The problem now is there are two constructors. One takes a vector of
> pairs and the other takes two vectors. They each make sense in their
> use contexts but it results in a lot of code duplication when moving
> DagInit to a uniqued pool implementation. I wanted to put the
> processing code in a third function which would be called with various
> types of iterators over those vectors.
The problem that I have with this sort of higher order metaprogramming in C++'98 is that you're trading one set of complexity for another. Please just introduce a helper function or something and duplicate the loop.
More information about the llvm-dev