Yume
Public Member Functions | List of all members
yume::ty::OpaqueSelf Class Referencefinal

The "self" type of abstract or overriding functions. An extra layer of indirection is introduced for type erasure. More...

#include <type.hpp>

Inheritance diagram for yume::ty::OpaqueSelf:
Inheritance graph
[legend]
Collaboration diagram for yume::ty::OpaqueSelf:
Collaboration graph
[legend]

Public Member Functions

 OpaqueSelf (const BaseType *indirect)
 
auto name () const -> string override
 
auto indirect () const -> const BaseType *
 
- Public Member Functions inherited from yume::ty::BaseType
 BaseType (const BaseType &) noexcept=delete
 
 BaseType (BaseType &&) noexcept=delete
 
auto operator= (const BaseType &) noexcept -> BaseType &=delete
 
auto operator= (BaseType &&) noexcept -> BaseType &=delete
 
virtual ~BaseType ()=default
 
auto kind () const -> Kind
 
auto base_name () const -> string
 
virtual auto name () const -> string=0
 

Additional Inherited Members

- Protected Member Functions inherited from yume::ty::BaseType
 BaseType (Kind kind, string name)
 

Detailed Description

The "self" type of abstract or overriding functions. An extra layer of indirection is introduced for type erasure.

Definition at line 186 of file type.hpp.

Constructor & Destructor Documentation

◆ OpaqueSelf()

yume::ty::OpaqueSelf::OpaqueSelf ( const BaseType indirect)
inlineexplicit

Definition at line 191 of file type.hpp.

Member Function Documentation

◆ indirect()

auto yume::ty::OpaqueSelf::indirect ( ) const -> const BaseType*
inline

Definition at line 193 of file type.hpp.

◆ name()

auto yume::ty::OpaqueSelf::name ( ) const -> string
inlineoverridevirtual

Implements yume::ty::BaseType.

Definition at line 192 of file type.hpp.

References yume::ty::BaseType::base_name().


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