VideoTools
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
G Namespace Reference

Low-level classes for o/s services. More...

Namespaces

 HexdumpImp
 A private scope used for the implementation details of G::hexdump and G::hex_dump.
 
 PublisherImp
 A private scope used in the implementation of G::Publisher and friends.
 
 Slot
 A typesafe callback library that isolates event sinks from event sources.
 

Classes

class  Arg
 A class which holds a represention of the argc/argv command line array, and supports simple command-line parsing. More...
 
class  Base64
 A base64 codec class. More...
 
class  bit_iterator
 A bit-by-bit input iterator that extracts bits in msb-to-lsb order from a sequence of bytes. More...
 
class  bit_stream
 A class for pulling integer values of various widths out of a bit stream. More...
 
class  Cleanup
 A static interface for registering cleanup functions that are called when the process terminates abnormally. More...
 
class  CleanupImp
 A pimple-pattern implementation class used by G::Cleanup. More...
 
class  Convert
 A static class which provides string encoding conversion functions. More...
 
class  ConvertImp
 A pimple-pattern implementation class for G::Convert. More...
 
class  Daemon
 A static interface for daemonising the calling process. More...
 
class  Date
 A date (dd/mm/yyyy) class. More...
 
class  EpochTime
 A subsecond-resolution timestamp based on a time_t. More...
 
class  DateTime
 A low-level static class used by Date and Time. More...
 
struct  threading
 Helper class for std::thread capabilities. More...
 
class  Directory
 An encapsulation of a file system directory that allows for iterating through the set of contained files. More...
 
class  DirectoryIterator
 A Directory iterator. More...
 
class  DirectoryList
 A Directory iterator with the same kind of interface as G::DirectoryIterator, but doing all file i/o in one go. More...
 
class  DirectoryIteratorImp
 A pimple-pattern implementation class for DirectoryIterator using opendir()/readdir(). More...
 
class  DirectoryTree
 A directory tree iterator for sorted, depth-first traversal of files and directories. More...
 
class  DirectoryTreeCallback
 A callback interface to allow G::DirectoryTree to ignore paths. More...
 
class  Environment
 A static class to wrap getenv() and putenv(). More...
 
class  Exception
 A general-purpose exception class derived from std::exception and containing a std::string. More...
 
class  Executable
 A structure representing an external program, holding a path and a set of arguments. More...
 
class  ExpGolomb
 Does exp-golomb decoding, as used in H.264 "ue(v)" syntax elements. More...
 
class  FatPipe
 A one-way, unreliable-datagram communication channel from a parent process to a child process, using shared memory. More...
 
class  FatPipeReceiver
 A class to read a fat pipe in the child process. More...
 
class  File
 A simple static class for dealing with files. More...
 
class  FileTree
 A class for walking files in a directory tree, with repositioning. More...
 
class  GetOpt
 A command line option parser. More...
 
class  Identity
 A combination of user-id and group-id, with a very low-level interface to the get/set/e/uid/gid functions. More...
 
class  IdentityUser
 A convenience class which, when used as a private base, can improve readability when calling Identity 'set' methods. More...
 
class  Item
 A variant class holding a string, an item map keyed by name, or an ordered list of items. More...
 
class  limits
 A scoping structure for a set of buffer sizes. More...
 
class  LocalSocketAddress
 An address class for G::LocalSocket that works with file system paths. More...
 
class  LocalSocket
 and accept()ing should be performed directly on the file descriptor. More...
 
class  Log
 A class for doing iostream-based logging. More...
 
class  LogOutput
 Controls and implements low-level logging output, as used by the Log interface. More...
 
class  MapFile
 A class for reading and editing key=value files, supporting the creation of backup files, variable expansion, character-set encoding and logging. More...
 
class  Md5
 MD5 message digest class. More...
 
class  Msg
 Wrappers for sendmsg() and recvmsg() that are near drop-in replacements for send()/sendto() and recv()/recvto(), but with SIGPIPE disabled and optional file-descriptor-passing capabilities. More...
 
class  NewProcess
 A class for creating new processes. More...
 
class  NewProcessWaitFuture
 A class that holds the parameters and the results of a waitpid() system call. More...
 
class  Pipe
 A private implementation class used by G::NewProcess that wraps a unix pipe. More...
 
