clang 20.0.0git
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
clang::FunctionEffectSet Class Reference

A mutable set of FunctionEffects and possibly conditions attached to them. More...

#include "clang/AST/Type.h"

Classes

struct  Conflict
 

Public Types

using iterator = FunctionEffectIterator< FunctionEffectSet >
 
using Conflicts = SmallVector< Conflict >
 

Public Member Functions

 FunctionEffectSet ()=default
 
 FunctionEffectSet (const FunctionEffectsRef &FX)
 
bool empty () const
 
size_t size () const
 
iterator begin () const
 
iterator end () const
 
 operator FunctionEffectsRef () const
 
void dump (llvm::raw_ostream &OS) const
 
bool insert (const FunctionEffectWithCondition &NewEC, Conflicts &Errs)
 
bool insert (const FunctionEffectsRef &Set, Conflicts &Errs)
 

Static Public Member Functions

static FunctionEffectSet getUnion (FunctionEffectsRef LHS, FunctionEffectsRef RHS, Conflicts &Errs)
 
static FunctionEffectSet getIntersection (FunctionEffectsRef LHS, FunctionEffectsRef RHS)
 

Public Attributes

friend iterator
 

Detailed Description

A mutable set of FunctionEffects and possibly conditions attached to them.

Used to compare and merge effects on declarations.

Has the same invariants as FunctionEffectsRef.

Definition at line 4939 of file Type.h.

Member Typedef Documentation

◆ Conflicts

Definition at line 4971 of file Type.h.

◆ iterator

Definition at line 4952 of file Type.h.

Constructor & Destructor Documentation

◆ FunctionEffectSet() [1/2]

clang::FunctionEffectSet::FunctionEffectSet ( )
default

Referenced by getUnion().

◆ FunctionEffectSet() [2/2]

clang::FunctionEffectSet::FunctionEffectSet ( const FunctionEffectsRef FX)
inlineexplicit

Definition at line 4946 of file Type.h.

Member Function Documentation

◆ begin()

iterator clang::FunctionEffectSet::begin ( ) const
inline

Definition at line 4954 of file Type.h.

◆ dump()

LLVM_DUMP_METHOD void FunctionEffectSet::dump ( llvm::raw_ostream &  OS) const

Definition at line 5319 of file Type.cpp.

References clang::FunctionEffectsRef::dump().

◆ empty()

bool clang::FunctionEffectSet::empty ( ) const
inline

Definition at line 4949 of file Type.h.

◆ end()

iterator clang::FunctionEffectSet::end ( ) const
inline

Definition at line 4955 of file Type.h.

◆ getIntersection()

FunctionEffectSet FunctionEffectSet::getIntersection ( FunctionEffectsRef  LHS,
FunctionEffectsRef  RHS 
)
static

◆ getUnion()

FunctionEffectSet FunctionEffectSet::getUnion ( FunctionEffectsRef  LHS,
FunctionEffectsRef  RHS,
Conflicts Errs 
)
static

◆ insert() [1/2]

bool FunctionEffectSet::insert ( const FunctionEffectsRef Set,
Conflicts Errs 
)

Definition at line 5245 of file Type.cpp.

References insert(), and clang::Set.

◆ insert() [2/2]

bool FunctionEffectSet::insert ( const FunctionEffectWithCondition NewEC,
Conflicts Errs 
)

◆ operator FunctionEffectsRef()

clang::FunctionEffectSet::operator FunctionEffectsRef ( ) const
inline

Definition at line 4957 of file Type.h.

◆ size()

size_t clang::FunctionEffectSet::size ( ) const
inline

Definition at line 4950 of file Type.h.

Member Data Documentation

◆ iterator

Definition at line 4953 of file Type.h.


The documentation for this class was generated from the following files: