ROSE  0.11.145.0
Classes | Typedefs | Enumerations | Variables
Rose::CodeGen Namespace Reference

Description

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  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.
 

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.