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::basic_generator Class Referenceabstract

#include <chomik.h>

Inheritance diagram for chomik::basic_generator:
Collaboration diagram for chomik::basic_generator:

Public Member Functions

virtual ~basic_generator ()
 
void set_father (std::shared_ptr< basic_generator > f)
 
virtual const std::string convert_childs_placeholder_name_to_father (const std::string &cpn) const
 
virtual bool get_has_placeholder_with_value (const std::string &p) const
 
virtual placeholder_with_valueget_placeholder_with_value (const std::string &p)
 
virtual const placeholder_with_valueget_placeholder_with_value (const std::string &p) const
 
virtual void report (std::ostream &s) const
 
virtual void add_placeholder (const std::string &p, std::shared_ptr< generic_type > &&t)
 
virtual bool get_can_have_placeholders () const
 
virtual int get_placeholder_value_integer (const std::string &p) const
 
virtual double get_placeholder_value_float (const std::string &p) const
 
std::string get_placeholder_value_string (const std::string &p) const
 
std::string get_placeholder_value_enum (const std::string &p) const
 
virtual void get_placeholder_value_code (const std::string &p, code &target) const
 
virtual bool get_the_cartesian_product_of_placeholder_types_is_finite () const
 
virtual bool get_the_cartesian_product_of_placeholder_types_is_small (machine &m) const
 
virtual bool get_the_cartesian_product_of_placeholder_types_is_empty () const
 
virtual bool get_the_cartesian_product_of_placeholder_types_has_one_item () const
 
virtual void initialize (machine &m)=0
 
virtual bool get_is_valid ()
 
virtual void increment (machine &m)=0
 
virtual bool get_terminated () const
 
virtual std::string get_actual_text_representation_of_a_placeholder (const std::string &placeholder) const
 
virtual bool get_has_placeholder (const std::string &p) const
 
virtual void initialize_description_of_a_cartesian_product (description_of_a_cartesian_product &target) const =0
 
virtual void add_mapping (const std::string &f, const std::string &s)
 
virtual void initialize_mapping (const matching_protocol &mp)
 
virtual void debug () const
 
virtual void finalize (machine &m)
 

Protected Attributes

std::weak_ptr< basic_generatormy_father
 

Static Protected Attributes

static simple_placeholder_with_value_and_report< int, static_cast< int >(chomik::variable_with_value::actual_memory_representation_type::INTEGER)> dummy
 

Detailed Description

This is a base class for the generators. There are currently three types of generators:

  • the mapping generators
  • the generators (regular ones)
  • the external generators

Constructor & Destructor Documentation

◆ ~basic_generator()

virtual chomik::basic_generator::~basic_generator ( )
inlinevirtual

Member Function Documentation

◆ add_mapping()

virtual void chomik::basic_generator::add_mapping ( const std::string & f,
const std::string & s )
inlinevirtual

Reimplemented in chomik::mapping_generator.

◆ add_placeholder()

virtual void chomik::basic_generator::add_placeholder ( const std::string & p,
std::shared_ptr< generic_type > && t )
inlinevirtual

Reimplemented in chomik::generator.

◆ convert_childs_placeholder_name_to_father()

virtual const std::string chomik::basic_generator::convert_childs_placeholder_name_to_father ( const std::string & cpn) const
inlinevirtual

Reimplemented in chomik::mapping_generator.

◆ debug()

virtual void chomik::basic_generator::debug ( ) const
inlinevirtual

Reimplemented in chomik::generator.

◆ finalize()

virtual void chomik::basic_generator::finalize ( machine & m)
inlinevirtual

Reimplemented in chomik::generator.

◆ get_actual_text_representation_of_a_placeholder()

virtual std::string chomik::basic_generator::get_actual_text_representation_of_a_placeholder ( const std::string & placeholder) const
inlinevirtual

Reimplemented in chomik::generator.

◆ get_can_have_placeholders()

