0

私はboost-unit自分のプロジェクトの1つに使用しようとしています。このプロジェクトでは、速度、加速度、角速度などのいくつかの量が SI システムの基本単位で表されます。(m/s、m/s^2、rad/s^2)

ユーザーは、GUI インターフェイスを使用してこれらの量をプロットします。角速度としましょう。GUI では、ユーザーが基本単位を動的に変更できるようにする必要があります。オプションは次のとおりです。

長さ: m、cm、mm

時間: 秒、ミリ秒、分、時間

角度: ラジアン、デグ

boost-unit私のプロジェクトで使用するには、 のような数量5*m*s^-2*radを変換する汎用関数が必要5*1000/M_PI*180*mm*s^2*degです。

しかし、この関数を作成するための最良の方法が何であるかを完全に失いました。

次のようなものでなければならないと思います:

template<typename H1, typename H2, typename U, typename V>
quantity<V> convert(const quantity<U>& quantity);

どこH1とはによって構築できるH2タイプです。homogeneous_systemmake_system

4

0 に答える 0