1 #ifndef ROSE_CodeGen_Object_H
2 #define ROSE_CodeGen_Object_H
6 #include "sage3basic.hhh"
8 namespace Rose {
namespace CodeGen {
19 template <Object otag>
105 static constexpr
bool is_template_symbol_variant(VariantT v) {
return v == V_SgTemplateFunctionSymbol || v == V_SgTemplateMemberFunctionSymbol; }
This class represents the concept of a class declaration statement. It includes the concept of an ins...
constexpr auto is_template_symbol_variant
This function returns whether the node variant is a template symbol for an Object kind /tparam otag a...
This class represents the concept of a class name within the compiler.
This class represents the concept of a function declaration statement.
typename object_helper< otag >::symbol_t symbol_t
The SgSymbol specialization for an Object kind /tparam otag an Object kind.
permits to gather types and symbols to extract an API from a set of headers.
Main namespace for the ROSE library.
Object
The five kind of objects manipulated by Rose::CodeGen::API and associated Rose::CodeGen::Factory.
symbol_t< otag > *API::* symref_t
Pointer to an API member /tparam otag an Object kind /tparam API.
This class represents the concept of a namespace name within the compiler.
This class represents the notion of a typedef declaration.
This class represents the concept of a variable name within the compiler (a shared container for the ...
This class represents the concept of a C++ namespace declaration.
typename object_helper< otag >::decl_t declaration_t
The SgDeclarationStatement specialization for an Object kind /tparam otag an Object kind...
This class represents the variable refernece in expressions.
This class represents the function being called and must be assembled in the SgFunctionCall with the ...
typename object_helper< otag >::ref_t reference_t
The SgReference specialization for an Object kind /tparam otag an Object kind.
This class represents the concept of a C or C++ variable declaration.