[PATCH] D16053: contains() convenience function

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 11 08:43:38 PST 2016


Benjamin and I were just discussing a similar piece of code to this in a
review

I think we were settling on something like "any_of(R, is_equal<>(E))" but
I'm OK adding something like "contains" or "is_contained" (contains seems
like the right name, but might be too often used elsewhere to be
convenient?)

Benjamin - any thoughts/preferences here?

On Mon, Jan 11, 2016 at 5:26 AM, Alexander Droste via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Alexander_Droste updated the summary for this revision.
> Alexander_Droste added a reviewer: dblaikie.
> Alexander_Droste updated this revision to Diff 44471.
> Alexander_Droste added a comment.
>
> - changed name to `is_contained()` because `contains()` caused name
> conflicts
> - adapted the style of other functions in `STLExtras.h`
>
> - @David: I hope its ok that I added you as a reviewer. Googling for
> 'stlextras llvm reviewer' you
>
> were the first author that appeared.
>
>
> http://reviews.llvm.org/D16053
>
> Files:
>   include/llvm/ADT/STLExtras.h
>
> Index: include/llvm/ADT/STLExtras.h
> ===================================================================
> --- include/llvm/ADT/STLExtras.h
> +++ include/llvm/ADT/STLExtras.h
> @@ -386,6 +386,13 @@
>    return std::find(Range.begin(), Range.end(), val);
>  }
>
> +/// Wrapper function around std::find to detect if an element exists
> +/// in a container.
> +template <typename R, typename E>
> +bool is_contained(R && Range, const E &Element) {
> +  return std::find(Range.begin(), Range.end(), Element) != Range.end();
> +}
> +
>
>  //===----------------------------------------------------------------------===//
>  //     Extra additions to <memory>
>
>  //===----------------------------------------------------------------------===//
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160111/194e8df0/attachment.html>


More information about the llvm-commits mailing list