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 5039 of file Type.h.

Member Typedef Documentation

◆ Conflicts

Definition at line 5071 of file Type.h.

◆ iterator

Definition at line 5052 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 5046 of file Type.h.

Member Function Documentation

◆ begin()

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

Definition at line 5054 of file Type.h.

◆ dump()

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

Definition at line 5406 of file Type.cpp.

References clang::FunctionEffectsRef::dump().

◆ empty()

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

Definition at line 5049 of file Type.h.

◆ end()

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

Definition at line 5055 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 5329 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 5057 of file Type.h.

◆ size()

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

Definition at line 5050 of file Type.h.

Member Data Documentation

◆ iterator

Definition at line 5053 of file Type.h.


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