The various VPR abstraction interfaces are documented extensively, and readers are encouraged to review the VPR Programmer Reference (refer to the VPR website for more information).
The VPR class names follow a standard convention, and understanding this can be helpful in navigating the API documentation. Classes that wrap platform-specific interfaces are named as follows: vpr::<Type><Platform>. For example, the NSPR implementation of vpr::SocketStream is named vpr::SocketStreamNSPR. Here, <Type> is “SocketStream”, and <Platform> is “NSPR”. The full list of platform names (as spelled in the class names) is as follows:
Posix: Used for general POSIX-specified interfaces
BSD: Used for the BSD socket wrapper classes
Termios: Used for the termios serial port wrapper classes
NSPR: Used for NSPR wrapper classes
SPROC: Used for the SPROC thread wrapper class
Win32: Used for Win32-specific wrapper classes