テンプレート パラメーター T を持つクラスがあります。クラスの一部の関数は、型 T のパラメーターを取得します。最大速度を達成するには、T が組み込み型の場合は値で渡し、他の型では const 参照で渡します。ケース。これはいくつかのテンプレート メタ プログラミングで達成できることはわかっていますが、標準 C++ ライブラリ (C++11 も歓迎) で、(コンパイル時に) それをサポートする、または実装を容易にする何らかの機能を探しています。 .
T が組み込み型の場合は get_type が T であり、T がそれ以外の場合は get_type が const T& である、次のようなコードを書きたいと思います。
template <typename T> void foo(get_type<T> a);
PS: Loki ( http://loki-lib.sourceforge.net/ ) に関数があることは知っていますが、コードを外部ライブラリに依存させたくありません。