|
|
| type_array () |
| | Empty array type, used to preallocate variables in arrays or to use later assignment operator.
|
| |
| | type_array (const std::shared_ptr< const type > &item_type, const length_t length) |
| | Any trivially copyable type can be accepted as an array item type (except another array_type), while the length of the array must be a strictly positive integer. More...
|
| |
|
| type_array (const type_array *item_type, const int length)=delete |
| | Arrays of arrays cannot be declared.
|
| |
|
| ~type_array () override=default |
| | This class is virtual, so it requires a virtual destructor.
|
| |
|
| type_array (type_array &&)=default |
| | This class supports moving.
|
| |
|
type_array & | operator= (type_array &&)=default |
| | This class supports moving.
|
| |
|
| type_array (const type_array &)=default |
| | This class supports copying.
|
| |
|
type_array & | operator= (const type_array &)=default |
| | This class supports copying.
|
| |
|
void | print_declaration (code_ostream &) const override |
| | Does nothing, primitive types do not need to be declared.
|
| |
|
void | print_definition (code_ostream &) const override |
| | Does nothing, primitive types do not need to be defined.
|
| |
|
std::shared_ptr< const type > | item_type () const |
| | Returns the type of the items of the given array.
|
| |
|
length_t | length () const |
| | Returns the length of the array.
|
| |
|
void | print_var_declaration (code_ostream &out, const std::string &var_name) const override |
| | Prints the declaration of a variable of the given type (no semicolon).
|
| |
|
void | print_var_definition (code_ostream &out, const std::string &var_name, bool force_stack) const override |
| | Print the definition of a variable of this type.
|
| |
|
void | print_var_lvalue (code_ostream &out, const std::string &var_name, bool is_stack) const override |
| | Print the acquisition of the value of a variable of this type.
|
| |
|
void | print_var_reference (code_ostream &out, const std::string &var_name) const override |
| | Prints the declaration of a reference variable of the given type (no semicolon).
|
| |
|
void | print_var_marshal (code_ostream &out, const std::string &var_name, const marshal &do_undo, bool force_stack) const override |
| | Prints the marshalling/unmarshalling operation of a variable of the given type.
|
| |
|
void | print_var_serialize (code_ostream &out, const std::string &var_name, const serialize &do_undo, bool force_stack) const override |
| | Prints the serialization/deserialization of a variable of the given type.
|
| |
|
size_t | size_of () const override |
| | Returns the size of the given type.
|
| |
|
size_t | alignment () const override |
| | Returns the alignment of the given type.
|
| |
|
| type () |
| | Empty type, used to preallocate types in arrays or to use later assignment operator.
|
| |
|
| type (const std::shared_ptr< module > &parent, const std::string &name) |
| | Using constructors from superclass.
|
| |
|
| ~type () override=default |
| | This class is virtual, so it requires a virtual destructor.
|
| |
|
| type (type &&)=default |
| | This class supports moving.
|
| |
|
type & | operator= (type &&)=default |
| | This class supports moving.
|
| |
|
| type (const type &)=default |
| | This class supports copying.
|
| |
|
type & | operator= (const type &)=default |
| | This class supports copying.
|
| |
|
void | print_var_lvalue (code_ostream &out, const std::string &var_name) const |
| | Print the acquisition of the value of a variable of this type.
|
| |
|
void | print_var_marshal (code_ostream &out, const std::string &var_name, const marshal &do_undo) const |
| | Print the actions needed to either marshal or unmarshal a variable of this type.
|
| |
|
void | print_var_serialize (code_ostream &out, const std::string &var_name, const serialize &do_undo) const |
| | Print the actions needed to either serialize or deserialize a variable of this type.
|
| |
|
| entity () |
| | Constructs an empty entity, used to preallocate entity variables (like in arrays) and to later use the assignment operator to overwrite its content.
|
| |
|
| entity (const std::shared_ptr< entity > &parent, const std::string &name) |
| | Constructs an entity within a given parent.
|
| |
| virtual | ~entity ()=default |
| | Does nothing because the destructor of the shared_ptr handles all the stuff It's necessary for the destructor to be virtual because share_ptrs to subclasses shall be able to correctly destruct objects of the subclasses. More...
|
| |
|
| entity (entity &&)=default |
| | This class supports moving.
|
| |
|
entity & | operator= (entity &&)=default |
| | This class supports moving.
|
| |
|
| entity (const entity &)=default |
| | This class supports copying.
|
| |
|
entity & | operator= (const entity &)=default |
| | This class supports copying.
|
| |
|
std::shared_ptr< entity > | parent () const |
| | Returns the parent of the given entity.
|
| |
|
std::string | name () const |
| | Returns the name of the given entity.
|
| |
| virtual std::string | codename () const |
| | Returns the codename of the given entity, which is the name of the entity as seen from the global scope. More...
|
| |
Identifies an array of a given type, to be used in forbcc::method or in forbcc::type_struct definitions.