Classes | Typedefs | Functions
G Namespace Reference

Low-level classes. More...

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  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  Convert
 A static class which provides string encoding conversion functions. More...
 
class  Counter
 An instance counter to help with leak testing. More...
 
class  CounterImp
 A private implementation class used by the G::Counter<> class template. 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  DirectoryIteratorImp
 A pimple-pattern implementation class for DirectoryIterator. More...
 
class  DirectoryList
 A Directory iterator that does all file i/o in one go. 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  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  noncopyable
 A noncopyable base class (a la boost). More...
 
class  Pam
 A thin abstract interface to the system PAM library. More...
 
class  PamImp
 A pimple-pattern implementation class for Pam. More...
 
class  Path
 A Path object represents a file system path. More...
 
class  PidFile
 A class for creating pid files. More...
 
class  Pipe
 A private implementation class used by G::NewProcess. 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  Signal0
 Part of the slot/signal system. More...
 
class  Signal1
 Part of the slot/signal system. More...
 
class  Signal2
 Part of the slot/signal system. More...
 
class  Signal3
 Part of the slot/signal system. More...
 
class  SignalImp
 Part of the slot/signal system. More...
 
class  SignalSafe
 An empty structure that is used to indicate a signal-safe, reentrant implementation. More...
 
class  Slot0
 Part of the slot/signal system. More...
 
class  Slot1
 Part of the slot/signal system. More...
 
class  Slot2
 Part of the slot/signal system. More...
 
class  Slot3
 Part of the slot/signal system. More...
 
class  SlotBase
 Part of the slot/signal system. More...
 
class  SlotImp0
 Part of the slot/signal system. More...
 
class  SlotImp1
 Part of the slot/signal system. More...
 
class  SlotImp2
 Part of the slot/signal system. More...
 
class  SlotImp3
 Part of the slot/signal system. More...
 
class  SlotOp0
 Part of the slot/signal system. More...
 
class  SlotOp1
 Part of the slot/signal system. More...
 
class  SlotOp2
 Part of the slot/signal system. More...
 
class  SlotOp3
 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  StringMapReader
 An adaptor for reading a const StringMap with at(). 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. More...
 
typedef std::vector< std::string > StringArray
 A std::vector of std::strings. More...
 
typedef std::map< std::string,
std::string > 
StringMap
 A std::map of std::strings. More...
 

Functions

std::string hostname ()
 Returns the hostname. More...
 
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)
 Part of the slot/signal system. More...
 
template<typename T >
Slot0 slot (T &object, void(T::*fn)())
 Part of the slot/signal system. More...
 
template<typename T , typename P >
Slot1< P > slot (T &object, void(T::*fn)(P))
 Part of the slot/signal system. More...
 
template<typename T , typename P1 , typename P2 >
Slot2< P1, P2 > slot (T &object, void(T::*fn)(P1, P2))
 Part of the slot/signal system. More...
 
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. More...
 

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 44 of file gstrings.h.

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

A std::map of std::strings.

Definition at line 49 of file gstrings.h.

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

A std::list of std::strings.

See also
Str

Definition at line 39 of file gstrings.h.

Function Documentation

std::string G::hostname ( )

Returns the hostname.

Definition at line 27 of file ghostname_unix.cpp.

References G::Environment::get(), and 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().

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::Identity identity 
)
inline

Definition at line 138 of file gidentity.h.

References G::Identity::str().

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::istream& G::operator>> ( std::istream &  stream,
G::Process::Id id 
)
inline

Definition at line 158 of file gprocess.h.

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

Part of the slot/signal system.

Definition at line 230 of file gslot.h.

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

Part of the slot/signal system.

Definition at line 304 of file gslot.h.

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

Part of the slot/signal system.

Definition at line 378 of file gslot.h.

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

Part of the slot/signal system.

Compensates for having no std::swap in gcc2.95.

Definition at line 80 of file gslot.h.

Referenced by G::Slot0::swap(), G::Slot1< bool >::swap(), G::Slot2< std::string, std::string >::swap(), and G::Slot3< bool, unsigned long, std::string >::swap().