1 // File: QtxStdOperations.h
2 // Author: Alexander SOLOVYOV
4 #ifndef __QTX_STD_OPERATIONS_HEADER__
5 #define __QTX_STD_OPERATIONS_HEADER__
8 #include "QtxOperations.h"
10 //================================================================
13 //================================================================
14 class QTX_EXPORT QtxStdOperations : public QtxOperations
18 virtual ~QtxStdOperations();
20 virtual void opersList( QStringList& ) const;
21 virtual void bracketsList( QStringList&, bool open ) const;
23 virtual QtxParser::Error isValid( const QString&,
25 const QVariant::Type ) const;
27 typedef QValueList< QVariant::Type > ListOfTypes;
29 void addOperations( const QStringList& );
30 void addTypes( const ListOfTypes& );
37 //================================================================
40 //================================================================
41 class QTX_EXPORT QtxArithmetics : public QtxStdOperations
45 virtual ~QtxArithmetics();
47 virtual bool createValue( const QString&, QtxValue& ) const;
48 virtual int prior( const QString&, bool isBin ) const;
49 virtual QtxParser::Error calculate( const QString&, QtxValue&, QtxValue& ) const;
52 //================================================================
55 //================================================================
56 class QTX_EXPORT QtxLogic : public QtxStdOperations
62 virtual bool createValue( const QString&, QtxValue& ) const;
63 virtual int prior( const QString&, bool isBin ) const;
64 virtual QtxParser::Error calculate( const QString&, QtxValue&, QtxValue& ) const;
67 //================================================================
70 //================================================================
71 class QTX_EXPORT QtxFunctions : public QtxStdOperations
75 virtual ~QtxFunctions();
77 virtual bool createValue( const QString&, QtxValue& ) const;
78 virtual int prior( const QString&, bool isBin ) const;
79 virtual QtxParser::Error calculate( const QString&, QtxValue&, QtxValue& ) const;
82 //================================================================
85 //================================================================
86 class QTX_EXPORT QtxStrings : public QtxStdOperations
90 virtual ~QtxStrings();
92 virtual bool createValue( const QString&, QtxValue& ) const;
93 virtual int prior( const QString&, bool isBin ) const;
94 virtual QtxParser::Error calculate( const QString&, QtxValue&, QtxValue& ) const;
97 //================================================================
100 //================================================================
101 class QTX_EXPORT QtxSets : public QtxStdOperations
104 typedef QValueList< QtxValue > ValueSet;
110 virtual void bracketsList( QStringList&, bool open ) const;
111 virtual bool createValue( const QString&, QtxValue& ) const;
112 virtual int prior( const QString&, bool isBin ) const;
113 virtual QtxParser::Error isValid( const QString&,
114 const QVariant::Type,
115 const QVariant::Type ) const;
116 virtual QtxParser::Error calculate( const QString&, QtxValue&, QtxValue& ) const;
118 static void add( ValueSet&, const QtxValue& );
119 static void add( ValueSet&, const ValueSet& );
120 static void remove( ValueSet&, const QtxValue& );
121 static void remove( ValueSet&, const ValueSet& );