Navigation
API > API/Runtime > API/Runtime/VerseCompiler
A interface: a named set of function signatures that can be implemented for other types.
| Name | CInterface |
| Type | class |
| Header File | /Engine/Source/Runtime/VerseCompiler/Public/uLang/Semantics/SemanticInterface.h |
| Include Path | #include "uLang/Semantics/SemanticInterface.h" |
Syntax
class CInterface :
public uLang::CDefinition ,
public uLang::CNominalType ,
public uLang::CLogicalScope
Inheritance Hierarchy
- CAttributable → CDefinition → CInterface
- CNamed → CDefinition → CInterface
- TAstNodeRef → CDefinition → CInterface
- CSharedMix → CDefinition → CInterface
- CTypeBase → CNormalType → CNominalType → CInterface
- CScope → CLogicalScope → CInterface
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
CInterface
(
CScope& EnclosingScope, |
Construct a positive interface instantiation | uLang/Semantics/SemanticInterface.h | |
CInterface
(
const CSymbol& Name, |
uLang/Semantics/SemanticInterface.h | ||
CInterface
(
CInterface* PositiveInterface |
uLang/Semantics/SemanticInterface.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| StaticDefinitionKind | const CDefinition::EKind | uLang/Semantics/SemanticInterface.h | |
| StaticTypeKind | const ETypeKind | uLang/Semantics/SemanticInterface.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| _bHasCyclesBroken | bool | uLang/Semantics/SemanticInterface.h | ||
| _ConstructorAccessLevel | TOptional< SAccessLevel > | uLang/Semantics/SemanticInterface.h | ||
| _EffectAttributable | CAttributable | Attributes on the interface macro, like "interface |
uLang/Semantics/SemanticInterface.h | |
| _GeneralizedInterface | CInterface * | uLang/Semantics/SemanticInterface.h | ||
| _InstantiatedInterfaces | TURefArray< CInterface > | uLang/Semantics/SemanticInterface.h | ||
| _NegativeInterface | CInterface * | uLang/Semantics/SemanticInterface.h | ||
| _OwnedNegativeInterface | TUPtr< CInterface > | uLang/Semantics/SemanticInterface.h | ||
| _SuperInterfaces | TArray< CInterface * > | uLang/Semantics/SemanticInterface.h | ||
| _TypeVariableSubstitutions | TArray< STypeVariableSubstitution > | uLang/Semantics/SemanticInterface.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
SAccessLevel DerivedConstructorAccessLevel() |
uLang/Semantics/SemanticInterface.h | ||
const CNominalType * FindExplicitlyCastableBase() |
Return first class in the inheritance chain that contains the castable attribute. Otherwise null. | uLang/Semantics/SemanticInterface.h | |
CExprInterfaceDefinition * GetAstNode() |
uLang/Semantics/SemanticInterface.h | ||
EComparability GetComparability
(
VisitStampType |
uLang/Semantics/SemanticInterface.h | ||
CExprInterfaceDefinition * GetIrNode
(
bool bForce |
uLang/Semantics/SemanticInterface.h | ||
CSemanticProgram & GetProgram() |
uLang/Semantics/SemanticInterface.h | ||
bool HasCastableAttribute() |
Does this interface hold a castable attribute? | uLang/Semantics/SemanticInterface.h | |
bool HasCyclesBroken() |
uLang/Semantics/SemanticInterface.h | ||
bool HasFinalSuperBaseAttribute() |
Does this interface hold a |
uLang/Semantics/SemanticInterface.h | |
bool IsInterface
(
const CInterface& Interface |
Determine if current interface is the same interface or a sub interface of the specified `Interface_ | uLang/Semantics/SemanticInterface.h | |
bool IsParametric() |
uLang/Semantics/SemanticInterface.h | ||
bool IsUnique() |
uLang/Semantics/SemanticInterface.h | ||
void SetAstNode
(
CExprInterfaceDefinition* AstNode |
uLang/Semantics/SemanticInterface.h | ||
void SetIrNode
(
CExprInterfaceDefinition* AstNode |
uLang/Semantics/SemanticInterface.h |
Overridden from CDefinition
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual const CLogicalScope * DefinitionAsLogicalScopeNullable() |
If this definition has a corresponding scope, yield it. | uLang/Semantics/SemanticInterface.h | |
virtual bool IsPersistenceCompatConstraint() |
uLang/Semantics/SemanticInterface.h |
Overridden from CNominalType
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual const CDefinition * Definition() |
uLang/Semantics/SemanticInterface.h |
Overridden from CNormalType
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual SmallDefinitionArray FindInstanceMember
(
const CSymbol& Name, |
uLang/Semantics/SemanticInterface.h | ||
virtual EComparability GetComparability () |
Returns whether this type is comparable for equality | uLang/Semantics/SemanticInterface.h | |
virtual bool IsExplicitlyCastable() |
Is this interface castable either by having a castable attribute or inheriting one. | uLang/Semantics/SemanticInterface.h | |
virtual bool IsExplicitlyConcrete() |
Interfaces are never explicitly concrete. | uLang/Semantics/SemanticInterface.h | |
virtual bool IsPersistable() |
Returns whether this type is `persistable_ | uLang/Semantics/SemanticInterface.h |
Overridden from CTypeBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual CUTF8String AsCodeRecursive
(
ETypeSyntaxPrecedence OuterPrecedence, |
uLang/Semantics/SemanticInterface.h | ||
virtual bool CanBeCustomAccessorDataType() |
uLang/Semantics/SemanticInterface.h | ||
virtual bool CanBePredictsVarDataType() |
uLang/Semantics/SemanticInterface.h |
Overridden from CLogicalScope
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual SmallDefinitionArray FindDefinitions
(
const CSymbol& Name, |
uLang/Semantics/SemanticInterface.h |
Overridden from CScope
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void CreateNegativeFunction
(
const CFunction& PositiveFunction |
uLang/Semantics/SemanticInterface.h | ||
virtual CSymbol GetScopeName() |
uLang/Semantics/SemanticInterface.h | ||
virtual const CDefinition * ScopeAsDefinition() |
uLang/Semantics/SemanticInterface.h | ||
virtual const CTypeBase * ScopeAsType() |
uLang/Semantics/SemanticInterface.h |