| AddrInfoHintsHelper | |
| AddrInfoLifeCycleHelper | |
| IVRemoteTimeZoneConverter | You can provide a callback interface for VInstant to allow for converting to and from "remote time zones" (RTZ) |
| IVShutdownHandler | IVShutdownHandler is the mix-in class (interface) for objects that are registered with the shutdown registry |
| VAbstractFileStream | VAbstractFileStream is a VStream subclass that implements the common part of the buffered and unbuffered file concrete subclasses, and defines the pure virtual API that they must implement |
| VAssert | This static helper class provides the various overloaded assertion functions that we call from our VASSERT macros |
| VAutoreleasePool | VAutoreleasePool currently is defined to support memory management in Cocoa applications |
| VBentoArray | VBentoArray is a VBentoAttribute that holds an array of homogeneous simple values; there is a subclass for each supported data type |
| VBentoAttribute | VBentoAttribute is an abstract base class for all of the concrete VBento attribute classes |
| VBentoBinary | VBentoBinary is a VBentoAttribute that holds untyped data |
| VBentoBool | VBentoBool is a VBentoAttribute that holds a bool value |
| VBentoBoolArray | VBentoBoolArray is a VBentoArray that holds an array of bool values |
| VBentoCallbackParser | VBentoCallbackParser is provided for you to subclass if you need to read a bento object (or complete hierarchy) from the stream "manually" |
| VBentoChar | VBentoChar is a VBentoAttribute that holds a VCodePoint value |
| VBentoColor | VBentoColor is a VBentoAttribute that holds a VColor value |
| VBentoDouble | VBentoDouble is a VBentoAttribute that holds a VDouble value |
| VBentoDoubleArray | VBentoDoubleArray is a VBentoArray that holds an array of VDouble values |
| VBentoDuration | VBentoDuration is a VBentoAttribute that holds a VDuration value |
| VBentoDurationArray | VBentoDurationArray is a VBentoArray that holds an array of VDuration values |
| VBentoFloat | VBentoFloat is a VBentoAttribute that holds a VFloat value |
| VBentoILine | VBentoILine is a VBentoAttribute that holds a VILine value |
| VBentoInstant | VBentoInstant is a VBentoAttribute that holds a VInstant value |
| VBentoInstantArray | VBentoInstantArray is a VBentoArray that holds an array of VInstant values |
| VBentoIPoint | VBentoIPoint is a VBentoAttribute that holds a VIPoint value |
| VBentoIPoint3D | VBentoIPoint3D is a VBentoAttribute that holds a VIPoint3D value |
| VBentoIPolygon | VBentoPolygon is a VBentoAttribute that holds a VIPolygon value |
| VBentoIRect | VBentoIRect is a VBentoAttribute that holds a VIRect value |
| VBentoISize | VBentoSize is a VBentoAttribute that holds a VISize value |
| VBentoLine | VBentoLine is a VBentoAttribute that holds a VLine value |
| VBentoMessageInputThread | VBentoMessageInputThread is a VMessageInputThread that can automatically handle no-such-handler or uncaught message dispatch exceptions, and in response send a Bento-based error reply back to the sender |
| VBentoNode | VBentoNode represents an object in the data hierarchy; objects can have named/typed attributes attached to them, as well as contained (child) objects |
| VBentoNotFoundException | This exception subclass is thrown by the throwing getters if they cannot find the requested attribute |
| VBentoPoint | VBentoPoint is a VBentoAttribute that holds a VPoint value |
| VBentoPoint3D | VBentoPoint3D is a VBentoAttribute that holds a VPoint3D value |
| VBentoPolygon | VBentoPolygon is a VBentoAttribute that holds a VPolygon value |
| VBentoRect | VBentoRect is a VBentoAttribute that holds a VRect value |
| VBentoS16 | VBentoS16 is a VBentoAttribute that holds a Vs16 value |
| VBentoS16Array | VBentoS16Array is a VBentoArray that holds an array of Vs16 values |
| VBentoS32 | VBentoS32 is a VBentoAttribute that holds a Vs32 value |
| VBentoS32Array | VBentoS32Array is a VBentoArray that holds an array of Vs32 values |
| VBentoS64 | VBentoS64 is a VBentoAttribute that holds a Vs64 value |
| VBentoS64Array | VBentoS64Array is a VBentoArray that holds an array of Vs64 values |
| VBentoS8 | VBentoS8 is a VBentoAttribute that holds a Vs8 value |
| VBentoS8Array | VBentoS8Array is a VBentoArray that holds an array of Vs8 values |
| VBentoSize | VBentoSize is a VBentoAttribute that holds a VSize value |
| VBentoString | VBentoString is a VBentoAttribute that holds a VString value |
| VBentoStringArray | VBentoStringArray is a VBentoArray that holds an array of VString values |
| VBentoTextNodeParser | This class performs parsing of Bento Text Format data to create a Bento data hierarchy from the text |
| VBentoU16 | VBentoU16 is a VBentoAttribute that holds a Vu16 value |
| VBentoU32 | VBentoU32 is a VBentoAttribute that holds a Vu32 value |
| VBentoU64 | VBentoU64 is a VBentoAttribute that holds a Vu64 value |
| VBentoU8 | VBentoU8 is a VBentoAttribute that holds a Vu8 value |
| VBentoUnknownValue | VBentoUnknownValue is a VBentoAttribute that holds a value that is read from an input stream but whose type is unknown; the object uses a VMemoryStream to hold the binary data of unknown type |
| VBinaryIOStream | VBinaryIOStream is a concrete VIOStream subclass that provides well-typed stream i/o using network byte order for its data |
| VBufferedFileStream | VBufferedFileStream is a concrete VStream class that implements stream i/o on a file, using buffered i/o APIs (e.g., fopen/fclose/fread/fwrite) |
| VChar | VChar is a simple wrapper for C char values |
| VClassFactory | VClassFactory is the abstract base class that you subclass to provide a method that instantiates a particular type of object |
| VClassRegistry | VClassRegistry provides a mechanism for instantiating objects dynamically at runtime based on class IDs |
| VClientSession | This base class provides the API and services general to the various types of client sessions that may keep a connection alive for a relatively long time, typically with a user's login credentials |
| VClientSessionFactory | Implement a subclass of VClientSessionFactory (specifically, the createSession() method) to create a socket listener that will create the desired type of VClientSession whenever an incoming connection is accepted on that socket |
| VCodePoint | VCodePoint stores a Unicode code point, which is similar to a 'char' except that the range of values is vastly larger than what fits in one byte |
| VColor | VColor defines a color value in terms of RGB and Alpha |
| VColorMapper | VColorMapper is an abstract base class that defines the API for looking up the colors assigned to a particular data value (string, integer, Vs64, or double) |
| VColorPair | VColorPair holds a foreground and background color as a single object for ease of management and use in the other APIs |
| VColorPalette | VColorPalette is a collection of color mappers keyed by name |
| VCompactingDeque< _Tp, _Alloc > | VCompactingDeque is a template class that subclasses std::deque and adds the ability to "compact" the deque internal structures when the deque drains |
| VCoutLogAppender | An appender that emits to the console using the std::cout stream |
| VCoutLogAppenderFactory | |
| VDate | VDate represents a calendar date: a year/month/day |
| VDateAndTime | VDateAndTime simply aggregates a VDate and a VTimeOfDay into one convenient object |
| VDirectIOFileStream | VDirectIOFileStream is a concrete VStream class that implements stream i/o on a file, using unbuffered i/o APIs (e.g., open/close/read/write) |
| VDirectoryIterationCallback | |
| VDoubleColorMapper | VDoubleColorMapper maps double values to colors |
| VDoubleRangeColorElement | VDoubleRangeColorElement stores one range element for a VDoubleRangeColorMapper |
| VDoubleRangeColorMapper | VDoubleRangeColorMapper maps ranges of double values to colors |
| VDuration | A VDuration is a length of time |
| VEOFException | VEOFException is a VException that indicates that a stream reader has hit the end of the stream while reading |
| VException | VException is the base class for all exceptions thrown by the Vault |
| VFailureEmitter | There are some types of unit tests where you have to do some setup before actually invoking the VUnit subclass, where the setup can fail |
| VFileLogAppender | An appender that emits to one big file |
| VFileLogAppenderFactory | |
| VFileSystem | This helper class is used internally to wrap POSIX file APIs needed by our low-level implementation, while handling thread interruption errors and retrying |
| VFileWriter | This class simplifies using the VFSNode::safelyOverwriteFile() API, by relieving you of the need to manually create a temporary buffer stream, etc |
| VForeignThread | VForeignThread is a special case that is intended to be declared on the stack in a callback or similar function that is called by a foreign (non-VThread) source such as the Windows Service Control Manager |
| VFSNode | A VFSNode represents a file or directory in the file system, whether it actually exists or not, and provides some methods for operating on it |
| VFSNodeFindCallback | This directory iterator is used by VFSNode::find() to search for a node with a specified name |
| VFSNodeInfo | VFSNodeInfo holds file system information about a node, and is used internally by VFSNode and its platform-specific helper functions |
| VFSNodeListCallback | This iteration callback is used to capture a directory's children's names as a list of nodes |
| VFSNodeNameCallback | This iteration callback is used to capture a directory's children's names as a list of strings |
| VHex | VHex is mainly a namespace for some global functions converting to/from hexadecimal strings and buffer display |
| VInstant | A VInstant is an object that represents an instant in time regardless of the location (and time zone) of where code is running |
| VInstantFormatter | This class describes how a VInstant should be formatted as a string |
| VInstantFormatterLocaleInfo | This class holds a set of locale-specific text and other information used when formatting VInstant time stamp strings |
| VInstantStruct | This structure is passed to or returned by the core functions to describe a calendar structured instant in some implied time zone |
| VIntegerColorMapper | VIntegerColorMapper maps integer values to colors |
| VIntegerRangeColorElement | VIntegerRangeColorElement stores one range element for a VIntegerRangeColorMapper |
| VIntegerRangeColorMapper | VIntegerRangeColorMapper maps ranges of integer values to colors |
| VIOStream | VIOStream is an abstract base class from which classes derive that perform well-typed I/O on raw streams |
| VLineT< T > | VLineT defines a line segment with two points |
| VListenerSocket | VListenerSocket is a special kind of socket that can accept incoming connections and create a new VSocket for each such connection that it accepts |
| VListenerThread | A VListenerThread is a thread whose run() method listens on a socket and creates a new VSocket for each incoming connection and a VSocketThread object to manage each such VSocket |
| VLogAppender | VLogAppender is an abstract base class that defines the API for writing output to a destination |
| VLogAppenderFactory | The abstract base class is what you implement to allow an appender class to be dynamically instantiated from settings, typically during a call to configure() at startup |
| VLogger | Static APIs for configuring the logging system, adding, removing, and finding appenders and loggers, etc |
| VLoggerLevel | This class holds the constants defining the log levels |
| VLoggerPrintStackConfig | This class encapsulates the configuration and state for when a named logger should decide to emit a stack trace upon emitting a message |
| VLoggerRepetitionFilter | VLoggerRepetitionFilter provides VLogger a simple way of preventing runaway repetitive log output |
| VMainThread | The VMainThread is a special case that is intended to be declared and called by the application's main function as follows: int main(int argc, char** argv) { VMainThread mainThread; return mainThread.execute(argc, argv); } This allows Vault to have a VThread object to represent the main thread, even though it is not a VThread-launched thread |
| VManagementInterface | VManagementInterface defines the interface for a class you can provide that will be notified as threads come and go, so that you can keep track of listeners, start them, stop them, kill them, etc |
| VMemoryStream | VMemoryStream is a concrete subclass of VStream, that provides stream i/o to a buffer in memory; during writes the buffer will expand automatically as necessary |
| VMessage | VMessage is an abstract base class that implements the basic messaging capabilities; the concrete subclass must implement the send() and receive() functions, which know how to read and write the particular message protocol format (the wire protocol) |
| VMessageFactory | VMessageFactory is an abstract base class that you must implement for purposes of giving an input thread a way to instantiate the correct concrete type of message |
| VMessageHandler | VMessageHandler is the abstract base class for objects that process inbound messages from various client connections |
| VMessageHandlerFactory | VMessageHandlerFactory defines the interface for factory objects that know how to create the appropriate type of concrete VMessageHandler subclass for a particular message ID or set of message IDs |
| VMessageHandlerTask | This interface defines a background task object that can be attached to a VClientSession, such that the session will not destruct until all attached tasks have ended |
| VMessageInputThread | VMessageInputThread understands how to perform blocking input reads of VMessage objects (finding and calling a VMessageHandler) from its i/o stream |
| VMessageOutputThread | VMessageOutputThread understands how to maintain and monitor a message output queue, waking up when a new message has been posted to the queue, and writing it to the output stream |
| VMessageQueue | VMessageQueue is a thread-safe FIFO queue of messages |
| VMutex | VMutex implements a platform-independent mutex that you can embed in an object or place on the stack to guarantee its cleanup when the VMutex object is destructed |
| VMutexLocker | VMutexLocker is a helper class that you can use to make working with mutexes easier, and more importantly to guarantee proper release behavior of a VMutex even when exceptions are raised |
| VMutexUnlocker | VMutexUnlocker is helper class that is the inverse of a VMutexLocker: it unlocks a mutex upon construction, and locks it upon destruction |
| VNamedLogger | VNamedLogger defines an object to which log output is initially sent |
| VNetworkInterfaceInfo | VNetworkInterfaceInfo describes an Internet interface on this computer |
| VPlatformAPI | VPlatformAPI defines the lower level APIs for interfacing directly with the platform's file system API which deal in paths |
| VPoint3DT< T > | VPoint3DT defines a point with x, y, and z coordinates |
| VPointT< T > | VPointT defines a point with x and y coordinates |
| VPolygonT< T > | VPolygonT defines a polygon or series of points |
| VRangeException | VRangeException is a VException that indicates that a value is outside the valid range of data |
| VReadOnlyMemoryStream | VReadOnlyMemoryStream is a convenience class that lets you share a single buffer between multiple memory streams |
| VRectT< T > | VRectT defines a rectangle |
| VRollingFileLogAppender | Not yet implemented |
| VRollingFileLogAppenderFactory | |
| VSemaphore | VSemaphore implements a platform-independent semaphore that you can embed in an object or place on the stack to guarantee its cleanup when the VSemaphore object is destructed |
| VServer | This abstract base class defines the interface that must be provided by a concrete server class in order to facilitate interaction with the classes that manage listeners, i/o threads, and messaging |
| VSettings | VSettings is the top level object you use to read and write a settings hierarchy |
| VSettingsAttribute | A VSettingsAttribute is a node that has a name and value |
| VSettingsCDATA | VSettingsCDATA is a node that represents text inside the tag hierarchy; what it really means is an attribute value whose name (as in name/value) is the tag name of its parent |
| VSettingsNode | VSettingsNode is the abstract class used to describe any node in the settings hierarchy |
| VSettingsTag | A VSettingsTag node is one that has optional attribute/value pairs and optional child nodes |
| VSettingsXMLParser | This is the class that contains the logic for parsing XML text into VSettings objects |
| VShutdownRegistry | The shutdown registry allows you to register a handler object that will be called to clean up when the program shuts down |
| VSilentLogAppender | An appender that discards everything emitted to it |
| VSilentLogAppenderFactory | |
| VSingleton< T > | VSingleton is a template class that provides a "singleton holder" that implements the "singleton" pattern behavior for a class T you write |
| VSingletonShutdownHandler< T > | This template class allows you to easily register a singleton class T with the shutdown registry, so that it will get cleaned up at shutdown |
| VSizeT< T > | VSizeT defines a width and height |
| VSocket | VSocket is the class that defines a BSD or Winsock socket connection |
| VSocketClosedException | VSocketClosedException is a VException that indicates that a read or write on a socket has failed because the socket has closed |
| VSocketConnectionStrategy | A socket connection strategy determines how to connect a socket in the face of DNS resolution, when an IP may resolve to more than one IP address |
| VSocketConnectionStrategyLinear | Connects to each DNS resolved IP address for a host name, in order, until one succeeds or a specified timeout is reached |
| VSocketConnectionStrategySingle | Connects to the first DNS resolved IP address for a host name |
| VSocketConnectionStrategyThreaded | Connects to the all DNS resolved IP addresses for a host name, in parallel batches, until one succeeds or a specified timeout is reached |
| VSocketConnectionStrategyThreadedRunner | Because the strategy involves creating multiple threads but wanting to proceed as soon as 1 of them succeeds, we need an intermediary thread object that can live longer and wait around for all of the workers to complete and properly bookkeep them |
| VSocketConnectionStrategyThreadedWorker | |
| VSocketFactory | VSocketFactory can be used as-is, or can be subclassed to create special kinds of sockets; normally every socket is just a VSocket, but it is conceivable to have things like VSecureSocket or such |
| VSocketInfo | VSocketInfo is essentially a structure that just contains a copy of information about a VSocket as it existed at the point in time when the VSocketInfo was created |
| VSocketStream | VSocketStream is a concrete VStream class that knows how to do i/o on a VSocket |
| VSocketThread | VSocketThread is an abstract base class, derived from VThread, that has both a VSocket, on which it presumably communicates with a client, and an owner VThread, which is presumably the VListenerThread that it |
| VSocketThreadFactory | VSocketThreadFactory is an abstract base class that you must override to create the kind of VSocketThread subclass you want |
| VStackTraceException | This simple helper class throws an exception with a stack trace included, without having to pass the boolean as you do with the base class |
| VStandinThread | VStandinThread is a special VThread object we simply declare as gStandinThread (but never execute) and reference if we need to return a reference to the current thread but it's not one of our threads |
| VStream | VStream is an abstract base class that defines a stream-oriented i/o API |
| VStreamCopier | VStreamCopier is a helper class for certain kinds of stream copy operations |
| VString | VString is a string container class that should help to eliminate almost all use of char buffer and char* and their inherent dangers, in the Vault APIs and most source code |
| VStringColorMapper | VStringColorMapper maps string values to colors |
| VStringIterator< vstring_ref > | VStringIterator iterates through a VString over its UTF-8 code points |
| VStringLogAppender | An appender that appends each emitted message to a multi-line string instance variable that can be obtained afterwards |
| VStringLogAppenderFactory | |
| VStringLogger | A special logger subclass meant to be declared on the stack (not "registered") and explicitly logged to, which uses an embedded VStringLogAppender to capture the emitted messages to a multi-line string |
| VStringRangeColorElement | VStringRangeColorElement stores one range element for a VStringRangeColorMapper |
| VStringRangeColorMapper | VStringRangeColorMapper maps ranges of string values to colors |
| VStringVectorLogAppender | An appender that appends each emitted message to a string list that can be obtained afterwards |
| VStringVectorLogAppenderFactory | |
| VStringVectorLogger | A special logger subclass meant to be declared on the stack (not "registered") and explicitly logged to, which uses an embedded VStringVectorLogAppender to capture the emitted messages to a string list |
| VSystemError | VSystemError captures the current system error code and the corresponding error message text |
| VTestInfo | VTestInfo is used internally by VUnit to hold a single test's info and result |
| VTestRunner | VTestRunner is an abstract interface for running a single unit test class |
| VTestSuitesWrapper | VTestSuitesRunner is a helper/wrapper class that handles proper setup and teardown of an entire set of test suites |
| VTextIOStream | VTextIOStream is a concrete VIOStream subclass that provides text line-oriented stream i/o |
| VThread | VThread is class that provides an easy way to create a thread of execution |
| VTimeOfDay | VTimeOfDay represents a time of day without understanding about calendars or time zones; it is simply an hour/minute/second container |
| VUnimplementedException | VUnimplementedException is a VException that indicates that a feature in the code is not yet implemented |
| VUnit | VUnit is a simple abstract base class used to build unit tests for the Vault classes |
| VUnitJUnitXMLOutput | This outputter writes test results in a JUnit-compatible XML format |
| VUnitOutputWriter | VUnitOutputWriter provides an abstract API for providing test results in various formats |
| VUnitSimpleTextOutput | This outputter writes test results in a simple human-readable text format |
| VUnitTeamCityBuildStatusOutput | This outputter writes test results in a TeamCity build status XML file format |
| VUnitTeamCityOutput | This outputter writes test results in a TeamCity stdout reporting format |
| VWriteBufferedStream | VWriteBufferedStream is a helper class that buffers writes until a flush is issued; reads are not allowed |