ROSE 0.11.145.192
|
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 > |
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. | |
using Rose::CodeGen::tplargs_t = typedef std::vector<SgTemplateArgument *> |
using Rose::CodeGen::symbol_t = typedef typename object_helper<otag>::symbol_t |
using Rose::CodeGen::reference_t = typedef typename object_helper<otag>::ref_t |
using Rose::CodeGen::declaration_t = typedef typename object_helper<otag>::decl_t |
The SgDeclarationStatement specialization for an Object kind /tparam otag an Object kind.
using Rose::CodeGen::symref_t = typedef symbol_t<otag> * API::* |
|
strong |
The five kind of objects manipulated by Rose::CodeGen::API and associated Rose::CodeGen::Factory.
|
constexpr |