|
OpenVDB 11.0.0
|
A map of unique ids to symbol tables which can be used to represent local variables within a program. New scopes can be added and erased where necessary and iterated through using find(). Find assumes that tables are added through parented ascending ids. More...
#include <openvdb_ax/codegen/SymbolTable.h>
Public Types | |
| using | MapType = std::map< size_t, SymbolTable > |
Public Member Functions | |
| SymbolTableBlocks () | |
| ~SymbolTableBlocks ()=default | |
| SymbolTable & | globals () |
| Access to the list of global variables which are always accessible. | |
| const SymbolTable & | globals () const |
| bool | erase (const size_t index) |
| Erase a given scoped indexed SymbolTable from the list of held SymbolTables. Returns true if the table previously existed. | |
| SymbolTable * | getOrInsert (const size_t index) |
| Get or insert and get a SymbolTable with a unique index. | |
| SymbolTable * | get (const size_t index) |
| Get a SymbolTable with a unique index. If it doesn't exist, nullptr is returned. | |
| llvm::Value * | find (const std::string &name, const size_t startIndex) const |
| Find a variable within the program starting at a given table index. If the given index does not exist, the next descending index is used. | |
| llvm::Value * | find (const std::string &name) const |
| Find a variable within the program starting at the lowest level SymbolTable. | |
| bool | replace (const std::string &name, llvm::Value *value) |
| Replace the first occurrance of a variable with a given name with a replacement value. Returns true if a replacement occurred. | |
A map of unique ids to symbol tables which can be used to represent local variables within a program. New scopes can be added and erased where necessary and iterated through using find(). Find assumes that tables are added through parented ascending ids.
| using MapType = std::map<size_t, SymbolTable> |
|
inline |
|
default |
Erase a given scoped indexed SymbolTable from the list of held SymbolTables. Returns true if the table previously existed.
| index | The SymbolTable index to erase |
|
inline |
Find a variable within the program starting at the lowest level SymbolTable.
| name | The variable name to find |
Find a variable within the program starting at a given table index. If the given index does not exist, the next descending index is used.
| name | The variable name to find |
| startIndex | The start SymbolTable index |
|
inline |
Get a SymbolTable with a unique index. If it doesn't exist, nullptr is returned.
| index | The SymbolTable index |
|
inline |
Get or insert and get a SymbolTable with a unique index.
| index | The SymbolTable index |
|
inline |
Access to the list of global variables which are always accessible.
|
inline |