#include <platformstl/synch/semaphore.hpp>
The class is not actually defined in the platformstl namespace. Rather, it resolves to the appropriate type for the given platform, relying on Intersecting Conformance of the resolved platform-specific types.
When compiling on UNIX platforms, the platformstl::semaphore type resolves to the unixstl::semaphore class. On Windows platforms it resolves to the winstl::semaphore class. It is not defined for other platforms.