Scarab  v2.9.0
Project 8 C++ Utility Library
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
unpacking_collector< policy > Class Template Reference

Helper class which collects positional, keyword, * and ** arguments for a Python function call. More...

#include <cast.h>

Public Member Functions

template<typename... Ts>
 unpacking_collector (Ts &&...values)
 
const tupleargs () const &
 
const dictkwargs () const &
 
tuple args () &&
 
dict kwargs () &&
 
object call (PyObject *ptr) const
 Call a Python function and pass the collected arguments. More...
 

Private Member Functions

template<typename T >
void process (list &args_list, T &&x)
 
void process (list &args_list, detail::args_proxy ap)
 
void process (list &, arg_v a)
 
void process (list &, detail::kwargs_proxy kp)
 

Static Private Member Functions

static void nameless_argument_error ()
 
static void nameless_argument_error (std::string type)
 
static void multiple_values_error ()
 
static void multiple_values_error (std::string name)
 
static void argument_cast_error ()
 
static void argument_cast_error (std::string name, std::string type)
 

Private Attributes

tuple m_args
 
dict m_kwargs
 

Detailed Description

template<return_value_policy policy>
class pybind11::detail::unpacking_collector< policy >

Helper class which collects positional, keyword, * and ** arguments for a Python function call.

Definition at line 1967 of file cast.h.

Constructor & Destructor Documentation

◆ unpacking_collector()

unpacking_collector ( Ts &&...  values)
inlineexplicit

Definition at line 1970 of file cast.h.

Member Function Documentation

◆ args() [1/2]

const tuple& args ( ) const &
inline

Definition at line 1980 of file cast.h.

◆ args() [2/2]

tuple args ( ) &&
inline

Definition at line 1983 of file cast.h.

◆ argument_cast_error() [1/2]

static void argument_cast_error ( )
inlinestaticprivate

Definition at line 2071 of file cast.h.

◆ argument_cast_error() [2/2]

static void argument_cast_error ( std::string  name,
std::string  type 
)
inlinestaticprivate

Definition at line 2076 of file cast.h.

◆ call()

object call ( PyObject *  ptr) const
inline

Call a Python function and pass the collected arguments.

Definition at line 1987 of file cast.h.

◆ kwargs() [1/2]

const dict& kwargs ( ) const &
inline

Definition at line 1981 of file cast.h.

◆ kwargs() [2/2]

dict kwargs ( ) &&
inline

Definition at line 1984 of file cast.h.

◆ multiple_values_error() [1/2]

static void multiple_values_error ( )
inlinestaticprivate

Definition at line 2062 of file cast.h.

◆ multiple_values_error() [2/2]

static void multiple_values_error ( std::string  name)
inlinestaticprivate

Definition at line 2067 of file cast.h.

◆ nameless_argument_error() [1/2]

static void nameless_argument_error ( )
inlinestaticprivate

Definition at line 2053 of file cast.h.

◆ nameless_argument_error() [2/2]

static void nameless_argument_error ( std::string  type)
inlinestaticprivate

Definition at line 2058 of file cast.h.

◆ process() [1/4]

void process ( list args_list,
T &&  x 
)
inlineprivate

Definition at line 1996 of file cast.h.

◆ process() [2/4]

void process ( list args_list,
detail::args_proxy  ap 
)
inlineprivate

Definition at line 2008 of file cast.h.

◆ process() [3/4]

void process ( list ,
arg_v  a 
)
inlineprivate

Definition at line 2013 of file cast.h.

◆ process() [4/4]

void process ( list ,
detail::kwargs_proxy  kp 
)
inlineprivate

Definition at line 2038 of file cast.h.

Member Data Documentation

◆ m_args

tuple m_args
private

Definition at line 2082 of file cast.h.

◆ m_kwargs

dict m_kwargs
private

Definition at line 2083 of file cast.h.


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