Rosetta
|
#include <class.hpp>
Public Member Functions | |
ClassBinder (clang::CXXRecordDecl const *c) | |
string | id () const override |
Generate string id that uniquely identify C++ binding object. For functions this is function prototype and for classes forward declaration. More... | |
clang::NamedDecl const * | named_decl () const override |
bool | bindable () const override |
check if generator can create binding More... | |
virtual void | request_bindings_and_skipping (Config const &) override |
check if user requested binding for the given declaration More... | |
void | add_relevant_includes (IncludeSet &includes) const override |
extract include needed for this generator and add it to includes vector More... | |
void | bind_with (string const &binder, Context &) |
generate binding code for this object by using external user-provided binder More... | |
void | bind (Context &) override |
generate binding code for this object and all its dependencies More... | |
std::vector< clang::CXXRecordDecl const * > | dependencies () const override |
return vector of declarations that need to be binded before this one could More... | |
string | prefix_code () const override |
return prefix portion of bindings code More... | |
![]() | |
virtual | ~Binder () |
bool | binding_requested () const |
bool | skipping_requested () const |
void | request_bindings () |
request bindings for this generator More... | |
void | request_skipping () |
request skipping for this generator More... | |
bool | is_binded () const |
return true if code was already generated for this object More... | |
string & | code () |
return binding code More... | |
string const & | code () const |
bool | is_in_system_header () |
return true if object is declared in system header More... | |
operator std::string () const | |
return unique strting ID for this binder More... | |
Private Member Functions | |
std::string | maybe_base_classes (Context &context) |
check if any of the base classes is wrappable and if generate a string describing them: , pybind11::base<BaseClass>() More... | |
void | generate_prefix_code () |
void | for_public_nested_classes (std::function< void(clang::CXXRecordDecl const *)> const &f) const |
string | bind_nested_classes (Context &context) |
std::string | bind_repr (Context &, Config const &) |
generate (if any) bindings for Python str by using appropriate global operator<< More... | |
Private Attributes | |
clang::CXXRecordDecl const * | C |
std::string | prefix_code_ |
std::vector< clang::FunctionDecl const * > | prefix_includes_ |
std::vector< clang::CXXRecordDecl const * > | dependencies_ |
Additional Inherited Members | |
![]() | |
typedef std::string | string |
|
inline |
|
overridevirtual |
extract include needed for this generator and add it to includes vector
Implements binder::Binder.
References binder::IncludeSet::add_include(), binder::add_relevant_includes(), add_relevant_includes(), C, ObjexxFCL::get(), create_a3b_hbs::i, kmeans_adaptive_kernel_density_bb_dependent_rotlib::m, O_annotate_includes, and binder::standard_name().
Referenced by add_relevant_includes().
|
overridevirtual |
generate binding code for this object and all its dependencies
Implements binder::Binder.
References binder::base_default_default_constructor_available(), binder::bind_constructor(), binder::bind_copy_constructor(), binder::bind_default_constructor(), binder::bind_enum(), binder::binding_public_data_members(), binder::binding_public_member_functions(), binder::binding_template_bases(), kmeans_adaptive_kernel_density_bb_dependent_rotlib::c, C, binder::callback_structure_name(), binder::class_qualified_name(), test.T009_Exceptions::e, binder::generate_comment_for_declaration(), binder::generate_documentation_string_for_declaration(), ObjexxFCL::get(), binder::indent(), binder::is_bindable(), binder::is_callback_structure_constructible(), binder::is_callback_structure_needed(), binder::is_inherited_from_enable_shared_from_this(), binder::is_skipping_requested(), binder::Context::module_variable_name(), binder::namespace_from_named_decl(), binder::python_class_name(), docking::s, binder::standard_name(), predPRE::t, and kmeans_adaptive_kernel_density_bb_dependent_rotlib::u.
generate (if any) bindings for Python str by using appropriate global operator<<
References kmeans_adaptive_kernel_density_bb_dependent_rotlib::c, C, binder::class_qualified_name(), ObjexxFCL::format::F(), binder::Context::global_insertion_operator(), binder::namespace_from_named_decl(), and binder::standard_name().
generate binding code for this object by using external user-provided binder
References kmeans_adaptive_kernel_density_bb_dependent_rotlib::c, C, binder::fix_boolean_types(), binder::generate_comment_for_declaration(), create_a3b_hbs::i, binder::mangle_type_name(), binder::Context::module_variable_name(), binder::namespace_from_named_decl(), subloop_histogram::size, binder::standard_name(), predPRE::t, binder::template_argument_to_string(), and binder::template_specialization().
|
overridevirtual |
check if generator can create binding
Implements binder::Binder.
References C, and binder::is_bindable().
|
inlineoverridevirtual |
return vector of declarations that need to be binded before this one could
Reimplemented from binder::Binder.
References dependencies_.
|
private |
References C, create_a3b_hbs::f, and docking::s.
|
private |
|
overridevirtual |
Generate string id that uniquely identify C++ binding object. For functions this is function prototype and for classes forward declaration.
Generate string id that uniquly identify C++ binding object. For functions this is function prototype and for classes forward declaration.
Implements binder::Binder.
References C, and binder::class_qualified_name().
Referenced by schema.Job::__repr__().
check if any of the base classes is wrappable and if generate a string describing them: , pybind11::base<BaseClass>()
References compute_difference::b, C, binder::class_qualified_name(), test.T009_Exceptions::e, detail::find(), ObjexxFCL::get(), binder::is_bindable(), binder::is_skipping_requested(), create_a3b_hbs::r, docking::R, binder::request_bindings(), and binder::standard_name().
|
inlineoverridevirtual |
Implements binder::Binder.
References C.
|
inlineoverridevirtual |
|
overridevirtual |
check if user requested binding for the given declaration
Implements binder::Binder.
References C, binder::is_binding_requested(), binder::is_skipping_requested(), and binder::request_bindings().
|
private |
Referenced by named_decl().
|
private |
Referenced by dependencies().
|
private |
Referenced by prefix_code().
|
private |