ThreadContext is the external interface to all thread state for anything outside of the CPU.
std::enable_if< std::is_integral< T >::value, T >::type random()
Use the SFINAE idiom to choose an implementation based on whether the type is integral or floating po...
virtual BaseCPU * getCpuPtr()=0
virtual System * getSystemPtr()=0