Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
netlib::address_tHolds the IP address and port of a remote host
AdvisoryLockAdvisory locking object WARNING: has no effect in Windows
AlphanumericValidatorValidator that allows alphanumerics only
quake::BspThe 3D space-partitioned map
quake::BspVersionBsp version object
circular_buffer_t< T >Simple circular buffer
quake::color_tColor struct TODO: centralize this somewhere? now redundant with glut::color_t
COM_ptr< T >COM_ptr<T>: smart pointer to automatically de-reference COM objects
CommandLineCommand Line object
CommonFileValidatorValidator that allows a subset of characters thought to be useful in filepaths
dialog::ContainerRequestObject to help construct dialog request streams
bezier::control_points_tBezier curve specified by control points
converse::ConversationHostAnyone that wants to start a conversation must supply one of these
converse::ConversationManagerObject that manages conversations on the server This object must be threadsafe!
converse::ConversationRouterObject that knows how to route conversation dialogs
counter_refPut one of these on the stack to automatically increment/decrement a counter
bezier::curve_tParamaterized bezier curve
graph::DAGDirected Acyclic Graph
DatahashBasic datahash object
crypto::DESKeyFast symmetric encryption
distribution_t< T >Basic distribution template
vgfx::DrawerClients must implement this if they want to draw
dialog::DrawerThis is the object that is capable of rendering dialogs
quake::entity_tGame entity in the bsp map
kdtree::EntryBase class for kd-tree entries. Clients can inherit from this
nstream::EntryGeneric entry in the namespace. This is either a Folder or File
netlib::envelope_tAn envelope describes from where and how a remote message arrived
quake::face_tPolygon face in the bsp map
dialog::FactoryClients will need to provide an object that implements this interface if they want to provide their own custom-defined dialog::Element objects
nstream::FileAtom in the namespace: a File is a named object from which you can request read-only streams
FixedBuffer< Sizer, Validator >Template that supports strings of a fixed buffer size
nstream::FolderFolder in the namespace: contains other stream::Entry objects
dialog::font_size_tSizing information about how a font is rendered
free_list_t< T >Simple free list manager
frustum_tBasic frustum object
glut_color_tColors used for GLUT (OpenGL utility library). 0-127 max component values
hfield::HeightfieldA logical heightfield
vgfx::hit_result_tHit_result_t -- returned from hit detection
dialog::HostClients will need to provide an object that implements this interface if they want callbacks etc
igzstreamInput stream for reading from gzip'd data
media::image_tThis is a basic image object
media::ImageLoaderAnyone wanting to support loading an image type must provide this interface
img_color_tStandard 4-byte color value for images. Byte ranges 0-255
xdrbuf::InputClass for reading data from the network
netlib::ip_addr_tRepresentation of IP address (abstracts IPv4 and IPv6)
threadsafe_map< K, T >::iterator_t
threadsafe_multimap< K, T >::iterator_t
threadsafe_queue< T >::iterator_t
quake::leaf_tLeaf in the BSP tree
quake::leafface_tLeaf face in the BSP tree
objtree::ListHow you interact with this object is the key to the objtree library
i18n::locale_tSimple struct for managing a locale specification
quake::lump_object_tObject in a lump
dialog::ManagerThis is the object that manages dialogs
nstream::ManagerObject that manages a particular space of named streams
matrix4_t4x4 matrix object
quake::meshvert_tMesh vertex
mlockClass that automatically locks and unlocks pthread mutexes To use mlocks in code:

  • create smart_mutex that will be locked
  • create an mlock object and pass the mutex in the constructor
  • on destruction, the mlock will automatically unlock the mutex
kdtree::NodeRoot (and node!) of a kd-tree This class is expected to be used as the core object for rendering and other CPU-intensive tasks, so it therefore has no virtual methods
quake::node_tNode in the BSP tree Note that the indexing scheme is unusual:

  • A non-negative index refers to a node
  • A negative index is a leaf, -(leaf + 1)
vgfx::NodeCheckerNodeChecker -- base class that can be used for walk validation see the bottom of this file for some useful validators
NullValidatorValidator that allows anything
vgfx::ObjectMapObjectMap is a physical manifestation of a vector graphics 2D area
ogzstreamOutput stream for writing gzip'd data
xdrbuf::OutputClass for writing data to the network
xdrbuf::PackletHeaderA PackletHeader describes a given packlet (what sort of data it is, and how much data is there)
plane_tBasic 2D plane in 3D space
kdtree::plane_tKdtree plane is always axis-aligned
quake::plane_t2D plane in the BSP tree
point2d_t< T >Template for two-dimensional point
point3d_tBasic 3D point object
threadpool::PoolBase threadpool object
vgfx::PrimitiveBase class from which all vector graphics objects inherit
prism_base_t< Size >Prism is a 3D object, basically a polygon in some plane with some extent in the plane normal direction
objtree::property_set_tSet of properties
objtree::property_tAbstraction of a general property of an object
vgfx::PushPopBrushHelper class to throw on the stack
bezier::quad_bezier_tQuadratic bezier curve
timer::QueueThis is a queue to which Timer objects can be added
netrq::QueueBasic network request queue
rect2d_t< T >Templated 2D rectangle
rect3d_tStandard 3D axis-aligned rectangle (also called axis-aligned bounding box, AABB)
netrq::RequestBase class from which clients can inherit
vgfx::RequestUsed to easily construct vgfx Requests
crypto::RSAKeyPrivate/public key pair
crypto::RSAPublicKeyPublic key suitable for encrypting
smart_dirSmart directory handle
smart_fdSmart file descriptor -- only use this for low-level objects! You probably want to use nstream or iostreams instead
smart_mutexClass that automatically creates and destroys mutexes
smart_ptr< T >Auto-destructing pointer class
stack_array< T, N >
nstream::StreamInstance of a read-only stream
dialog::TextDrawerFor testing, we provide a text-only drawer
quake::texture_path_tTexture information
ThirtyTwoCharacterSizerExample sizer that allows strings of up to 31 characters (so the buffer itself is 32 characters)
threadsafe_counterSimple synchronized counter
threadsafe_map< K, T >Threadsafe map object
threadsafe_multimap< K, T >A very simple map object that is safe for multiple threads to use at the same time
threadsafe_queue< T >
perf::time_tYes, my own time_t for convenience in the perf library
perf::TimerTimer class -- just throw one of these on the stack with a unique name
timer::TimerBase class from which you can inherit and construct your own timers
objtree::TreeRoot object for discovering objects
utf8_char_tUTF-8 character
quake::vertex_tVertex information
vgfx::visit_result_tHit detection results