![]() |
Ultra 0.9.4
|
#include <nullary.h>
Public Member Functions | |
| virtual value_t | eval () const =0 |
| value_t | instance () const final |
| std::string | to_string (format=c_format) const override |
| Public Member Functions inherited from ultra::terminal | |
| std::string | to_string (format=c_format) const override |
| symbol (const std::string &, category_t=default_category) | |
| Public Member Functions inherited from ultra::symbol | |
| symbol (const std::string &, category_t=default_category) | |
| virtual | ~symbol ()=default |
| Virtual destructor to allow safe polymorphic deletion. | |
| category_t | category () const noexcept |
| opcode_t | opcode () const noexcept |
| const std::string & | name () const noexcept |
| void | category (category_t) noexcept |
| virtual bool | is_valid () const |
Additional Inherited Members | |
| Public Types inherited from ultra::symbol | |
| enum | format { c_format , cpp_format , python_format , sup_format } |
| Supported rendering formats for symbol stringification. | |
| using | category_t = unsigned |
| using | opcode_t = unsigned |
| Static Public Attributes inherited from ultra::symbol | |
| static constexpr category_t | default_category = 0 |
| Default category assigned when typing is not used. | |
| static constexpr category_t | undefined_category |
| Sentinel value indicating that the category has not yet been assigned. | |
A lambda function without arguments.
Function without arguments can be meaningful and not necessarily constant (due to side effects). Such functions may have some hidden input, such as global variables or the whole state of the system (time, free memory...).
A lambda function (aka anonymous function) is a literal for the function type.
|
inlinenodiscardfinalvirtual |
Produce the runtime value of the terminal.
This function returns the value represented by the terminal when the program is evaluated. The returned value may depend on the evaluation context (e.g. the current input vector), but does not depend on any child expressions.
Implements ultra::terminal.
|
inlinenodiscardoverridevirtual |
Implements ultra::symbol.