1#ifndef mangling_support_INCLUDED 
    2#define mangling_support_INCLUDED 
    5namespace MangledNameSupport
 
   21     typedef std::set<SgClassDefinition*> setType;
 
   23     extern setType visitedTemplateDefinitions;
 
   25     void outputVisitedTemplateDefinitions();
 
   28std::string replaceNonAlphaNum (
const std::string& s);
 
   31std::string trimSpaces (
const std::string& s);
 
   35bool isValidMangledName (std::string name);
 
   39std::string joinMangledQualifiersToString (
const std::string& base, 
const std::string& name);
 
   84std::string mangleTypesToString (
const SgTypePtrList::const_iterator b, 
const SgTypePtrList::const_iterator e);
 
   89SgName mangleTypes (
const SgTypePtrList::const_iterator b, 
const SgTypePtrList::const_iterator e);
 
  107std::string mangleFunctionNameToString (
const std::string& s, 
const std::string& ret_type_name = std::string (
""));
 
  120std::string mangleTemplateArgsToString (
const SgTemplateArgumentPtrList::const_iterator b, 
const SgTemplateArgumentPtrList::const_iterator e);
 
  127SgName mangleTemplateArgs (
const SgTemplateArgumentPtrList::const_iterator b, 
const SgTemplateArgumentPtrList::const_iterator e);
 
  140std::string mangleTemplateToString (
const std::string& templ_name,
 
  141                               const SgTemplateArgumentPtrList& templ_args,
 
  146                       const SgTemplateArgumentPtrList& templ_args,
 
  161mangleTemplateFunctionToString (
const std::string& templ_name,
 
  162                                const SgTemplateArgumentPtrList& templ_args,
 
  171mangleTemplateFunction (
const std::string& templ_name,
 
  172                        const SgTemplateArgumentPtrList& templ_args,
 
  182std::string mangleTemplateArgsToString (
const SgTemplateParameterPtrList::const_iterator b, 
const SgTemplateParameterPtrList::const_iterator e);
 
  194std::string mangleTemplateToString (
const std::string& templ_name,
 
  195                               const SgTemplateParameterPtrList& templ_params,
 
  200                       const SgTemplateParameterPtrList& templ_params,
 
  207std::string mangleValueExp (
const SgValueExp* expr);
 
  234template <
class SgValueExpType_>
 
  236mangleSgValueExp (
const SgValueExpType_* expr)
 
  239    ROSE_ASSERT (isSgValueExp (expr) || !expr);
 
  241    ostringstream mangled_name;
 
  243      mangled_name << expr->get_value ();
 
  244    return mangled_name.str ();
 
This class represents a boolean value (expression value).
 
This class represents the concept of a declaration statement.
 
This class represents the notion of an expression. Expressions are derived from SgLocatedNodes,...
 
This class represents the concept of a scope in C++ (e.g. global scope, fuction scope,...
 
This class represents a type for all functions.
 
This class represents strings within the IR nodes.
 
This class represents the concept of a scope in C++ (e.g. global scope, fuction scope,...
 
This class represents the concept of a class definition in C++.
 
This class represents the notion of an value (expression value).