G Namespace Reference

Low-level classes. More...


Classes

class  Arg
 A class which holds a represention of the argc/argv command line array. More...
class  Cleanup
 An interface for registering cleanup functions which are called when the process terminates abnormally. More...
class  CleanupImp
 A private implementation class used by G::Cleanup. More...
class  CounterImp
 A private implementation class used by the G::Counter<> class template. More...
class  Counter
 An instance counter to help with leak testing. More...
class  Daemon
 A class for deamonising the calling process. More...
class  Date
 A date (dd/mm/yyyy) class. More...
class  DateTime
 A low-level static class used by Date and Time. More...
class  Directory
 An encapsulation of a file system directory which allows for iterating through the set of contained files. More...
class  DirectoryIterator
 A Directory iterator. More...
class  DirectoryList
 A Directory iterator that does all file i/o in one go. More...
class  DirectoryIteratorImp
 A pimple-pattern implementation class for DirectoryIterator. 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  File
 A simple static class for dealing with files. More...
class  FileSystem
 Provides information about the local operating system's file system conventions. More...
class  GetOpt
 A command line switch parser. More...
class  Identity
 A very low-level interface to getpwnam() and 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  limits
 A scoping structure for a set of buffer sizes. More...
class  Log
 A static class for doing iostream-based logging. More...
class  LogOutput
 Controls and implements low-level logging output, as used by the Log interface. More...
class  Md5
 MD5 class. More...
class  NewProcess
 A static interface for creating new processes. More...
class  Pipe
 A private implementation class used by G::NewProcess. More...
class  noncopyable
 A noncopyable base class (a la boost). More...
class  Path
 A Path object represents a file system path. More...
class  PidFile
 A class for creating pid files. More...
class  Process
 A static interface for doing things with processes. More...
class  Root
 A class which acquires the process's special privileges on construction and releases them on destruction. More...
class  Setter
 A class to manage a boolean flag while in scope. More...
class  SignalSafe
 An empty structure that is used to indicate a signal-safe, reentrant implementation. More...
class  SlotBase
 Part of the slot/signal system. More...
class  SignalImp
 Part of the slot/signal system. More...
class  SlotImp0
 Part of the slot/signal system. More...
class  SlotOp0
 Part of the slot/signal system. More...
class  Slot0
 Part of the slot/signal system. More...
class  Signal0
 Part of the slot/signal system. More...
class  SlotImp1
 Part of the slot/signal system. More...
class  SlotOp1
 Part of the slot/signal system. More...
class  Slot1
 Part of the slot/signal system. More...
class  Signal1
 Part of the slot/signal system. More...
class  SlotImp2
 Part of the slot/signal system. More...
class  SlotOp2
 Part of the slot/signal system. More...
class  Slot2
 Part of the slot/signal system. More...
class  Signal2
 Part of the slot/signal system. More...
class  SlotImp3
 Part of the slot/signal system. More...
class  SlotOp3
 Part of the slot/signal system. More...
class  Slot3
 Part of the slot/signal system. More...
class  Signal3
 Part of the slot/signal system. More...
class  StateMachine
 A finite state machine class template. More...
class  Str
 A static class which provides string helper functions. 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  Xtext
 An xtext codec class. More...

Typedefs

typedef std::list< std::string > Strings
 A std::list of std::strings.
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 Tout, typename Tin>
Tout Convert (const Tin &in)
 Does arithmetic conversions with overflow checking.
std::string hostname ()
std::ostream & operator<< (std::ostream &stream, const G::Identity &identity)
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)
std::ostream & operator<< (std::ostream &stream, const G::Process::Id &id)
std::istream & operator>> (std::istream &stream, G::Process::Id &id)
template<typename T>
void swap_ (T &t1, T &t2)
template<typename T>
Slot0 slot (T &object, void(T::*fn)())
 Part of the slot/signal system.
template<typename T, typename P>
Slot1< P > slot (T &object, void(T::*fn)(P))
 Part of the slot/signal system.
template<typename T, typename P1, typename P2>
Slot2< P1, P2 > slot (T &object, void(T::*fn)(P1, P2))
 Part of the slot/signal system.
template<typename T, typename P1, typename P2, typename P3>
Slot3< P1, P2, P3 > slot (T &object, void(T::*fn)(P1, P2, P3))
 Part of the slot/signal system.


Detailed Description

Low-level classes.

The G namespace contains low-level classes for file-system abstraction, date and time representation, string utility functions, logging, command line parsing etc.

Key classes are:


Typedef Documentation

typedef std::vector<std::string> G::StringArray

A std::vector of std::strings.

Definition at line 43 of file gstrings.h.

typedef std::map<std::string,std::string> G::StringMap

A std::map of std::strings.

Definition at line 48 of file gstrings.h.

typedef std::list<std::string> G::Strings

A std::list of std::strings.

See also:
Str

Definition at line 38 of file gstrings.h.


Function Documentation

template<typename Tout, typename Tin>
Tout G::Convert ( const Tin &  in  )  [inline]

Does arithmetic conversions with overflow checking.

See also:
boost::numeric_cast<>()

Definition at line 40 of file gconvert.h.

std::string G::hostname (  ) 

Definition at line 27 of file ghostname_unix.cpp.

References G::Str::toPrintableAscii().

Referenced by GNet::Local::hostname().

Path G::operator+ ( const Path &  p,
const std::string &  str 
) [inline]

Definition at line 175 of file gpath.h.

References G::Path::pathAppend(), and result.

Path& G::operator+= ( Path &  p,
const std::string &  str 
) [inline]

Definition at line 168 of file gpath.h.

References G::Path::pathAppend().

std::ostream& G::operator<< ( std::ostream &  stream,
const G::Process::Id id 
) [inline]

Definition at line 152 of file gprocess.h.

std::ostream& G::operator<< ( std::ostream &  stream,
const Path &  path 
) [inline]

Definition at line 162 of file gpath.h.

References G::Path::str().

std::ostream& G::operator<< ( std::ostream &  stream,
const G::Identity identity 
) [inline]

Definition at line 138 of file gidentity.h.

References G::Identity::str().

std::istream& G::operator>> ( std::istream &  stream,
G::Process::Id id 
) [inline]

Definition at line 158 of file gprocess.h.

template<typename T, typename P1, typename P2, typename P3>
Slot3<P1,P2,P3> G::slot ( T &  object,
void(T::*)(P1, P2, P3)  fn 
) [inline]

Part of the slot/signal system.

Definition at line 374 of file gslot.h.

template<typename T, typename P1, typename P2>
Slot2<P1,P2> G::slot ( T &  object,
void(T::*)(P1, P2)  fn 
) [inline]

Part of the slot/signal system.

Definition at line 300 of file gslot.h.

template<typename T, typename P>
Slot1<P> G::slot ( T &  object,
void(T::*)(P)  fn 
) [inline]

Part of the slot/signal system.

Definition at line 226 of file gslot.h.

template<typename T>
Slot0 G::slot ( T &  object,
void(T::*)()  fn 
) [inline]

template<typename T>
void G::swap_ ( T &  t1,
T &  t2 
) [inline]


Generated on Fri Apr 18 15:56:13 2008 for E-MailRelay by  doxygen 1.5.5