LLVM 20.0.0git
Namespaces | Typedefs | Functions | Variables
SetOperations.h File Reference

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

#include "llvm/ADT/STLExtras.h"

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<typename Set >
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<typename Set >
static constexpr bool llvm::detail::HasMemberEraseIter
 

Detailed Description

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.