susumu.yata
null+****@clear*****
Mon Jun 23 14:57:21 JST 2014
susumu.yata 2014-06-23 14:57:21 +0900 (Mon, 23 Jun 2014) New Revision: 918cbb51dbd4e63cabfd12f832f9728606351928 https://github.com/groonga/grnxx/commit/918cbb51dbd4e63cabfd12f832f9728606351928 Message: Add ExpressionOptions. Modified files: new-interface/expression-builder.hpp Modified: new-interface/expression-builder.hpp (+42 -0) =================================================================== --- new-interface/expression-builder.hpp 2014-06-20 16:54:43 +0900 (2fa6dcf) +++ new-interface/expression-builder.hpp 2014-06-23 14:57:21 +0900 (bc2360c) @@ -5,6 +5,48 @@ namespace grnxx { +enum DivisionByZeroHandling { + // TODO: + // - 失敗する. + // - デフォルト値にする. +}; + +enum OverflowHandling { + // TODO: + // - 失敗する. + // - デフォルト値にする. + // - 無視する(動作は未定義になる). + // - INT64_MIN / -1 は無視すると落ちるので無視できない. +}; + +enum NullHandling { + // TODO + // 失敗する. + // 参照先のデフォルト値にする. +}; + +enum NaNHandling { + // TODO + // 失敗する. + // 参照先のデフォルト値にする. +}; + +struct ExpressionOptions { + // ゼロによる除算の扱い. + DivisionByZeroHandling division_by_zero_handling; + + // オーバーフローの扱い. + OverflowHandling overflow_handling; + + // NULL 参照の扱い. + NullHandling null_handling; + + // NaN の扱い. + NaNHandling nan_handling; + + ExpressionOptions(); +}; + // 後置記法(逆ポーランド記法)に基づいて式のオブジェクトを構築する. class ExpressionBuilder { public: -------------- next part -------------- HTML����������������������������...下载