Py11  v0.2
This is a minimalist Python wrapper for C++11.
py::obj Class Reference

wrapper of PyObject. More...

#include <py11/py.hpp>

Inheritance diagram for py::obj:
py::dict py::file py::num py::seq py::set py::list py::str py::tuple

Public Member Functions

 obj (const obj &o) noexcept
 copy ctor.
 
 obj (PyObject *p, bool borrowed=false) noexcept
 create from Py functions. More...
 
 obj (obj &&o) noexcept
 move ctor.
 
 obj (std::initializer_list< obj > l)
 tuple.
 
 ~obj () noexcept
 dtor.
 
void release () noexcept
 release the contained object
 
PyObject * transfer () noexcept
 transfer the ownership of inner object. More...
 
bool operator! () const
 test null.
 
 obj (int i)
 int.
 
 obj (long i)
 long.
 
bool is_int () const
 is_int.
 
long as_long () const
 get long from obj More...
 
 obj (double v)
 double ctor.
 
bool is_float () const
 is_float.
 
double as_double () const
 as_double from obj. More...
 
 obj (const char *s)
 str.
 
const char * c_str () const
 c_str(). More...
 
obj type () const
 py object type. More...
 
bool is_a (const obj &t) const
 type check More...
 
bool has_attr (const obj &o) const
 has attr.
 
bool has_attr (const char *s) const
 has attr.
 
obj attr (const obj &o) const
 get attr. More...
 
obj attr (const char *s) const
 get attr. More...
 
obj a (const char *s) const
 get attr, short form. More...
 
void set_attr (const obj &a, const obj &v)
 set attr. More...
 
void set_attr (const char *a, const obj &v)
 set attr. More...
 
void del_attr (const obj &a)
 del attr. More...
 
void del_attr (const char *a)
 del attr. More...
 
bool operator< (const obj &o) const
 < More...
 
obj repr () const
 repr. More...
 
obj to_str () const
 str. More...
 
obj to_unicode () const
 unicode. More...
 
bool is_callable () const
 test callable.
 
template<typename... argT>
obj operator() (argT &&...a) const
 call using operator. More...
 
obj call (const obj &args) const
 call with args. More...
 
obj call (const obj &args, const obj &kw) const
 call with args, and key/value pairs. More...
 
long size () const
 'len' as 'size'. More...
 
bool has (const obj &x) const
 'in' as 'has'. More...
 
const obj operator[] (const obj &o) const
 get item. More...
 
void set_item (const obj &key, const obj &value)
 set_item. More...
 
void del_item (const obj &key)
 del_item. More...
 
iter begin () const
 get the begin iter. More...
 
iter end () const
 get the end iter.
 
obj dir () const
 py object dir. More...
 
Py_ssize_t refcnt () const
 refcnt.
 
PPyObject p () const
 get inner PyObject.
 

Detailed Description

wrapper of PyObject.

Definition at line 69 of file py.hpp.

Constructor & Destructor Documentation

py::obj::obj ( PyObject *  p,
bool  borrowed = false 
)
inlinenoexcept

create from Py functions.

in most of cases, need not to inc ref. please read python doc carefully

Definition at line 132 of file py.hpp.

Member Function Documentation

obj py::obj::a ( const char *  s) const
inline

get attr, short form.

Exceptions
index_err

Definition at line 382 of file py.hpp.

References p().

Referenced by operator()().

double py::obj::as_double ( ) const
inline

as_double from obj.

Exceptions
type_err

Definition at line 275 of file py.hpp.

long py::obj::as_long ( ) const
inline

get long from obj

Exceptions
type_err

Definition at line 251 of file py.hpp.

obj py::obj::attr ( const obj o) const
inline

get attr.

Exceptions
index_err

Definition at line 358 of file py.hpp.

References p().

obj py::obj::attr ( const char *  s) const
inline

get attr.

Exceptions
index_err

Definition at line 370 of file py.hpp.

References p().

iter py::obj::begin ( ) const
inline

get the begin iter.

Exceptions
type_err

Definition at line 787 of file py.hpp.

const char* py::obj::c_str ( ) const
inline

c_str().

Exceptions
type_err

Definition at line 292 of file py.hpp.

References p().

obj py::obj::call ( const obj args) const
inline

call with args.

Exceptions
type_err

Definition at line 602 of file py.hpp.

obj py::obj::call ( const obj args,
const obj kw 
) const
inline

call with args, and key/value pairs.

Exceptions
type_err

Definition at line 613 of file py.hpp.

void py::obj::del_attr ( const obj a)
inline

del attr.

Exceptions
index_err

Definition at line 414 of file py.hpp.

void py::obj::del_attr ( const char *  a)
inline

del attr.

Exceptions
index_err

Definition at line 424 of file py.hpp.

void py::obj::del_item ( const obj key)
inline

del_item.

Exceptions
index_err

Definition at line 699 of file py.hpp.

obj py::obj::dir ( ) const
inline

py object dir.

Exceptions
val_err

Definition at line 720 of file py.hpp.

References p().

bool py::obj::has ( const obj x) const
inline

'in' as 'has'.

Exceptions
type_err

Definition at line 651 of file py.hpp.

bool py::obj::is_a ( const obj t) const
inline

type check

Exceptions
type_err
val_err

Definition at line 327 of file py.hpp.

template<typename... argT>
obj py::obj::operator() ( argT &&...  a) const
inline

call using operator.

Exceptions
type_err

Definition at line 591 of file py.hpp.

References a().

bool py::obj::operator< ( const obj o) const
inline

<

Exceptions
val_err

Definition at line 436 of file py.hpp.

const obj py::obj::operator[] ( const obj o) const
inline

get item.

Warning, a new obj will be got! not a reference to the original one!

Exceptions
index_err

Definition at line 677 of file py.hpp.

References p().

obj py::obj::repr ( ) const
inline

repr.

Exceptions
val_err

Definition at line 531 of file py.hpp.

References p().

void py::obj::set_attr ( const obj a,
const obj v 
)
inline

set attr.

Exceptions
index_err

Definition at line 394 of file py.hpp.

void py::obj::set_attr ( const char *  a,
const obj v 
)
inline

set attr.

Exceptions
index_err

Definition at line 404 of file py.hpp.

void py::obj::set_item ( const obj key,
const obj value 
)
inline

set_item.

Exceptions
index_err

Definition at line 689 of file py.hpp.

long py::obj::size ( ) const
inline

'len' as 'size'.

Exceptions
type_err

Definition at line 626 of file py.hpp.

obj py::obj::to_str ( ) const
inline

str.

Exceptions
val_err

Definition at line 542 of file py.hpp.

References p().

obj py::obj::to_unicode ( ) const
inline

unicode.

Exceptions
val_err

Definition at line 554 of file py.hpp.

References p().

PyObject* py::obj::transfer ( )
inlinenoexcept

transfer the ownership of inner object.

Returns
the current PyObject*

Definition at line 206 of file py.hpp.

obj py::obj::type ( ) const
inline

py object type.

Exceptions
type_err

Definition at line 312 of file py.hpp.

References p().


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