class  NewProcessImp
 A pimple-pattern implementation class used by G::NewProcess. More...
 
class  noncopyable
 A noncopyable base class (a la boost). More...
 
class  OptionMap
 A map-like container for command-line options and their values. More...
 
class  OptionParser
 A parser for command-line arguments that operates according to an Options specification and returns an OptionValue multimap. More...
 
class  OptionsLevel
 Used by G::Options for extra type safety. More...
 
class  OptionsLayout
 Describes the layout for G::Options output. More...
 
class  Options
 A class to represent allowed command-line options and to provide command-line usage text. More...
 
class  OptionValue
 A simple structure encapsulating the value of a command-line option. More...
 
class  PathImp
 A private implementation class used by G::Path providing a set of static methods. More...
 
class  Path
 A Path object represents a file system path. More...
 
class  PidFile
 A class for creating pid files. More...
 
class  PublisherInfo
 A structure that holds diagnostic information for each G::Publisher slot. More...
 
class  Publisher
 A broadcast communication channel between unrelated processes using shared memory. More...
 
class  PublisherChannel
 A named publisher channel that can be subscribed to. More...
 
class  PublisherSubscriber
 A publication-channel subscriber endpoint. More...
 
class  PublisherSubscription
 An easy-to-use combination of a G::PublisherChannel object and a single G::PublisherSubscriber. More...
 
class  ReadWrite
 An abstract interface for reading and writing from a non-blocking i/o channel. More...
 
class  Root
 A class which acquires the process's special privileges on construction and releases them on destruction. More...
 
class  Semaphore
 A semaphore class with a posix or sysv implementation chosen at build-time. More...
 
class  SharedMemory
 A POSIX shared memory class. More...
 
class  SignalSafe
 An empty structure that is used to indicate a signal-safe, reentrant implementation. More...
 
class  Str
 A static class which provides string helper functions. More...
 
class  StringMapReader
 An adaptor for reading a const map<string,string> with at(key). More...
 
class  Test
 A static interface for enabling test features at run-time. More...
 
class  Time
 A simple time-of-day (hh/mm/ss) class. More...
 
class  Url
 A simple parser for URLs. More...
 
class  Process
 A static interface for doing things with processes. More...
 

Typedefs

typedef std::vector< std::string > StringArray
 A std::vector of std::strings.
 
typedef std::map< std::string,
std::string > 
StringMap
 A std::map of std::strings.
 

Functions

template<typename T >
bit_stream< T > & operator>> (bit_stream< T > &stream, bool &value)
 
template<typename T >
bit_stream< T > & operator>> (bit_stream< T > &stream, unsigned char &value)
 
template<typename T >
bit_stream< T > & operator>> (bit_stream< T > &stream, g_uint16_t &value)
 
template<typename T >
bit_stream< T > & operator>> (bit_stream< T > &stream, g_uint32_t &value)
 
template<typename T >
bit_stream< T > & operator>> (bit_stream< T > &stream, ExpGolomb::value< unsigned int > &value)
 
template<typename T >
bit_stream< T > & operator>> (bit_stream< T > &stream, ExpGolomb::value< int > &value)
 
EpochTime operator+ (EpochTime et, std::time_t s)
 
EpochTime operator+ (EpochTime lhs, EpochTime rhs)
 
EpochTime operator- (EpochTime big, EpochTime small_)
 
bool operator< (EpochTime lhs, EpochTime rhs)
 
bool operator== (EpochTime lhs, EpochTime rhs)
 
bool operator!= (EpochTime lhs, EpochTime rhs)
 
bool operator<= (EpochTime lhs, EpochTime rhs)
 
bool operator>= (EpochTime lhs, EpochTime rhs)
 
bool operator> (EpochTime lhs, EpochTime rhs)
 
std::ostream & operator<< (std::ostream &s, const EpochTime &et)
 
bool is_windows ()
 
bool is_linux ()
 
bool is_free_bsd ()
 
bool is_open_bsd ()
 
bool is_bsd ()
 
void swap (DirectoryTree &a, DirectoryTree &b)
 
void swap (FileTree &a, FileTree &b)
 
template<int N, typename T , typename Ttohex , typename Ttoprintable >
void hex_dump (std::ostream &out, T begin, T end, unsigned int address_width, const char *prefix, const char *space, const char *bar, unsigned int width, Ttohex tohex, Ttoprintable toprintable)
 Performs a hex dump to the given stream. More...
 
