LLVM  16.0.0git
Classes | Namespaces | Functions
SetVector.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/Compiler.h"
#include <cassert>
#include <iterator>
#include <vector>
Include dependency graph for SetVector.h:

Go to the source code of this file.


class  llvm::SetVector< T, Vector, Set >
 A vector that has set insertion semantics. More...
class  llvm::SmallSetVector< T, N >
 A SetVector that performs no allocations if smaller than a certain size. More...


 This is an optimization pass for GlobalISel generic memory operations.


template<typename T , typename V , typename S >
void std::swap (llvm::SetVector< T, V, S > &LHS, llvm::SetVector< T, V, S > &RHS)
 Implement std::swap in terms of SetVector swap. More...
template<typename T , unsigned N>
void std::swap (llvm::SmallSetVector< T, N > &LHS, llvm::SmallSetVector< T, N > &RHS)
 Implement std::swap in terms of SmallSetVector swap. More...

Detailed Description

This file implements a set that has insertion order iteration characteristics. This is useful for keeping a set of things that need to be visited later but in a deterministic order (insertion order). The interface is purposefully minimal.

This file defines SetVector and SmallSetVector, which performs no allocations if the SetVector has less than a certain number of elements.

Definition in file SetVector.h.