LLVM: include/llvm/ADT/SetOperations.h File Reference (original) (raw)

This file defines generic set operations that may be used on set's of different types, and different element types. More...

Go to the source code of this file.

Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
namespace llvm::detail
These are wrappers over isa* function that allow them to be used in generic algorithms such as llvm:all_of, llvm::none_of, etc.
Typedefs
template<typename Set , typename Fn >
using llvm::detail::check_has_member_remove_if_t = decltype(std::declval< Set >().remove_if(std::declval< Fn >()))
template
using llvm::detail::check_has_member_erase_iter_t = decltype(std::declval< Set >().erase(std::declval< Set >().begin()))
Functions
template<class S1Ty , class S2Ty >
bool llvm::set_union (S1Ty &S1, const S2Ty &S2)
set_union(A, B) - Compute A := A u B, return whether A changed.
template<class S1Ty , class S2Ty >
void llvm::set_intersect (S1Ty &S1, const S2Ty &S2)
set_intersect(A, B) - Compute A := A ^ B Identical to set_intersection, except that it works on set<>'s and is nicer to use.
template<class S1Ty , class S2Ty >
S1Ty llvm::set_intersection_impl (const S1Ty &S1, const S2Ty &S2)
template<class S1Ty , class S2Ty >
S1Ty llvm::set_intersection (const S1Ty &S1, const S2Ty &S2)
set_intersection(A, B) - Return A ^ B
template<class S1Ty , class S2Ty >
S1Ty llvm::set_difference (const S1Ty &S1, const S2Ty &S2)
set_difference(A, B) - Return A - B
template<class S1Ty , class S2Ty >
void llvm::set_subtract (S1Ty &S1, const S2Ty &S2)
set_subtract(A, B) - Compute A := A - B
template<class S1Ty , class S2Ty >
void llvm::set_subtract (S1Ty &S1, const S2Ty &S2, S1Ty &Removed, S1Ty &Remaining)
set_subtract(A, B, C, D) - Compute A := A - B, set C to the elements of B removed from A (A ^ B), and D to the elements of B not found in and removed from A (B - A).
template<class S1Ty , class S2Ty >
bool llvm::set_is_subset (const S1Ty &S1, const S2Ty &S2)
set_is_subset(A, B) - Return true iff A in B
Variables
template<typename Set , typename Fn >
static constexpr bool llvm::detail::HasMemberRemoveIf
template
static constexpr bool llvm::detail::HasMemberEraseIter

This file defines generic set operations that may be used on set's of different types, and different element types.

Definition in file SetOperations.h.