clang 22.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/TypeBase.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 5218 of file TypeBase.h.

Member Typedef Documentation

◆ Conflicts

Definition at line 5250 of file TypeBase.h.

◆ iterator

Definition at line 5231 of file TypeBase.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 5225 of file TypeBase.h.

Member Function Documentation

◆ begin()

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

Definition at line 5233 of file TypeBase.h.

◆ dump()

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

Definition at line 5757 of file Type.cpp.

References clang::FunctionEffectsRef::dump().

◆ empty()

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

Definition at line 5228 of file TypeBase.h.

◆ end()

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

Definition at line 5234 of file TypeBase.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 5680 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 5236 of file TypeBase.h.

◆ size()

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

Definition at line 5229 of file TypeBase.h.

Member Data Documentation

◆ iterator

Definition at line 5232 of file TypeBase.h.


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