File indexing completed on 2026-09-22 08:57:42
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Expr_BinaryExpression_HeaderFile
0018 #define _Expr_BinaryExpression_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Expr_GeneralExpression.hxx>
0024 #include <Standard_Integer.hxx>
0025 class Expr_NamedUnknown;
0026
0027
0028
0029 class Expr_BinaryExpression : public Expr_GeneralExpression
0030 {
0031
0032 public:
0033 const occ::handle<Expr_GeneralExpression>& FirstOperand() const;
0034
0035 const occ::handle<Expr_GeneralExpression>& SecondOperand() const;
0036
0037
0038
0039 Standard_EXPORT void SetFirstOperand(const occ::handle<Expr_GeneralExpression>& exp);
0040
0041
0042
0043 Standard_EXPORT void SetSecondOperand(const occ::handle<Expr_GeneralExpression>& exp);
0044
0045
0046
0047 Standard_EXPORT int NbSubExpressions() const override;
0048
0049
0050
0051 Standard_EXPORT const occ::handle<Expr_GeneralExpression>& SubExpression(
0052 const int I) const override;
0053
0054
0055 Standard_EXPORT bool ContainsUnknowns() const override;
0056
0057
0058 Standard_EXPORT bool Contains(const occ::handle<Expr_GeneralExpression>& exp) const override;
0059
0060
0061
0062 Standard_EXPORT void Replace(const occ::handle<Expr_NamedUnknown>& var,
0063 const occ::handle<Expr_GeneralExpression>& with) override;
0064
0065
0066
0067
0068 Standard_EXPORT occ::handle<Expr_GeneralExpression> Simplified() const override;
0069
0070 DEFINE_STANDARD_RTTIEXT(Expr_BinaryExpression, Expr_GeneralExpression)
0071
0072 protected:
0073
0074 Standard_EXPORT void CreateFirstOperand(const occ::handle<Expr_GeneralExpression>& exp);
0075
0076
0077
0078 Standard_EXPORT void CreateSecondOperand(const occ::handle<Expr_GeneralExpression>& exp);
0079
0080 private:
0081 occ::handle<Expr_GeneralExpression> myFirstOperand;
0082 occ::handle<Expr_GeneralExpression> mySecondOperand;
0083 };
0084
0085 #include <Expr_BinaryExpression.lxx>
0086
0087 #endif