|
ROSE 0.11.145.354
|
Collection of classes/functions to facilitate generation of source-code (esp. C/C++)
Classes | |
| struct | __factory_helper_t |
enables partial specializations w.r.t the template parameter otag More... | |
| class | API |
| permits to gather types and symbols to extract an API from a set of headers. More... | |
| class | Driver |
| facilitates the manipulation of source-files (esp. More... | |
| class | Factory |
| constructs expressions and types for the given API More... | |
| struct | object_helper |
| struct | object_helper< Object::a_class > |
| struct | object_helper< Object::a_function > |
| struct | object_helper< Object::a_namespace > |
| struct | object_helper< Object::a_typedef > |
| struct | object_helper< Object::a_variable > |
| struct | SymbolScanner |
| struct | SymbolScanner< void > |
| struct | SymbolScannerBase |
Typedefs | |
| using | tplargs_t = std::vector< SgTemplateArgument * > |
| template<Object otag> | |
| using | symbol_t = typename object_helper< otag >::symbol_t |
| The SgSymbol specialization for an Object kind /tparam otag an Object kind. | |
| template<Object otag> | |
| using | reference_t = typename object_helper< otag >::ref_t |
| The SgReference specialization for an Object kind /tparam otag an Object kind. | |
| template<Object otag> | |
| using | declaration_t = typename object_helper< otag >::decl_t |
| The SgDeclarationStatement specialization for an Object kind /tparam otag an Object kind. | |
| template<Object otag, typename API > | |
| using | symref_t = symbol_t< otag > *API::* |
| Pointer to an API member /tparam otag an Object kind /tparam API. | |
Enumerations | |
| enum class | Object { a_namespace , a_class , a_typedef , a_variable , a_function } |
| The five kind of objects manipulated by Rose::CodeGen::API and associated Rose::CodeGen::Factory. More... | |
Variables | |
| template<Object otag> | |
| constexpr auto | is_template_symbol_variant = object_helper<otag>::is_template_symbol_variant |
| This function returns whether the node variant is a template symbol for an Object kind /tparam otag an Object kind. | |
| template<Object otag> | |
| constexpr auto | search_for_symbol_from_symbol_table = object_helper<otag>::search_for_symbol_from_symbol_table |
| This function returns the symbol associated with a declaration /tparam otag an Object kind. | |
| using Rose::Source::Generation::tplargs_t = typedef std::vector<SgTemplateArgument *> |
| using Rose::Source::Generation::symbol_t = typedef typename object_helper<otag>::symbol_t |
| using Rose::Source::Generation::reference_t = typedef typename object_helper<otag>::ref_t |
| using Rose::Source::Generation::declaration_t = typedef typename object_helper<otag>::decl_t |
The SgDeclarationStatement specialization for an Object kind /tparam otag an Object kind.
| using Rose::Source::Generation::symref_t = typedef symbol_t<otag> * API::* |
|
strong |
|
constexpr |
|
constexpr |