LLVM 22.0.0git
SetVector.h File Reference

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

#include "llvm/ADT/ADL.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/STLForwardCompat.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.