#include <ace/Synch_T.h>
template<class TYPE> class ACE_TSS_Type_Adapter {
public:inline ACE_TSS_Type_Adapter (const TYPE value = 0);operator TYPE () { return value_; };operator TYPE & () { return value_; };private:TYPE value_;};
  ACE_TSSACE_TSS_Type_Adapter i;
  *i = 37;
  ACE_OS::fprintf (stderr, "%d\\n", *i);
int 
Unfortunately, though, some compilers have trouble with the implicit type conversions. This seems to work better:
  ACE_TSSACE_TSS_Type_Adapter i;
  i-operator int & () = 37;
  ACE_OS::fprintf (stderr, "%d\\n", i-operator int ());
int 
inline ACE_TSS_Type_Adapter (const TYPE value = 0);
operator TYPE () { return value_; };
operator TYPE & () { return value_; };
TYPE value_;