Expressions

- DOM::get now returns the input name by default, rather than "", which
  was the cause of many filter elements not working.
- Modified Variant to have no private data, which means fewer copies of
  Variants and less code.
- Eliminated Variant::operator^ - not needed.
This commit is contained in:
Paul Beckingham
2011-06-19 18:15:09 -04:00
parent 7762ee2f9e
commit 1bf6c8a9fa
4 changed files with 201 additions and 260 deletions

View File

@@ -68,7 +68,6 @@ public:
bool operator!= (Variant& other);
bool operator! ();
Variant& operator^ (Variant& other);
Variant& operator- (Variant& other);
Variant& operator+ (Variant& other);
Variant& operator* (Variant& other);
@@ -77,27 +76,21 @@ public:
void input (const std::string&);
std::string format ();
void cast (const variant_type);
variant_type type ();
void raw (const std::string&);
std::string raw ();
void raw_type (const std::string&);
std::string raw_type ();
void promote (Variant&, Variant&);
bool boolean ();
std::string dump ();
private:
variant_type mType;
public:
variant_type _type;
std::string _raw;
std::string _raw_type;
bool mBool;
int mInteger;
double mDouble;
std::string mString;
Date mDate;
Duration mDuration;
std::string mRaw;
std::string mRawType;
bool _bool;
int _integer;
double _double;
std::string _string;
Date _date;
Duration _duration;
};
#endif