- Main Page
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

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)
Path & | operator+= (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:

- Directory
- File
- GetOpt
- Log
- LogOutput
- Path
- Process
- Str

## 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
| ) |  |

Part of the slot/signal system.

Definition at line 156 of file gslot.h.

Referenced by GSmtp::AdminServerPeer::AdminServerPeer(), GSmtp::Client::Client(), G::Signal0::connect(), G::Signal1< bool >::connect(), G::Signal2< std::string, std::string >::connect(), G::Signal3< bool, unsigned long, std::string >::connect(), GSmtp::NetworkProcessor::NetworkProcessor(), GSmtp::NetworkVerifier::NetworkVerifier(), GSmtp::ProtocolMessageForward::ProtocolMessageForward(), GSmtp::ProtocolMessageStore::ProtocolMessageStore(), Main::Run::Run(), GSmtp::ServerProtocol::ServerProtocol(), and GSmtp::SpamProcessor::SpamProcessor().

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().