f, was recognized. In generic programming, it is often difficult or impossible to express types that depend on template parameters,[1][2] in particular the return type of function template instantiations.[1]Many vendors provide the typeof operator as a compiler extension.[3] As early as 1997, before C++ was fully standardized, Brian Parker proposed a portable solution based on the sizeof operator.[3] His work was expanded on by Bill Gibbons, who concluded that the technique had several limitations and was generally less powerful than an actual typeof mechanism.[3] In an October 2000 article of Dr. Dobb's Journal, Andrei Alexandrescu remarked that "[h]aving a typeof would make much template code easier to write and understand."[4] He also noted that "typeof and sizeof share the same backend, because sizeof has to compute the type anyway."[4] Andrew Koenig and Barbara E. Moo also recognized the usefulness of a built-in typeof facility, with the caveat that "using it often invites subtle