The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
cConditionGreater.h
Go to the documentation of this file.
1 /**
2  * @class cConditionGreater
3  * file name: cConditionGreater.h
4  * @author Betti Oesterholz
5  * @date 15.05.2011
6  * @mail webmaster@BioKom.info
7  *
8  * System: C++
9  *
10  * This class represents a condition to compare values on lower.
11  * Copyright (C) @c LGPL3 2011 Betti Oesterholz
12  *
13  * This program is free software: you can redistribute it and/or modify
14  * it under the terms of the GNU Lesser General Public License (LGPL) as
15  * published by the Free Software Foundation, either version 3 of the
16  * License, or any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU Lesser General Public License for more details.
22  *
23  * You should have received a copy of the GNU Lesser General Public License
24  * along with this program. If not, see <http://www.gnu.org/licenses/>.
25  *
26  *
27  * This class represents a condition to compare values on lower.
28  * It is is true if the value of the first subfunction is greater than that
29  * of the second.
30  */
31 /*
32 History:
33 15.05.2011 Oesterholz created
34 */
35 
36 #ifndef ___C_CONDITION_GRATER_H__
37 #define ___C_CONDITION_GRATER_H__
38 
39 
40 #include "version.h"
41 #include "fibDatatyps.h"
42 #include "cReadBits.h"
43 
44 #include "cConditionComparison.h"
45 
46 
47 using std::set;
48 
49 namespace fib{
50 
51 
53 
54 public:
55 
56  /**
57  * The constructor of the xor condition.
58  *
59  * @param pInFirstSubFunction a pointer to the first function, this condition
60  * contains; Beware: It (pSubFunction) won't be copied.
61  * @see pFirstSubFunction
62  * @param pInSecondSubFunction a pointer to the second function, this
63  * condition contains; Beware: It (pSubFunction) won't be copied.
64  * @see pSecondSubFunction
65  * @param pInSuperiorCondition the condition which contains the
66  * new condition
67  * @param pInDefiningFibElement the Fib-element which defines/ uses
68  * the new condition
69  */
70  cConditionGreater( cUnderFunction * pInFirstSubFunction,
71  cUnderFunction * pInSecondSubFunction,
72  cCondition * pInSuperiorCondition = NULL,
73  cFibElement * pInDefiningFibElement = NULL );
74 
75  /**
76  * The constructor of the xor condition.
77  *
78  * @param inFirstSubFunction the first function, this condition contains
79  * @see pFirstSubFunction
80  * @param inSecondSubFunction the second function, this condition contains
81  * @see pSecondSubFunction
82  * @param pInSuperiorCondition the condition which contains the
83  * new condition
84  * @param pInDefiningFibElement the Fib-element which defines/ uses
85  * the new condition
86  */
87  cConditionGreater( const cUnderFunction & inFirstSubFunction,
88  const cUnderFunction & inSecondSubFunction,
89  cCondition * pInSuperiorCondition = NULL,
90  cFibElement * pInDefiningFibElement = NULL );
91 
92  /**
93  * The copy constructor of the condition.
94  * This constructor will also copy the subfunctions of the given
95  * condition.
96  *
97  * @param condition the condition which to copy
98  * @param pInSuperiorCondition the condition which contains the
99  * new condition
100  * @param pInDefiningFibElement the Fib-element which defines/ uses
101  * the new condition
102  */
103  cConditionGreater( const cConditionGreater & condition,
104  cCondition * pInSuperiorCondition = NULL,
105  cFibElement *pInDefiningFibElement = NULL );
106 
107 
108  /**
109  * The destructor of the condition.
110  */
111  virtual ~cConditionGreater();
112 
113  /**
114  * Returns the value of the condition (if it is true or false).
115  *
116  * @return true if the value of the first subfunction is greater than that
117  * of the second
118  */
119  virtual bool getValue() const;
120 
121  /**
122  * This method duplicates this whole condition.
123  * subfunction of this condition are also cloned.
124  *
125  * @param pSuperiorCondition the condition which contains the cloned
126  * condition
127  * @param pInDefiningFibElement the Fib-element which defines/ uses
128  * the cloned condition
129  * @return the cloned/ duplicated condition
130  */
131  virtual cConditionGreater * clone(
132  cCondition * pInSuperiorCondition = NULL,
133  cFibElement *pInDefiningFibElement = NULL) const;
134 
135  /**
136  * @return the type for the condition
137  */
138  virtual unsignedIntFib getType() const;
139 
140  /**
141  * @return the name for the condition
142  */
143  virtual string getConditionName() const;
144 
145 
146 
147 protected:
148 
149  /**
150  * @return the compressed type bits for this type of condition
151  */
152  virtual char getTypeBit() const;
153 
154 };//end class cConditionGreater
155 
156 
157 }//end namespace Fib
158 
159 #endif //___C_CONDITION_GRATER_H__