|
Polly 22.0.0git
|
#include <template_cpp.h>
Classes | |
| struct | class_decl_printer |
| struct | class_impl_printer |
| struct | class_printer |
| struct | method_decl_printer |
| struct | method_impl_printer |
Public Member Functions | |
| template_cpp_generator (clang::SourceManager &SM, std::set< clang::RecordDecl * > &exported_types, std::set< clang::FunctionDecl * > exported_functions, std::set< clang::FunctionDecl * > functions) | |
| virtual void | generate () override |
| void | foreach_template_class (const std::function< void(const template_class &)> &fn) const |
| void | print_forward_declarations (std::ostream &os) |
| void | print_friends (std::ostream &os) |
| Public Member Functions inherited from cpp_generator | |
| cpp_generator (SourceManager &SM, set< RecordDecl * > &exported_types, set< FunctionDecl * > exported_functions, set< FunctionDecl * > functions) | |
| Public Member Functions inherited from generator | |
| generator (SourceManager &SM, set< RecordDecl * > &exported_types, set< FunctionDecl * > exported_functions, set< FunctionDecl * > functions) | |
| virtual | ~generator () |
Public Attributes | |
| std::map< std::string, template_class > | template_classes |
Private Member Functions | |
| void | add_template_class (const isl_class &clazz, const std::string &name, const std::vector< Kind > &class_tuples) |
Additional Inherited Members | |
| Static Public Member Functions inherited from cpp_generator | |
| static string | type2cpp (const isl_class &clazz) |
| static string | type2cpp (string type_string) |
| Static Public Member Functions inherited from generator | |
| static std::string | drop_suffix (const std::string &s, const std::string &suffix) |
| static void | die (const char *msg) __attribute__((noreturn)) |
| static void | die (string msg) __attribute__((noreturn)) |
| static vector< string > | find_superclasses (Decl *decl) |
| static bool | is_subclass (FunctionDecl *decl) |
| static bool | is_overload (Decl *decl) |
| static bool | is_constructor (Decl *decl) |
| static bool | takes (Decl *decl) |
| static bool | keeps (Decl *decl) |
| static bool | gives (Decl *decl) |
| static bool | is_isl_ctx (QualType type) |
| static bool | first_arg_is_isl_ctx (FunctionDecl *fd) |
| static bool | is_isl_type (QualType type) |
| static bool | is_isl_neg_error (QualType type) |
| static bool | is_isl_bool (QualType type) |
| static bool | is_isl_stat (QualType type) |
| static bool | is_isl_size (QualType type) |
| static bool | is_long (QualType type) |
| static bool | is_callback (QualType type) |
| static bool | is_callback_arg (FunctionDecl *fd, int i) |
| static bool | is_string (QualType type) |
| static bool | is_static (const isl_class &clazz, FunctionDecl *method) |
| static bool | is_mutator (const isl_class &clazz, FunctionDecl *fd) |
| static string | extract_type (QualType type) |
| static const FunctionProtoType * | extract_prototype (QualType type) |
| static int | prototype_n_args (QualType type) |
| static ParmVarDecl * | persistent_callback_arg (FunctionDecl *fd) |
| Protected Member Functions inherited from generator | |
| void | add_subclass (RecordDecl *decl, const string &name, const string &sub_name) |
| void | add_class (RecordDecl *decl) |
| void | add_type_subclasses (FunctionDecl *method) |
| isl_class * | method2class (FunctionDecl *fd) |
| bool | callback_takes_argument (ParmVarDecl *param, int pos) |
| FunctionDecl * | find_by_name (const string &name, bool required) |
| Protected Attributes inherited from generator | |
| SourceManager & | SM |
| map< string, isl_class > | classes |
| map< string, FunctionDecl * > | functions_by_name |
| std::map< const Type *, ParmVarDecl * > | conversions |
Definition at line 94 of file template_cpp.h.
| template_cpp_generator::template_cpp_generator | ( | clang::SourceManager & | SM, |
| std::set< clang::RecordDecl * > & | exported_types, | ||
| std::set< clang::FunctionDecl * > | exported_functions, | ||
| std::set< clang::FunctionDecl * > | functions ) |
Definition at line 1099 of file template_cpp.cc.
References add_template_class(), generator::classes, cpp_generator::cpp_generator(), lookup_class_tuples(), name, generator::SM, and cpp_generator::type2cpp().
Referenced by template_cpp_generator::class_decl_printer::class_decl_printer(), and template_cpp_generator::class_impl_printer::class_impl_printer().
|
private |
Definition at line 1078 of file template_cpp.cc.
References cpp_type_printer::isl_namespace(), name, and template_classes.
Referenced by template_cpp_generator().
| void template_cpp_generator::foreach_template_class | ( | const std::function< void(const template_class &)> & | fn | ) | const |
Definition at line 1119 of file template_cpp.cc.
References fn, and template_classes.
Referenced by print_forward_declarations(), and print_friends().
|
overridevirtual |
Implements generator.
Definition at line 2953 of file template_cpp.cc.
References specialization_printer::print_classes(), and print_forward_declarations().
| void template_cpp_generator::print_forward_declarations | ( | std::ostream & | os | ) |
Definition at line 1132 of file template_cpp.cc.
References template_class::class_name, foreach_template_class(), template_class::is_anon(), template_class::is_anon_set(), and name.
Referenced by generate().
| void template_cpp_generator::print_friends | ( | std::ostream & | os | ) |
Definition at line 1155 of file template_cpp.cc.
References template_class::class_name, and foreach_template_class().
| std::map<std::string, template_class> template_cpp_generator::template_classes |
Definition at line 115 of file template_cpp.h.
Referenced by add_template_class(), foreach_template_class(), and template_cpp_generator::class_printer::is_return_kind().