NAME
XS::Framework::Manual::SVAPI::Io - XS::Framework IO C++ class reference
Io
Overview
The Io class is the wrapper around Perls IO* type. As with other type, it might hold an underlying Perl SV* or might not.
The Io object does not holds undef; if undef is assigned or supplied in constructor, the object is considered empty. In other words the undef and NULL have the same meaning for the class.
An IO is a structure which corresponds to a Perl file handles, sockets, pipes, etc, for example *STDOUT{IO}.
Construction
To create an wrapper around existing IO* the following constructors can be used:
Io (std::nullptr_t = nullptr)
Io (SV* sv, bool policy = INCREMENT)
Io (GV* sv, bool policy = INCREMENT)
Io (IO* sv, bool policy = INCREMENT)
Io (const Io& oth)
Io (Io&& oth)
Io (const Sv& oth)
Io (Sv&& oth)
If arguments is undef or NULL, the returned Io object will be empty.
Supported values are
Otherwise, if unappropriate value is supplied, then exception will be thrown.
As with all other SVAPI classes, assigment operators, get, set and dereferencing are supported.
int fileno() const
Returns file descriptor of underlying PerlIO. This method is NULL-unsafe.
char iotype() const
Returns the type of underlying PerlIO as per IoTYPE(). This method is NULL-unsafe.