Package pyplusplus :: Package decl_wrappers :: Module calldef_wrapper :: Class calldef_t

type calldef_t

source code

                 object --+    
                          |    
decl_wrapper.decl_wrapper_t --+
                              |
                             calldef_t
Known Subclasses:

base class, for code generator configration, for function declaration classes.

Instance Methods
 
__init__(self, *arguments, **keywords) source code
 
get_call_policies(self) source code
 
set_call_policies(self, call_policies) source code
 
has_wrapper(self)
returns True, if function - wrapper is needed
source code
 
get_overridable(self)
Check if the method can be overridden.
source code
 
set_overridable(self, overridable) source code
 
mark_as_non_overridable(self, reason)
mark this function as non-overridable
source code
 
add_transformation(self, *transformer_creators, **keywd)
add new function transformation.
source code

Inherited from decl_wrapper.decl_wrapper_t: disable_messages, disable_warnings, exclude, get_already_exposed, get_exportable, include, readme, rename, set_already_exposed, set_exportable, why_not_exportable

Class Variables
  BOOST_PYTHON_MAX_ARITY = 10
Boost.Python configuration macro value.

Inherited from decl_wrapper.decl_wrapper_t: SPECIAL_TYPEDEF_PICK_ANY

Properties
  call_policies
reference to call policies class.Default value is calculated at runtime, based on return value.
  use_keywords
boolean, if True, allows to call function from Python using keyword arguments.Default value is True.
  create_with_signature
boolean, if True Py++ will generate next code: def( ..., function type( function ref )Thus, the generated code is safe, when a user creates function overloading.Default value is computed, based on information from the declarations tree
  use_default_arguments
boolean, if True Py++ will generate code that will set default argumentsDefault value is True.
  overridable
Check if the method can be overridden.
  non_overridable_reason
returns the reason the function could not be overriden
  transformations
return list of function transformations that should be applied on the function

Inherited from decl_wrapper.decl_wrapper_t: alias, already_exposed, disabled_messages, documentation, exportable, ignore, include_files, logger

Method Details

__init__(self, *arguments, **keywords)
(Constructor)

source code 
Overrides: decl_wrapper.decl_wrapper_t.__init__

has_wrapper(self)

source code 

returns True, if function - wrapper is needed

The functionality by this function is uncomplete. So please don't use it in your code.

mark_as_non_overridable(self, reason)

source code 

mark this function as non-overridable

Not all fucntions could be overrided from Python, for example virtual function that returns non const reference to a member variable. Py++ allows you to mark these functions and provide and explanation to the user.

add_transformation(self, *transformer_creators, **keywd)

source code 

add new function transformation.

transformer_creators - list of transformer creators, which should be applied on the function keywd - keyword arguments for function_transformation_t class initialization


Class Variable Details

BOOST_PYTHON_MAX_ARITY

Boost.Python configuration macro value.

A function has more than BOOST_PYTHON_MAX_ARITY arguments, will not compile. You should adjust BOOST_PYTHON_MAX_ARITY macro. For more information see: http://mail.python.org/pipermail/c++-sig/2002-June/001554.html

Value:
10

Property Details

call_policies

reference to call policies class.Default value is calculated at runtime, based on return value.

Get Method:
get_call_policies(self)
Set Method:
set_call_policies(self, call_policies)

use_keywords

boolean, if True, allows to call function from Python using keyword arguments.Default value is True.

Get Method:
_get_use_keywords(self)
Set Method:
_set_use_keywords(self, use_keywords)

create_with_signature

boolean, if True Py++ will generate next code: def( ..., function type( function ref )Thus, the generated code is safe, when a user creates function overloading.Default value is computed, based on information from the declarations tree

Get Method:
_get_create_with_signature(self)
Set Method:
_set_create_with_signature(self, create_with_signature)

use_default_arguments

boolean, if True Py++ will generate code that will set default argumentsDefault value is True.

Get Method:
_get_use_default_arguments(self)
Set Method:
_set_use_default_arguments(self, use_default_arguments)

overridable

Check if the method can be overridden.

Get Method:
get_overridable(self) - Check if the method can be overridden.
Set Method:
set_overridable(self, overridable)

non_overridable_reason

returns the reason the function could not be overriden

transformations

return list of function transformations that should be applied on the function