template<int N, typename T >
void hex_dump (std::ostream &out, T begin, T end, unsigned int address_width, const char *prefix, const char *space, const char *bar, unsigned int width)
 
template<int N, typename T >
void hex_dump (std::ostream &out, T begin, T end, unsigned int address_width, const char *prefix, const char *space, const char *bar)
 
template<int N, typename T >
void hex_dump (std::ostream &out, T begin, T end, unsigned int address_width)
 
template<int N, typename T >
void hex_dump (std::ostream &out, T begin, T end)
 convenience overloads...
 
template<int N, typename T >
void hex_dump (std::ostream &out, const T &str)
 
template<int N, typename T , typename Ttohex , typename Ttoprintable >
imp::hexdump_streamable< N, T,
Ttohex, Ttoprintable > 
hexdump (T begin, T end, unsigned int address_width, const char *prefix, const char *space, const char *bar, unsigned int width, Ttohex tohex, Ttoprintable toprintable)
 Returns a streamable object that does a hex dump. More...
 
template<int N, typename T >
imp::hexdump_streamable< N, T,
typename imp::hexdump_tohex,
typename
imp::hexdump_toprintable
hexdump (T begin, T end, unsigned int address_width, const char *prefix, const char *space, const char *bar, unsigned int width)
 
template<int N, typename T >
imp::hexdump_streamable< N, T,
typename imp::hexdump_tohex,
typename
imp::hexdump_toprintable
hexdump (T begin, T end, unsigned int address_width, const char *prefix, const char *space, const char *bar)
 
template<int N, typename T >
imp::hexdump_streamable< N, T,
typename imp::hexdump_tohex,
typename
imp::hexdump_toprintable
hexdump (T begin, T end, unsigned int address_width)
 
template<int N, typename T >
imp::hexdump_streamable< N, T,
typename imp::hexdump_tohex,
typename
imp::hexdump_toprintable
hexdump (T begin, T end)
 convenience overloads...
 
template<int N, typename T >
imp::hexdump_streamable< N,
typename T::const_iterator,
typename imp::hexdump_tohex,
typename
imp::hexdump_toprintable
hexdump (const T &seq)
 
std::string hostname ()
 Returns the hostname. More...
 
std::ostream & operator<< (std::ostream &stream, const G::Identity &identity)
 
std::ostream & operator<< (std::ostream &stream, const Item &item)
 
std::istream & operator>> (std::istream &stream, Item &item)
 
std::ostream & operator<< (std::ostream &stream, const Path &path)
 
Pathoperator+= (Path &p, const std::string &str)
 
Path operator+ (const Path &p, const std::string &str)
 
void swap (Path &p1, Path &p2)
 
template<int N>
imp::hexdump_streamable< N,
Gr::Vectors, typename
imp::hexdump_tohex, typename
imp::hexdump_toprintable
hexdump (const Gr::Vectors &v)
 

Detailed Description

Low-level classes for o/s services.

Key classes are:

Function Documentation

template<int N, typename T , typename Ttohex , typename Ttoprintable >
void G::hex_dump ( std::ostream &  out,
begin,
end,
unsigned int  address_width,
const char *  prefix,
const char *  space,
const char *  bar,
unsigned int  width,
Ttohex  tohex,
Ttoprintable  toprintable 
)

Performs a hex dump to the given stream.

Eg.

G::hex_dump<16>( std::cout , data.begin() , data.end() ) ;

defaulting overloads...

Definition at line 178 of file ghexdump.h.

template<int N, typename T , typename Ttohex , typename Ttoprintable >
imp::hexdump_streamable<N,T,Ttohex,Ttoprintable> G::hexdump ( begin,
end,
unsigned int  address_width,
const char *  prefix,
const char *  space,
const char *  bar,
unsigned int  width,
Ttohex  tohex,
Ttoprintable  toprintable 
)

Returns a streamable object that does a hex dump.

Eg.

std::cout << G::hexdump<16>(data.begin(),data.end()) << std::endl ;

defaulting overloads...

Definition at line 240 of file ghexdump.h.

std::string G::hostname ( )

Returns the hostname.

This may or may not relate to the host's name on some network.

Definition at line 27 of file ghostname_unix.cpp.