virtual bool chomik::basic_generator::get_can_have_placeholders ( ) const
inlinevirtual

Reimplemented in chomik::generator.

◆ get_has_placeholder()

virtual bool chomik::basic_generator::get_has_placeholder ( const std::string & p) const
inlinevirtual

Reimplemented in chomik::generator.

◆ get_has_placeholder_with_value()

virtual bool chomik::basic_generator::get_has_placeholder_with_value ( const std::string & p) const
inlinevirtual

◆ get_is_valid()

virtual bool chomik::basic_generator::get_is_valid ( )
inlinevirtual

Reimplemented in chomik::generator.

◆ get_placeholder_value_code()

virtual void chomik::basic_generator::get_placeholder_value_code ( const std::string & p,
code & target ) const
virtual

Reimplemented in chomik::generator.

◆ get_placeholder_value_enum()

std::string chomik::basic_generator::get_placeholder_value_enum ( const std::string & p) const

◆ get_placeholder_value_float()

virtual double chomik::basic_generator::get_placeholder_value_float ( const std::string & p) const
virtual

Reimplemented in chomik::generator.

◆ get_placeholder_value_integer()

virtual int chomik::basic_generator::get_placeholder_value_integer ( const std::string & p) const
virtual

Reimplemented in chomik::generator.

◆ get_placeholder_value_string()

std::string chomik::basic_generator::get_placeholder_value_string ( const std::string & p) const

◆ get_placeholder_with_value() [1/2]

virtual placeholder_with_value & chomik::basic_generator::get_placeholder_with_value ( const std::string & p)
virtual

◆ get_placeholder_with_value() [2/2]

virtual const placeholder_with_value & chomik::basic_generator::get_placeholder_with_value ( const std::string & p) const
virtual

◆ get_terminated()

virtual bool chomik::basic_generator::get_terminated ( ) const
inlinevirtual

Reimplemented in chomik::generator.

◆ get_the_cartesian_product_of_placeholder_types_has_one_item()

virtual bool chomik::basic_generator::get_the_cartesian_product_of_placeholder_types_has_one_item ( ) const
virtual

Reimplemented in chomik::generator.

◆ get_the_cartesian_product_of_placeholder_types_is_empty()

virtual bool chomik::basic_generator::get_the_cartesian_product_of_placeholder_types_is_empty ( ) const
virtual

Reimplemented in chomik::generator.

◆ get_the_cartesian_product_of_placeholder_types_is_finite()

virtual bool chomik::basic_generator::get_the_cartesian_product_of_placeholder_types_is_finite ( ) const
virtual

Reimplemented in chomik::generator.

◆ get_the_cartesian_product_of_placeholder_types_is_small()

virtual bool chomik::basic_generator::get_the_cartesian_product_of_placeholder_types_is_small ( machine & m) const
virtual

Reimplemented in chomik::generator.

◆ increment()

virtual void chomik::basic_generator::increment ( machine & m)
pure virtual

◆ initialize()

virtual void chomik::basic_generator::initialize ( machine & m)
pure virtual

◆ initialize_description_of_a_cartesian_product()

virtual void chomik::basic_generator::initialize_description_of_a_cartesian_product ( description_of_a_cartesian_product & target) const
pure virtual

◆ initialize_mapping()

virtual void chomik::basic_generator::initialize_mapping ( const matching_protocol & mp)
inlinevirtual

◆ report()

virtual void chomik::basic_generator::report ( std::ostream & s) const
inlinevirtual

◆ set_father()

void chomik::basic_generator::set_father ( std::shared_ptr< basic_generator > f)
inline

Member Data Documentation

◆ dummy

simple_placeholder_with_value_and_report<int, static_cast<int>(chomik::variable_with_value::actual_memory_representation_type::INTEGER)> chomik::basic_generator::dummy
staticprotected

◆ my_father

std::weak_ptr<basic_generator> chomik::basic_generator::my_father
protected

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

copyright by Pawel Biernacki

Vantaa 2022