cpp/thread/counting semaphore/counting semaphore

@1@ Constructs an object of type with the internal counter initialized to.

@2@ Copy constructor is deleted.

Preconditions
@1@ Both and  are.

Exceptions
Throws nothing.