FDO .NET API Reference Feature Data Objects

mgBinaryExpression.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 2004-2006  Autodesk, Inc.
00003 * 
00004 * This library is free software; you can redistribute it and/or
00005 * modify it under the terms of version 2.1 of the GNU Lesser
00006 * General Public License as published by the Free Software Foundation.
00007 * 
00008 * This library is distributed in the hope that it will be useful,
00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 * Lesser General Public License for more details.
00012 * 
00013 * You should have received a copy of the GNU Lesser General Public
00014 * License along with this library; if not, write to the Free Software
00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00016 *
00017 */
00018 
00019 #pragma once
00020 
00021 #include "FDO\Expression\mgExpression.h"
00022 #include "FDO\Expression\mgBinaryOperations.h"
00023 
00024 class FdoBinaryExpression;
00025 
00026 BEGIN_NAMESPACE_OSGEO_FDO_EXPRESSION
00027 public __gc class Express;
00028 public __gc __interface IExpressionProcessor;
00029 
00030 /// \ingroup (OSGeoFDOExpression)
00031 /// \brief
00032 /// The BinaryExpression class derives from Expression and represents string
00033 /// concatenation and the simple arithmetic operations add, subtract, multiply,
00034 /// and divide.
00035 public __gc class BinaryExpression : public NAMESPACE_OSGEO_FDO_EXPRESSION::Expression
00036 {
00037 public:
00038     /// \brief
00039     /// Constructs a default instance of an BinaryExpression.
00040     /// 
00041     /// \return
00042     /// Returns BinaryExpression
00043     /// 
00044     BinaryExpression();
00045 
00046     /// \brief
00047     /// Constructs an instance of an BinaryExpression using the specified arguments.
00048     /// 
00049     /// \param leftExpression 
00050     /// Input left hand expression
00051     /// \param operation 
00052     /// Input binary operation
00053     /// \param rightExpression 
00054     /// Input right hand expression
00055     /// 
00056     /// \return
00057     /// Returns BinaryExpression
00058     /// 
00059     BinaryExpression(NAMESPACE_OSGEO_FDO_EXPRESSION::Expression* leftExpression, NAMESPACE_OSGEO_FDO_EXPRESSION::BinaryOperations operation, NAMESPACE_OSGEO_FDO_EXPRESSION::Expression* rightExpression);
00060 
00061     /// \brief
00062     /// Gets the binary operation to be evaluated by this expression.
00063     /// 
00064     /// \return
00065     /// Returns the binary operation
00066     /// 
00067     __property NAMESPACE_OSGEO_FDO_EXPRESSION::BinaryOperations get_Operation();
00068 
00069     /// \brief
00070     /// Sets the binary operation to be evaluated by this expression.
00071     /// 
00072     /// \param value 
00073     /// Input binary operation value
00074     /// 
00075     /// \return
00076     /// Returns nothing
00077     /// 
00078     __property System::Void set_Operation(NAMESPACE_OSGEO_FDO_EXPRESSION::BinaryOperations value);
00079 
00080     /// \brief
00081     /// Gets the expression on the left side of the binary expression.
00082     /// 
00083     /// \return
00084     /// Returns the left hand side expression
00085     /// 
00086     __property NAMESPACE_OSGEO_FDO_EXPRESSION::Expression* get_LeftExpression();
00087 
00088     /// \brief
00089     /// Sets the expression on the left side of the binary expression.
00090     /// 
00091     /// \param value 
00092     /// Input left side expression
00093     /// 
00094     /// \return
00095     /// Returns nothing
00096     /// 
00097     __property System::Void set_LeftExpression(NAMESPACE_OSGEO_FDO_EXPRESSION::Expression* value);
00098 
00099     /// \brief
00100     /// Gets the expression on the right side of the binary expression.
00101     /// 
00102     /// \return
00103     /// Returns the right hand side expression
00104     /// 
00105     __property NAMESPACE_OSGEO_FDO_EXPRESSION::Expression* get_RightExpression();
00106 
00107     /// \brief
00108     /// Sets the expression on the right side of the binary expression.
00109     /// 
00110     /// \param value 
00111     /// Input right side expression
00112     /// 
00113     /// \return
00114     /// Returns nothing
00115     /// 
00116     __property System::Void set_RightExpression(NAMESPACE_OSGEO_FDO_EXPRESSION::Expression* value);
00117 
00118     /// \brief
00119     /// Overrides Expression.Process to pass the BinaryOperation to the appropriate expression processor operation.
00120     /// 
00121     /// \param processor 
00122     /// Input the IExpressionProcessor
00123     /// 
00124     /// \return
00125     /// Returns nothing
00126     /// 
00127     System::Void Process(NAMESPACE_OSGEO_FDO_EXPRESSION::IExpressionProcessor* processor);
00128 
00129     /// \brief
00130     /// Returns the well defined text representation of this expression.
00131     /// 
00132     /// \return
00133     /// Returns the well defined text representation of this expression
00134     /// 
00135     System::String* ToString();
00136 
00137     /// \brief
00138     /// Constructs a BinaryExpression object based on an unmanaged instance of the object
00139     /// 
00140     /// \param unmanaged 
00141     /// Input A Pointer to the unmanaged object.
00142     /// 
00143     /// \param autoDelete 
00144     /// Input Indicates if the constructed object should be automatically deleted 
00145     /// once it no longer referenced.
00146     /// 
00147     BinaryExpression(System::IntPtr unmanaged, System::Boolean autoDelete);
00148 
00149 public private:
00150     inline FdoBinaryExpression* GetImpObj();
00151 };
00152 END_NAMESPACE_OSGEO_FDO_EXPRESSION
00153 
00154 

Comments or suggestions? Send us feedback.