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

file object More...

#include <py11/_file.hpp>

Inheritance diagram for py::file:
py::obj

Public Member Functions

 file ()=default
 ctor.
 
 file (PyObject *p, bool borrowed=false)
 create from Py functions. More...
 
 file (const char *fn, const char *mode="r")
 ctor. More...
 
str readline (int n=0)
 readline More...
 
str filename () const
 get the filename
 
void write (const obj &o, bool use_raw=false)
 write an object More...
 
void write (const char *s)
 write a string More...
 
- Public Member Functions inherited from py::obj
 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

file object

Definition at line 6 of file _file.hpp.

Constructor & Destructor Documentation

py::file::file ( PyObject *  p,
bool  borrowed = false 
)
inline

create from Py functions.

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

Definition at line 62 of file _file.hpp.

References py::obj::p().

py::file::file ( const char *  fn,
const char *  mode = "r" 
)
inline

ctor.

Exceptions
val_err

Definition at line 85 of file _file.hpp.

Member Function Documentation

str py::file::readline ( int  n = 0)
inline

readline

Parameters
nif n == 0, read a whole line; if n > 0, read at most n chars.
Exceptions
io_err[FIXME] throw eof_err when n < 0

Definition at line 97 of file _file.hpp.

void py::file::write ( const obj o,
bool  use_raw = false 
)
inline

write an object

Parameters
use_rawif true, use str(), otherwise, use repr()
Exceptions
io_err

Definition at line 116 of file _file.hpp.

References py::obj::p().

void py::file::write ( const char *  s)
inline

write a string

Exceptions
io_err

Definition at line 127 of file _file.hpp.


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