C ++で開発されたルールエンジンの場合、コア機能の1つは値型です。私がこれまでに持っているのは、COMスタイルのVARIANTに少し似ています。各値は、そのタイプを知っています。型変換にはいくつかのルールがありますが、少し面倒です。
事前に構築されたシステム全体を使用しなくても、これを解決するために使用できる優れたドロップイン値クラスがあるかどうか疑問に思いました。たとえば、ブーストには何かがありますか?
boost::anyまたはboost::Variantをお探しですか?
基本的に、バリアントの実装には3つのタイプがあります。
boost::lexical_cast
ここであなたの友達、またはboost::variant
...int
、とどまり、int
他のもののように暗黙的に扱われることを許可しない-これはboost::any
タイプですvoid*