對於以C++開發的規則引擎,核心功能之一是值類型。我到目前爲止的內容有點像COM風格的VARIANT - 每個值都知道它的類型。類型轉換有一些規則,但是有點混亂。創建一個簡單的腳本語言 - VARIANT-like值類型
我想知道是否有很好的插入值類可以用來解決這個問題,而不需要我使用整個預先構建的系統。例如,也許提振有一些東西?
對於以C++開發的規則引擎,核心功能之一是值類型。我到目前爲止的內容有點像COM風格的VARIANT - 每個值都知道它的類型。類型轉換有一些規則,但是有點混亂。創建一個簡單的腳本語言 - VARIANT-like值類型
我想知道是否有很好的插入值類可以用來解決這個問題,而不需要我使用整個預先構建的系統。例如,也許提振有一些東西?
基本上有三種類型的不同實現的:
boost::lexical_cast
是你的朋友在這裏,或boost::variant
...int
初始化,保持一個int
並且不允許隱象別的被處理 - 這是boost::any
型void*
聽起來更像他想要boost :: variant。 http://www.boost.org/doc/html/variant.html – 2010-01-10 14:51:53
@Roger:是的,注意到在發佈 – 2010-01-10 14:53:33
之後,我需要仔細觀察,但boost :: variant聽起來像是答案,爲了節省我寫下所有的東西從頭開始的東西。 – 2010-01-10 21:23:22
您應該首先限制隱式轉換:稍後添加它們比在廣泛使用它們之後刪除更容易。 – 2010-01-10 14:51:00
這可能是很好的建議,我最初的嘗試在轉換上存在一些奇怪的不一致。 – 2010-01-10 21:26:08