If the enclosing class is not a class, returns false rather than give a compiler error for member data.
Cleaner implementation code avoiding use of internal statsic constant.
Updated to clearer code.
Added include.
Simplifying code.
Remove unused tests.
Fix for VC++ 10 and lower when enclosing type is not a class.
Fix to work when enclosing type is a non-class.
Updated tests for enclosing type which is not a class.
Cleaner and safer testing for enclosed type as a class.
Check for enclosing class being a non-class type.
Passing a non-class as the enclosing type does not produce an error but chooses the marker type.
Updated documentation for enclosing type.