Rosetta
Public Member Functions | Private Attributes | List of all members
binder::FunctionBinder Class Reference

#include <function.hpp>

Inheritance diagram for binder::FunctionBinder:
Inheritance graph
[legend]

Public Member Functions

 FunctionBinder (clang::FunctionDecl const *f)
 
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 const * named_decl () const override
 return Clang AST NamedDecl pointer to original declaration used to create this Binder More...
 
bool bindable () const override
 check if generator can create binding More...
 
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 (Context &) override
 generate binding code for this object and all its dependencies More...
 
- Public Member Functions inherited from binder::Binder
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...
 
stringcode ()
 return binding code More...
 
string const & code () const
 
bool is_in_system_header ()
 return true if object is declared in system header More...
 
virtual std::vector< clang::CXXRecordDecl const * > dependencies () const
 return vector of declarations that need to be binded before this one could More...
 
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

clang::FunctionDecl const * F
 

Additional Inherited Members

- Public Types inherited from binder::Binder
typedef std::string string
 

Constructor & Destructor Documentation

◆ FunctionBinder()

binder::FunctionBinder::FunctionBinder ( clang::FunctionDecl const *  f)
inline

Member Function Documentation

◆ add_relevant_includes()

void binder::FunctionBinder::add_relevant_includes ( IncludeSet includes) const
overridevirtual

extract include needed for this generator and add it to includes vector

Implements binder::Binder.

References binder::add_relevant_includes(), and ObjexxFCL::format::F().

◆ bind()

void binder::FunctionBinder::bind ( Context context)
overridevirtual

◆ bindable()

bool binder::FunctionBinder::bindable ( ) const
overridevirtual

check if generator can create binding

Implements binder::Binder.

References ObjexxFCL::format::F(), and binder::is_bindable().

◆ id()

string binder::FunctionBinder::id ( ) const
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 ObjexxFCL::format::F(), and binder::function_qualified_name().

Referenced by schema.Job::__repr__().

◆ named_decl()

clang::NamedDecl const* binder::FunctionBinder::named_decl ( ) const
inlineoverridevirtual

return Clang AST NamedDecl pointer to original declaration used to create this Binder

Implements binder::Binder.

References F.

◆ request_bindings_and_skipping()

void binder::FunctionBinder::request_bindings_and_skipping ( Config const &  config)
overridevirtual

check if user requested binding for the given declaration

Implements binder::Binder.

References ObjexxFCL::format::F(), binder::is_binding_requested(), binder::is_skipping_requested(), and binder::request_bindings().

Member Data Documentation

◆ F

clang::FunctionDecl const* binder::FunctionBinder::F
private

Referenced by named_decl().


The documentation for this class was generated from the following files: