chomik 0.2.1
experimental and minimalistic programming language

My name is Pawel Biernacki.
I am a software engineer.
This site is my hobby project.

Loading...
Searching...
No Matches
chomik::type_instance Class Referenceabstract

#include <chomik.h>

Inheritance diagram for chomik::type_instance:
Collaboration diagram for chomik::type_instance:

Public Types

enum class  type_instance_mode { NONE , INTEGER , ENUM }
 

Public Member Functions

 type_instance (const std::string &n)
 
virtual void report (std::ostream &s) const =0
 
virtual void add_type_instance_enum_value (const signature &n, unsigned new_level=1)
 
virtual void add_type_instance_enum_value (const std::string &n, unsigned new_level=1)
 
virtual std::vector< std::unique_ptr< type_instance_enum_value > >::const_iterator get_first_iterator_for_enum () const
 
virtual std::vector< std::unique_ptr< type_instance_enum_value > >::const_iterator get_last_iterator_for_enum () const
 
virtual int get_first_iterator_for_range () const
 
virtual int get_last_iterator_for_range () const
 
const std::string get_name () const
 
virtual type_instance_mode get_mode () const
 
virtual int get_amount_of_values () const =0
 
virtual std::string get_enum_item (int i)
 
virtual void update (placeholder_with_value &v, machine &m, basic_generator &g)
 
void update_name (const std::string &n)
 

Protected Attributes

std::string name
 

Member Enumeration Documentation

◆ type_instance_mode

Enumerator
NONE 
INTEGER 
ENUM 

Constructor & Destructor Documentation

◆ type_instance()

chomik::type_instance::type_instance ( const std::string & n)
inline

Member Function Documentation

◆ add_type_instance_enum_value() [1/2]

virtual void chomik::type_instance::add_type_instance_enum_value ( const signature & n,
unsigned new_level = 1 )
inlinevirtual

Reimplemented in chomik::type_instance_enum.

◆ add_type_instance_enum_value() [2/2]

virtual void chomik::type_instance::add_type_instance_enum_value ( const std::string & n,
unsigned new_level = 1 )
inlinevirtual

◆ get_amount_of_values()

virtual int chomik::type_instance::get_amount_of_values ( ) const
pure virtual

◆ get_enum_item()

virtual std::string chomik::type_instance::get_enum_item ( int i)
inlinevirtual

Reimplemented in chomik::type_instance_enum.

◆ get_first_iterator_for_enum()

virtual std::vector< std::unique_ptr< type_instance_enum_value > >::const_iterator chomik::type_instance::get_first_iterator_for_enum ( ) const
inlinevirtual

Reimplemented in chomik::type_instance_enum.

◆ get_first_iterator_for_range()

virtual int chomik::type_instance::get_first_iterator_for_range ( ) const
inlinevirtual

Reimplemented in chomik::type_instance_range.

◆ get_last_iterator_for_enum()

virtual std::vector< std::unique_ptr< type_instance_enum_value > >::const_iterator chomik::type_instance::get_last_iterator_for_enum ( ) const
inlinevirtual

Reimplemented in chomik::type_instance_enum.

◆ get_last_iterator_for_range()

virtual int chomik::type_instance::get_last_iterator_for_range ( ) const
inlinevirtual

Reimplemented in chomik::type_instance_range.

◆ get_mode()

virtual type_instance_mode chomik::type_instance::get_mode ( ) const
inlinevirtual

◆ get_name()

const std::string chomik::type_instance::get_name ( ) const
inline

◆ report()

virtual void chomik::type_instance::report ( std::ostream & s) const
pure virtual

◆ update()

virtual void chomik::type_instance::update ( placeholder_with_value & v,
machine & m,
basic_generator & g )
inlinevirtual

◆ update_name()

void chomik::type_instance::update_name ( const std::string & n)
inline

Member Data Documentation

◆ name

std::string chomik::type_instance::name
protected

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

copyright by Pawel Biernacki

Vantaa 2022