Polly 19.0.0git
Public Member Functions | Public Attributes | List of all members
template_cpp_generator::class_printer Struct Referenceabstract
Inheritance diagram for template_cpp_generator::class_printer:
Inheritance graph
[legend]

Public Member Functions

 class_printer (const specialization &instance, const specialization_printer &instance_printer, bool is_declaration)
 
void print_return_type (const Method &method, const Kind &kind) const
 
void print_method_template_arguments (const Signature &sig)
 
void print_method_header (const Method &method, const Signature &sig)
 
bool print_special_method (const Method &method, const infix_map_map &special_methods)
 
void print_static_method (const Method &method)
 
void print_constructor (const Method &method)
 
bool is_return_kind (const Method &method, const Kind &return_kind)
 
void add_specialization (const Kind &kind)
 
bool print_matching_method (const Method &method, const Signature &sig, const Kind &match_arg)
 
bool print_matching_method (const Method &method, const Signature &sig)
 
void print_matching_method (const Method &method, const std::vector< Signature > &signatures)
 
void print_at_method (const Method &method)
 
bool print_special_member_method (const Method &method)
 
bool print_type_named_member_method (const Method &method)
 
bool print_member_method_with_name (const Method &method, const std::string &name)
 
void print_member_method (const Method &method)
 
void print_any_method (const Method &method)
 
virtual void print_method (const Method &method) override
 
virtual void print_method (const ConversionMethod &method) override
 
virtual void print_method_sig (const Method &method, const Signature &sig, bool deleted)=0
 
virtual bool want_descendent_overloads (const function_set &methods) override
 
void print_all_methods ()
 
- Public Member Functions inherited from cpp_generator::class_printer
 class_printer (std::ostream &os, const isl_class &clazz, cpp_generator &generator, bool declarations)
 
void print_constructors ()
 
void print_methods ()
 
bool next_variant (FunctionDecl *fd, std::vector< bool > &convert)
 
void print_method_variants (FunctionDecl *fd, const std::string &name)
 
virtual bool want_descendent_overloads (const function_set &methods)=0
 
void print_descendent_overloads (FunctionDecl *fd, const std::string &name)
 
void print_method_group (const function_set &methods, const std::string &name)
 
virtual void print_method (const Method &method)=0
 
virtual void print_method (const ConversionMethod &method)=0
 
virtual void print_get_method (FunctionDecl *fd)=0
 
void print_set_enums (FunctionDecl *fd)
 
void print_set_enums ()
 
ParmVarDecl * get_param (FunctionDecl *fd, int pos, const std::vector< bool > &convert)
 
void print_method_header (const Method &method, const cpp_type_printer &type_printer)
 

Public Attributes

const specializationinstance
 
template_cpp_generatorgenerator
 
- Public Attributes inherited from cpp_generator::class_printer
std::ostream & os
 
const isl_classclazz
 
const std::string cppstring
 
cpp_generatorgenerator
 
const bool declarations
 

Detailed Description

Definition at line 1310 of file template_cpp.cc.

Constructor & Destructor Documentation

◆ class_printer()

template_cpp_generator::class_printer::class_printer ( const specialization instance,
const specialization_printer instance_printer,
bool  is_declaration 
)

Definition at line 1357 of file template_cpp.cc.

Member Function Documentation

◆ add_specialization()

void template_cpp_generator::class_printer::add_specialization ( const Kind kind)

Definition at line 2344 of file template_cpp.cc.

References unify().

◆ is_return_kind()

bool template_cpp_generator::class_printer::is_return_kind ( const Method method,
const Kind return_kind 
)

◆ print_all_methods()

void template_cpp_generator::class_printer::print_all_methods ( )

◆ print_any_method()

void template_cpp_generator::class_printer::print_any_method ( const Method method)

◆ print_at_method()

void template_cpp_generator::class_printer::print_at_method ( const Method method)

Definition at line 2559 of file template_cpp.cc.

References at_keep, at_select, and plain_return_type().

◆ print_constructor()

void template_cpp_generator::class_printer::print_constructor ( const Method method)

Definition at line 1947 of file template_cpp.cc.

References constructor_sig, Method::name, and special_constructors.

◆ print_matching_method() [1/3]

bool template_cpp_generator::class_printer::print_matching_method ( const Method method,
const Signature sig 
)

◆ print_matching_method() [2/3]

bool template_cpp_generator::class_printer::print_matching_method ( const Method method,
const Signature sig,
const Kind match_arg 
)

◆ print_matching_method() [3/3]

void template_cpp_generator::class_printer::print_matching_method ( const Method method,
const std::vector< Signature > &  signatures 
)

Definition at line 2519 of file template_cpp.cc.

References any(), and instance_sig().

◆ print_member_method()

void template_cpp_generator::class_printer::print_member_method ( const Method method)

Definition at line 2704 of file template_cpp.cc.

References callback_name(), Method::name, and name_without_return().

◆ print_member_method_with_name()

bool template_cpp_generator::class_printer::print_member_method_with_name ( const Method method,
const std::string &  name 
)

Definition at line 2632 of file template_cpp.cc.

References member_methods, and name.

◆ print_method() [1/2]

void template_cpp_generator::class_printer::print_method ( const ConversionMethod method)
overridevirtual

Implements cpp_generator::class_printer.

Definition at line 2753 of file template_cpp.cc.

◆ print_method() [2/2]

void template_cpp_generator::class_printer::print_method ( const Method method)
overridevirtual

Implements cpp_generator::class_printer.

Definition at line 2743 of file template_cpp.cc.

◆ print_method_header()

void template_cpp_generator::class_printer::print_method_header ( const Method method,
const Signature sig 
)

◆ print_method_sig()

virtual void template_cpp_generator::class_printer::print_method_sig ( const Method method,
const Signature sig,
bool  deleted 
)
pure virtual

◆ print_method_template_arguments()

void template_cpp_generator::class_printer::print_method_template_arguments ( const Signature sig)

Definition at line 1520 of file template_cpp.cc.

References combine(), drop_initial(), Signature::params(), and print_template().

◆ print_return_type()

void template_cpp_generator::class_printer::print_return_type ( const Method method,
const Kind kind 
) const

Definition at line 1494 of file template_cpp.cc.

References cpp_type_printer::return_type().

◆ print_special_member_method()

bool template_cpp_generator::class_printer::print_special_member_method ( const Method method)

Definition at line 2608 of file template_cpp.cc.

References special_member_methods.

◆ print_special_method()

bool template_cpp_generator::class_printer::print_special_method ( const Method method,
const infix_map_map special_methods 
)

Definition at line 2588 of file template_cpp.cc.

References contains(), and Method::name.

◆ print_static_method()

void template_cpp_generator::class_printer::print_static_method ( const Method method)

Definition at line 1881 of file template_cpp.cc.

References static_methods.

◆ print_type_named_member_method()

bool template_cpp_generator::class_printer::print_type_named_member_method ( const Method method)

Definition at line 2617 of file template_cpp.cc.

References constructor_sig, and Method::name.

◆ want_descendent_overloads()

bool template_cpp_generator::class_printer::want_descendent_overloads ( const function_set methods)
overridevirtual

Implements cpp_generator::class_printer.

Definition at line 1562 of file template_cpp.cc.

Member Data Documentation

◆ generator

template_cpp_generator& template_cpp_generator::class_printer::generator

Definition at line 1347 of file template_cpp.cc.

◆ instance

const specialization& template_cpp_generator::class_printer::instance

Definition at line 1346 of file template_cpp.cc.


The documentation for this struct was generated from the following file: