Private and protected interface of class 'BaseEnc'. More...
#include <BaseEnc_private.h>
Public Member Functions | |
INHERITS_FROM (EnvObject) | |
Data Fields | |
void(* | commit_layer )(BaseEnc_ptr self, const char *layer_name) |
NodeList_ptr | committed_layers |
array_t * | layer_names |
void(* | remove_layer )(BaseEnc_ptr self, const char *layer_name) |
SymbTable_ptr | symb_table |
Related Functions | |
(Note that these are not member functions.) | |
void | base_enc_commit_layer (BaseEnc_ptr self, const char *layer_name) |
void | base_enc_deinit (BaseEnc_ptr self) |
void | base_enc_init (BaseEnc_ptr self, SymbTable_ptr symb_table) |
void | base_enc_remove_layer (BaseEnc_ptr self, const char *layer_name) |
VIRTUAL void | BaseEnc_commit_layer (BaseEnc_ptr self, const char *layer_name) |
Call this method to enter a new layer. All variables occurring in the layer, will be encoded as a result. | |
int | BaseEnc_commit_layers (BaseEnc_ptr self, const array_t *layer_names) |
Commits all layers which have not been committed yet. | |
VIRTUAL void | BaseEnc_destroy (BaseEnc_ptr self) |
The BaseEnc class destructor. | |
const array_t * | BaseEnc_get_committed_layer_names (BaseEnc_ptr self) |
Returns the list of names of the committed layers. | |
NodeList_ptr | BaseEnc_get_committed_layers (const BaseEnc_ptr self) |
Returns the list of the committed layers. | |
SymbTable_ptr | BaseEnc_get_symb_table (const BaseEnc_ptr self) |
Returns the SymbTable that self uses. | |
TypeChecker_ptr | BaseEnc_get_type_checker (const BaseEnc_ptr self) |
Returns the type checker instance owned by the SymbTable that self uses. | |
boolean | BaseEnc_layer_occurs (const BaseEnc_ptr self, const char *layer_name) |
Returns true whether the given layer name is the name of a layer that is currently committed to self. | |
VIRTUAL void | BaseEnc_remove_layer (BaseEnc_ptr self, const char *layer_name) |
Call this method to remove an already committed layer. All variables occurring in the layer will be removed as a result. It will no longer allowed to use those variables within expressions encoded by self. | |
int | BaseEnc_remove_layers (BaseEnc_ptr self, const array_t *layer_names) |
Removes all layers which have been actually committed. |
Private and protected interface of class 'BaseEnc'.
Public interface of class 'BaseEnc'.
BaseEnc class definition derived from class Object
Definition of the public accessor for class BaseEnc
BaseEnc::INHERITS_FROM | ( | EnvObject | ) |
void base_enc_commit_layer | ( | BaseEnc_ptr | self, | |
const char * | layer_name | |||
) | [related] |
void base_enc_deinit | ( | BaseEnc_ptr | self | ) | [related] |
void base_enc_init | ( | BaseEnc_ptr | self, | |
SymbTable_ptr | symb_table | |||
) | [related] |
void base_enc_remove_layer | ( | BaseEnc_ptr | self, | |
const char * | layer_name | |||
) | [related] |
VIRTUAL void BaseEnc_commit_layer | ( | BaseEnc_ptr | self, | |
const char * | layer_name | |||
) | [related] |
Call this method to enter a new layer. All variables occurring in the layer, will be encoded as a result.
This method is virtual. The result of the encoding depends on the actual instance (its actual class) it is invoked on.
int BaseEnc_commit_layers | ( | BaseEnc_ptr | self, | |
const array_t * | layer_names | |||
) | [related] |
Commits all layers which have not been committed yet.
Use this to commit e.g. all layers already committed to another encoder. Returns the number of committed layers
VIRTUAL void BaseEnc_destroy | ( | BaseEnc_ptr | self | ) | [related] |
const array_t * BaseEnc_get_committed_layer_names | ( | BaseEnc_ptr | self | ) | [related] |
Returns the list of names of the committed layers.
Returned array belongs to self. Do not store it permanently, change or delete it. If you commit or remove a layer into self, any previoulsy returned array will become invalid.
NodeList_ptr BaseEnc_get_committed_layers | ( | const BaseEnc_ptr | self | ) | [related] |
Returns the list of the committed layers.
Returned list is a list of SymbLayer instances. The returned list is ordered wrt to layers insert policy. The list and its content still belongs to self, do not destroy or change it
SymbTable_ptr BaseEnc_get_symb_table | ( | const BaseEnc_ptr | self | ) | [related] |
Returns the SymbTable that self uses.
AutomaticStart
Returns the SymbTable that self uses. Returned instance belongs to self, do not destroy it.
TypeChecker_ptr BaseEnc_get_type_checker | ( | const BaseEnc_ptr | self | ) | [related] |
Returns the type checker instance owned by the SymbTable that self uses.
Returns the type checker instance owned by the SymbTable that self uses. Returned instance belongs to self, do not destroy it.
boolean BaseEnc_layer_occurs | ( | const BaseEnc_ptr | self, | |
const char * | layer_name | |||
) | [related] |
Returns true whether the given layer name is the name of a layer that is currently committed to self.
VIRTUAL void BaseEnc_remove_layer | ( | BaseEnc_ptr | self, | |
const char * | layer_name | |||
) | [related] |
Call this method to remove an already committed layer. All variables occurring in the layer will be removed as a result. It will no longer allowed to use those variables within expressions encoded by self.
This method is virtual. The result of the removal depends on the actual instance (its actual class) it is invoked on.
int BaseEnc_remove_layers | ( | BaseEnc_ptr | self, | |
const array_t * | layer_names | |||
) | [related] |
Removes all layers which have been actually committed.
Use this to remove a bunch of layers. Only the layers which have been previously committed will be actually removed, all the other will be ignored. Returns the number of committed layers
void(* BaseEnc::commit_layer)(BaseEnc_ptr self, const char *layer_name) |
void(* BaseEnc::remove_layer)(BaseEnc_ptr self, const char *layer_name) |