![]()  | 
  
    Rosetta
    3.7
    
   | 
 
Module - represent bindings of individual Python module. More...
#include <context.hpp>
Public Member Functions | |
| void | add (BinderOP &) | 
| void | generate (Config const &config) | 
| void | request_bindings (std::string const &type) | 
| string | module_variable_name (string const &namespace_) | 
| generate C++ expression for module variable for namespace_  More... | |
| void | add_insertion_operator (clang::FunctionDecl const *f) | 
| check if given CXXRecordDecl is already binded and if not add forward declaration for it.  More... | |
| clang::FunctionDecl const * | global_insertion_operator (clang::CXXRecordDecl const *) | 
| find gloval insertion operator for given type, return nullptr if not such operator find  More... | |
Private Types | |
| typedef std::string | string | 
Private Member Functions | |
| void | bind (Config const &config) | 
| bind all objects residing in namespaces and it dependency  More... | |
| std::set< string > | create_all_nested_namespaces () | 
| examine binded objects and recursivly create all nested namespaces  More... | |
| bool | is_forward_needed (clang::CXXRecordDecl const *) | 
| check if forward declaration for CXXRecordDecl needed  More... | |
| void | add_to_binded (clang::CXXRecordDecl const *) | 
| add given class to 'aleady binded' set  More... | |
| void | sort_binders () | 
| sort vector of binders by dependecy so python imports could work  More... | |
Private Attributes | |
| std::map< std::string,  clang::FunctionDecl const * >  | insertion_operators | 
| map of function-ptr -> Decl* for global instertion operators so we can determent for which types can bind repr  More... | |
| std::vector< BinderOP > | binders | 
| array of all binderes from translation unit  More... | |
| std::unordered_map< string,  BinderOP >  | types | 
| types → binder  More... | |
| std::set< string > | ids | 
| set of items unique id's to keep track of whats binders being added  More... | |
| std::set< string > | binded | 
| set of items unique id's to keep track of whats binded and not  More... | |
Module - represent bindings of individual Python module.
Context - root, hold bindings info for whole TranslationUnit
      
  | 
  private | 
| void binder::Context::add | ( | BinderOP & | b | ) | 
| void binder::Context::add_insertion_operator | ( | clang::FunctionDecl const * | f | ) | 
check if given CXXRecordDecl is already binded and if not add forward declaration for it.
References ObjexxFCL::format::F(), and binder::function_pointer_type().
      
  | 
  private | 
add given class to 'aleady binded' set
References binder::class_qualified_name().
      
  | 
  private | 
bind all objects residing in namespaces and it dependency
walk over all binders and bind one that belong to requested namespaces
References basic::options::OptionKeys::score::fiber_diffraction::b, binder::Binder::bind(), binder::Binder::bindable(), binder::Binder::binding_requested(), binder::Binder::is_binded(), binder::Binder::is_in_system_header(), and binder::Binder::request_bindings_and_skipping().
Referenced by app.pyrosetta_toolkit.window_modules.interactive_terminal.interactive_terminal.TkConsoleView::_setBindings().
      
  | 
  private | 
examine binded objects and recursivly create all nested namespaces
References basic::options::OptionKeys::score::fiber_diffraction::b, binder::base_namespace(), utility::keys::AutoKey< O, S, C >::code(), binder::namespace_from_named_decl(), and basic::options::OptionKeys::in::file::s.
| void binder::Context::generate | ( | Config const & | config | ) | 
References binder::base_namespace(), demo.D060_Folding::f, binder::file_name_prefix_for_binder(), BuildPackagedBindings::format, binder::generate_include_directives(), binder::Config::includes_code(), binder::last_namespace(), binder::main_module_header, binder::Config::maximum_file_length, binder::module_function_suffix, binder::module_header, binder::namespace_from_named_decl(), O_single_file, binder::Config::prefix, binder::replace_(), binder::Config::root_module, basic::options::OptionKeys::in::file::s, utility::to_string(), and binder::update_source_file().
| clang::FunctionDecl const * binder::Context::global_insertion_operator | ( | clang::CXXRecordDecl const * | C | ) | 
find gloval insertion operator for given type, return nullptr if not such operator find
References binder::class_qualified_name().
Referenced by binder::ClassBinder::bind_repr().
      
  | 
  private | 
check if forward declaration for CXXRecordDecl needed
References binder::class_qualified_name(), and binder::is_python_builtin().
| std::string binder::Context::module_variable_name | ( | std::string const & | namespace_ | ) | 
generate C++ expression for module variable for namespace_
Referenced by binder::EnumBinder::bind(), binder::FunctionBinder::bind(), binder::ClassBinder::bind(), binder::bind_forward_declaration(), and binder::ClassBinder::bind_with().
| void binder::Context::request_bindings | ( | std::string const & | type | ) | 
References binder::is_python_builtin(), and basic::options::OptionKeys::frags::contacts::type.
Referenced by binder::request_bindings().
      
  | 
  private | 
sort vector of binders by dependecy so python imports could work
References basic::options::OptionKeys::score::fiber_diffraction::b, C, binder::class_qualified_name(), basic::options::OptionKeys::score::fiber_diffraction::p, and basic::options::OptionKeys::run::repeat.
      
  | 
  private | 
set of items unique id's to keep track of whats binded and not
      
  | 
  private | 
array of all binderes from translation unit
      
  | 
  private | 
set of items unique id's to keep track of whats binders being added
      
  | 
  private | 
map of function-ptr -> Decl* for global instertion operators so we can determent for which types can bind repr
 1.8.7