The rudiments class library consists of several classes. Some are utility classes, others are designed to be base classes for software.
- daemonprocess - base class for daemons
- errorhandler - base class that provides methods for setting and retrieving error messages
- filedescriptor - base class for classes that need to interact with file descriptors
- file - base class for classes that need to interact with files
- datatransportfactory - class for generating instances of clients and servers
- datatransport - base class for classes that transport data over (or associated with) a file descriptor (such as clients and servers)
- client - base class for clients
- inetclientsocket - base class for inet tcp stream clients
- unixclientsocket - base class for unix tcp stream clients
- server - base class for servers
- serversocket - base class for servers that listen on sockets
- inetserversocket - base class for inet tcp stream servers
- unixserversocket - base class for unix tcp stream servers
- listener - base class for listening on pools of file descriptors
- environment - environment variable processing class
- commandline - command line processing class
- datetime - date/time processing class
- logger - class for generating log messages
- permissions - class for generating file permissions
- randomnumber - class for generating random numbers
- regularexpression - class for dealing with regular expressions
- signalclasses - classes with methods for managing signals
- sharedmemory - shared memory class
- semaphoreset - semaphore class
- memorypool - class that implements a memory pool
- variablebuffer - class for storing arbitrary length data
- stringbuffer - class for storing arbitrary length strings
- string - string processing and evaluation class
- xmldom - a minimal XML DOM parser
- xmldomnode - an XML DOM tree node
- xmlsax - base class for xml parsers
- dtd - class for processing xml dtd's
- groupentry - container for /etc/group entries
- hostentry - container for /etc/hosts entries
- passwdentry - container for /etc/passwd entires
- protocolentry - container for /etc/protocols entries
- list - class for storing data in a doubly linked list
- dictionary - class for storing lists of key/data pairs
As a rule of thumb, the base classes should be inherited from and the utility classes should be instantiated as needed. Some of the utility classes have static methods which can be called directly without instantiating an instance of the class.