From OpenHome
Overview docs
API docs
ohNet is written using C++ with std::string replaced by special buffer classes. These buffer classes allow for more efficient use of memory at the cost of a steeper learning curve. Memory use benefits can be especially pronounced for the Device stack. API docs [7] for this version of the stack are available but the buffer classes are intended for internal use of the library and are as such currently undocumented.