LLVM 20.0.0git
Classes | Namespaces | Functions
SetVector.h File Reference

This file implements a set that has insertion order iteration characteristics. More...

#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Compiler.h"
#include <cassert>
#include <iterator>

Go to the source code of this file.

Classes

class  llvm::SetVector< T, Vector, Set, N >
 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...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  std
 Implement std::hash so that hash_code can be used in STL containers.
 

Functions

template<typename T , typename V , typename S , unsigned N>
void std::swap (llvm::SetVector< T, V, S, N > &LHS, llvm::SetVector< T, V, S, N > &RHS)
 Implement std::swap in terms of SetVector swap.
 
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.
 

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.