Universal Typed Array in C++