powerd++  0.4.4
Classes | Namespaces | Typedefs | Enumerations | Variables
io.hpp File Reference

Implements c++ wrappers for <cstdio> I/O functionality. More...

#include <cstdio>
#include <utility>
Include dependency graph for io.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sys::io::file< Ownership, Features >
 Produces file access types around the C file handling facilities. More...
 
struct  sys::io::enable_if< bool, T >
 Similar to std::enable_if, but it also has the value of the expression. More...
 
struct  sys::io::enable_if< false, T >
 Specialise enable_if for a false expression. More...
 
struct  sys::io::set< Set >
 Pack a set of integral values in a type. More...
 
struct  sys::io::contains< SetT, Value >
 Check whether a set type contains a value. More...
 
struct  sys::io::contains< set< Set ... >, Value >
 Specialise io::contains to unpack io::set. More...
 
struct  sys::io::is_superset_of< LSetT, RSetT >
 Check whether the left hand set is a superest of the right hand set. More...
 
struct  sys::io::is_superset_of< LSetT, set< RSet ... > >
 Specialise is_superset_of to unpack the right hand io::set. More...
 
struct  sys::io::query
 Ask questions about the contents of a string. More...
 
struct  sys::io::query::contains_ftor
 Test a string whether it contains a set of characters. More...
 
class  sys::io::file_feature< FileT,... >
 Implements the base functionality of all file access types. More...
 
class  sys::io::file_feature< FileT, read, Tail ... >
 Implement read support for file types. More...
 
class  sys::io::file_feature< FileT, write, Tail ... >
 Implement write support for file types. More...
 
class  sys::io::file_feature< FileT, seek, Tail ... >
 Implement seek support for file types. More...
 
class  sys::io::file< own, Features ... >
 Specialise for FILE object owning file instances. More...
 
class  sys::io::file< link, Features ... >
 Specialise for FILE object linking file instances. More...
 

Namespaces

 sys
 Wrappers around native system interfaces.
 
 sys::io
 This namespace contains c++ wrappers for <cstdio> functionality.
 

Typedefs

template<class SetT , auto Value>
using sys::io::contains_t = typename contains< SetT, Value >::type
 Check whether a set type contains a value. More...
 
template<class LSetT , class RSetT >
using sys::io::is_superset_of_t = typename is_superset_of< LSetT, RSetT >::type
 Check whether the left hand set is a superest of the right hand set. More...
 

Enumerations

enum  sys::io::feature { sys::io::feature::read, sys::io::feature::write, sys::io::feature::seek }
 Feature flags for file type composition. More...
 
enum  sys::io::ownership { sys::io::ownership::own, sys::io::ownership::link }
 Ownership relation to the underlying FILE object. More...
 

Variables

template<class SetT , auto Value>
constexpr const auto sys::io::contains_v = contains<SetT, Value>::value
 Check whether a set type contains a value. More...
 
template<class LSetT , class RSetT >
constexpr const auto sys::io::is_superset_of_v = is_superset_of<LSetT, RSetT>::value
 Check whether the left hand set is a superest of the right hand set. More...
 
file< link, write > sys::io::ferr {stderr}
 File access instances for stderr.
 
file< link, write > sys::io::fout {stdout}
 File access instances for stdout.
 
file< link, read > sys::io::fin {stdin}
 File access instances for stdin.
 

Detailed Description

Implements c++ wrappers for <cstdio> I/O functionality.


Class Documentation

◆ sys::io::file

class sys::io::file

template<ownership Ownership, feature ... Features>
class sys::io::file< Ownership, Features >

Produces file access types around the C file handling facilities.

Template Parameters
OwnershipDetermine the ownership relationship to the underlying FILE object
FeaturesA list of features the file type supports
See also
ownership
feature
file<own, Features ...>
file<link, Features ...>
file_feature

◆ sys::io::set

struct sys::io::set

template<auto ... Set>
struct sys::io::set< Set >

Pack a set of integral values in a type.

Template Parameters
SetA set of integral values

◆ sys::io::contains

struct sys::io::contains

template<class SetT, auto Value>
struct sys::io::contains< SetT, Value >

Check whether a set type contains a value.

Template Parameters
SetTA set of integral values packed in io::set
ValueThe value to look up

◆ sys::io::is_superset_of

struct sys::io::is_superset_of

template<class LSetT, class RSetT>
struct sys::io::is_superset_of< LSetT, RSetT >

Check whether the left hand set is a superest of the right hand set.

Template Parameters
LSetT,RSetTTwo io::set instances

◆ sys::io::query

struct sys::io::query

Ask questions about the contents of a string.

Collaboration diagram for sys::io::query:
[legend]
Class Members
struct contains_ftor contains Query the string for characters.