![]() |
Rosetta
3.7
|
Bindings Generator - represent object that can generate binding info for function, class, enum or data variable. More...
#include <context.hpp>
Public Types | |
typedef std::string | string |
Public Member Functions | |
virtual | ~Binder () |
virtual string | id () const =0 |
Generate string id that uniquly identify C++ binding object. For functions this is function prototype and for classes forward declaration. More... | |
virtual clang::NamedDecl * | named_decl () const =0 |
virtual bool | bindable () const =0 |
check if generator can create binding More... | |
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... | |
virtual void | request_bindings_and_skipping (Config const &)=0 |
check if user supplied config requested binding for the given declaration and if so request it More... | |
virtual void | add_relevant_includes (IncludeSet &) const =0 |
extract include needed for this generator and add it to includes vector More... | |
virtual void | bind (Context &)=0 |
generate binding code for this object and all its dependencies 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... | |
virtual std::vector < clang::CXXRecordDecl const * > | dependencies () const |
virtual string | prefix_code () const |
return prefix portion of bindings code More... | |
operator std::string () const | |
return unique strting ID for this binder More... | |
Private Attributes | |
bool | binding_requested_ =false |
bool | skipping_requested_ =false |
string | code_ |
Bindings Generator - represent object that can generate binding info for function, class, enum or data variable.
typedef std::string binder::Binder::string |
|
inlinevirtual |
|
pure virtual |
extract include needed for this generator and add it to includes vector
Implemented in binder::ClassBinder, binder::FunctionBinder, and binder::EnumBinder.
|
pure virtual |
generate binding code for this object and all its dependencies
Implemented in binder::ClassBinder, binder::FunctionBinder, and binder::EnumBinder.
Referenced by app.pyrosetta_toolkit.window_modules.interactive_terminal.interactive_terminal.TkConsoleView::_setBindings(), and binder::Context::bind().
|
pure virtual |
check if generator can create binding
Implemented in binder::ClassBinder, binder::FunctionBinder, and binder::EnumBinder.
Referenced by binder::Context::bind().
|
inline |
References binding_requested_.
Referenced by binder::Context::bind().
|
inlinevirtual |
Reimplemented in binder::ClassBinder.
|
pure virtual |
Generate string id that uniquly identify C++ binding object. For functions this is function prototype and for classes forward declaration.
Implemented in binder::ClassBinder, binder::FunctionBinder, and binder::EnumBinder.
Referenced by operator std::string().
bool binder::Binder::is_binded | ( | ) | const |
References binder::is_python_builtin().
Referenced by binder::Context::bind().
bool binder::Binder::is_in_system_header | ( | ) |
return true if object declared in system header
Referenced by binder::Context::bind().
|
pure virtual |
Implemented in binder::ClassBinder, binder::FunctionBinder, and binder::EnumBinder.
Referenced by binder::operator<<().
|
inlineexplicit |
return unique strting ID for this binder
References id().
|
inlinevirtual |
return prefix portion of bindings code
Reimplemented in binder::ClassBinder.
|
inline |
request bindings for this generator
References binding_requested_.
|
pure virtual |
check if user supplied config requested binding for the given declaration and if so request it
Implemented in binder::ClassBinder, binder::FunctionBinder, and binder::EnumBinder.
Referenced by binder::Context::bind().
|
inline |
request skipping for this generator
References skipping_requested_.
|
inline |
References skipping_requested_.
|
private |
Referenced by binding_requested(), and request_bindings().
|
private |
Referenced by request_skipping(), and skipping_requested().