![]() |
Rosetta
2019.07
|
#include <class.hpp>
Public Member Functions | |
ClassBinder (clang::CXXRecordDecl *c) | |
string | id () const override |
Generate string id that uniquly identify C++ binding object. For functions this is function prototype and for classes forward declaration. More... | |
clang::NamedDecl * | 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 |
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 |
string & | code () |
string const & | code () const |
bool | is_in_system_header () |
return true if object 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 () |
string | bind_nested_classes (clang::CXXRecordDecl const *EC, Context &context) |
std::string | bind_repr (Context &) |
generate (if any) bindings for Python str by using appropriate global operator<< More... | |
Private Attributes | |
clang::CXXRecordDecl * | 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(), C, ObjexxFCL::get(), test.T110_Numeric::m, O_annotate_includes, and binder::standard_name().
|
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(), 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(), basic::options::OptionKeys::in::file::s, binder::standard_name(), and basic::options::OptionKeys::in::file::t.
Referenced by bind_nested_classes().
|
private |
generate (if any) bindings for Python str by using appropriate global operator<<
References C, binder::class_qualified_name(), ObjexxFCL::format::F(), and binder::Context::global_insertion_operator().
generate binding code for this object by using external user-provided binder
References C, binder::fix_boolean_types(), binder::generate_comment_for_declaration(), binder::mangle_type_name(), binder::Context::module_variable_name(), binder::namespace_from_named_decl(), binder::standard_name(), basic::options::OptionKeys::in::file::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 |
Reimplemented from binder::Binder.
References dependencies_.
|
private |
|
overridevirtual |
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().
check if any of the base classes is wrappable and if generate a string describing them: , pybind11::base<BaseClass>()
References basic::options::OptionKeys::score::fiber_diffraction::b, C, binder::class_qualified_name(), test.T009_Exceptions::e, ObjexxFCL::get(), binder::is_bindable(), binder::is_skipping_requested(), binder::request_bindings(), and binder::standard_name().
|
inlineoverridevirtual |
Implements binder::Binder.
References C.
|
inlineoverridevirtual |
return prefix portion of bindings code
Reimplemented from binder::Binder.
References prefix_code_.
Referenced by bind_nested_classes().
|
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 |