#include <vCollection.h>
Public Member Functions | |
ColBinary (BaseExt *r_value=new BaseExt, BaseExt *l_value=new BaseExt) | |
ColBinary (BasePtr &r_value, BasePtr &l_value) | |
ColBinary (const ColBinary &other) | |
virtual | ~ColBinary () |
Base * | copy (void) const |
Returns an exact copy of this object. | |
virtual Variant | GetValue (void) const |
Returns the value in its native format. | |
virtual int | GetInt (void) const |
Returns an integer using the current value. | |
virtual float | GetFloat (void) const |
Returns a float using the current value. | |
myCol | GetCol (void) const |
bool | operator== (Base const &other) const |
compares two values | |
bool | operator!= (Base const &other) const |
compares two values | |
bool | operator>= (Base const &other) const |
compares two values | |
bool | operator<= (Base const &other) const |
compares two values | |
bool | operator> (Base const &other) const |
compares two values | |
bool | operator< (Base const &other) const |
compares two values | |
Protected Member Functions | |
virtual myCol | _operation (void) const |
Protected Attributes | |
BasePtr | r_child |
BasePtr | l_child |
Definition at line 191 of file vCollection.h.
vValue::Expr::Collection::ColBinary::ColBinary | ( | BasePtr & | r_value, | |
BasePtr & | l_value | |||
) | [inline] |
vValue::Expr::Collection::ColBinary::ColBinary | ( | const ColBinary & | other | ) | [inline] |
Definition at line 207 of file vCollection.h.
00207 : 00208 BaseExt(other), 00209 r_child(other.r_child->copy()), 00210 l_child(other.l_child->copy()) 00211 { }; virtual ~ColBinary() { };
virtual vValue::Expr::Collection::ColBinary::~ColBinary | ( | ) | [inline, virtual] |
Base* vValue::Expr::Collection::ColBinary::copy | ( | void | ) | const [inline, virtual] |
Returns an exact copy of this object.
This should be overwritten in any derived class or they will mysteriously vanish if you use the tValue::Set container, for example
Reimplemented from vValue::Expr::Collection::BaseExt.
Reimplemented in vValue::Expr::Collection::ColUnion, vValue::Expr::Collection::ColIntersection, and vValue::Expr::Collection::ColDifference.
Definition at line 214 of file vCollection.h.
References ColBinary().
00214 { return new ColBinary(*this); };
Variant vValue::Expr::Collection::ColBinary::GetValue | ( | void | ) | const [virtual] |
Returns the value in its native format.
Reimplemented from vValue::Expr::Core::Base.
Definition at line 174 of file vCollection.cpp.
References _operation().
00174 { return (*_operation().begin())->GetValue(); }
int vValue::Expr::Collection::ColBinary::GetInt | ( | void | ) | const [virtual] |
Returns an integer using the current value.
This should be overwritten in a derived class if it's sensible to convert the value to an integer
Reimplemented from vValue::Expr::Core::Base.
Definition at line 175 of file vCollection.cpp.
References _operation().
00175 { return (*_operation().begin())->GetInt(); }
float vValue::Expr::Collection::ColBinary::GetFloat | ( | void | ) | const [virtual] |
Returns a float using the current value.
This should be overwritten in a derived class if it's sensible to convert the value to a floating- point number
Reimplemented from vValue::Expr::Core::Base.
Definition at line 176 of file vCollection.cpp.
References _operation().
00176 { return (*_operation().begin())->GetFloat(); }
myCol vValue::Expr::Collection::ColBinary::GetCol | ( | void | ) | const [virtual] |
Convert the stored data into a collection.
Reimplemented from vValue::Expr::Collection::BaseExt.
Definition at line 177 of file vCollection.cpp.
References _operation().
00177 { return _operation(); }
bool vValue::Expr::Collection::ColBinary::operator== | ( | Base const & | other | ) | const [virtual] |
compares two values
Reimplemented from vValue::Expr::Core::Base.
Definition at line 149 of file vCollection.cpp.
References _operation().
00149 { 00150 BaseExt const *baseExt = dynamic_cast<BaseExt*>(const_cast<Base*>(&other)); 00151 return _operation() == static_cast<myCol >(*baseExt); 00152 }
bool vValue::Expr::Collection::ColBinary::operator!= | ( | Base const & | other | ) | const [virtual] |
compares two values
Reimplemented from vValue::Expr::Core::Base.
Definition at line 153 of file vCollection.cpp.
References _operation().
00153 { 00154 BaseExt const *baseExt = dynamic_cast<BaseExt*>(const_cast<Base*>(&other)); 00155 return _operation() != static_cast<myCol >(*baseExt); 00156 }
bool vValue::Expr::Collection::ColBinary::operator>= | ( | Base const & | other | ) | const [virtual] |
compares two values
Reimplemented from vValue::Expr::Core::Base.
Definition at line 157 of file vCollection.cpp.
References _operation().
00157 { 00158 BaseExt const *baseExt = dynamic_cast<BaseExt*>(const_cast<Base*>(&other)); 00159 return _operation() >= static_cast<myCol >(*baseExt); 00160 }
bool vValue::Expr::Collection::ColBinary::operator<= | ( | Base const & | other | ) | const [virtual] |
compares two values
Reimplemented from vValue::Expr::Core::Base.
Definition at line 161 of file vCollection.cpp.
References _operation().
00161 { 00162 BaseExt const *baseExt = dynamic_cast<BaseExt*>(const_cast<Base*>(&other)); 00163 return _operation() <= static_cast<myCol >(*baseExt); 00164 }
bool vValue::Expr::Collection::ColBinary::operator> | ( | Base const & | other | ) | const [virtual] |
compares two values
Reimplemented from vValue::Expr::Core::Base.
Definition at line 165 of file vCollection.cpp.
References _operation().
00165 { 00166 BaseExt const *baseExt = dynamic_cast<BaseExt*>(const_cast<Base*>(&other)); 00167 return _operation() > static_cast<myCol >(*baseExt); 00168 }
bool vValue::Expr::Collection::ColBinary::operator< | ( | Base const & | other | ) | const [virtual] |
compares two values
Reimplemented from vValue::Expr::Core::Base.
Definition at line 169 of file vCollection.cpp.
References _operation().
00169 { 00170 BaseExt const *baseExt = dynamic_cast<BaseExt*>(const_cast<Base*>(&other)); 00171 return _operation() < static_cast<myCol >(*baseExt); 00172 }
myCol vValue::Expr::Collection::ColBinary::_operation | ( | void | ) | const [protected, virtual] |
Reimplemented in vValue::Expr::Collection::ColUnion, vValue::Expr::Collection::ColIntersection, and vValue::Expr::Collection::ColDifference.
Definition at line 133 of file vCollection.cpp.
References a, b, vValue::Expr::Collection::getCol(), l_child, and r_child.
Referenced by GetCol(), GetFloat(), GetInt(), GetValue(), operator!=(), operator<(), operator<=(), operator==(), operator>(), and operator>=().
00133 { 00134 myCol res; 00135 00136 myCol a = getCol(ColBinary::r_child); 00137 myCol b = getCol(ColBinary::l_child); 00138 00139 set_union(a.begin(), 00140 a.end(), 00141 b.begin(), 00142 b.end(), 00143 inserter(res, res.begin()), 00144 FooPtrOps()); 00145 00146 return res; 00147 }
BasePtr vValue::Expr::Collection::ColBinary::r_child [protected] |
Definition at line 193 of file vCollection.h.
Referenced by vValue::Expr::Collection::ColDifference::_operation(), vValue::Expr::Collection::ColIntersection::_operation(), vValue::Expr::Collection::ColUnion::_operation(), and _operation().
BasePtr vValue::Expr::Collection::ColBinary::l_child [protected] |
Definition at line 194 of file vCollection.h.
Referenced by vValue::Expr::Collection::ColDifference::_operation(), vValue::Expr::Collection::ColIntersection::_operation(), vValue::Expr::Collection::ColUnion::_operation(), and _operation().