This repository was archived by the owner on May 6, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Value
Nicuvëo edited this page Mar 29, 2014
·
2 revisions
A value object is a wrapper around some sqlite3 data. It is implemented using a boost::variant, which is a kind of type-safe union. Variants provide a visitor-based API, which is used here for data conversion.
Such a value is either:
- an Integer,
- a Float,
- some Text,
- a Blob,
- or Null (lack of value).
See the types page for more information about those underlying types.
class Value : public boost::variant<Null, Integer, Float, Text, Blob>
{
};--
| Name | Description |
|---|---|
| Value(Integer x) | Creates a Integer Value instance (implicitly). |
| Value(int x) | Creates a Integer Value instance (implicitly). |
| Value(Float x) | Creates a Float Value instance (implicitly). |
| Value(float x) | Creates a Float Value instance (implicitly). |
| Value(Text x) | Creates a Text Value instance (implicitly). |
| Value(const char* x) | Creates a Text Value instance (implicitly). |
| Value(Blob x) | Creates a Blob Value instance (implicitly). |
| Value(Null x) | Creates a Null Value instance (implicitly). |
| Value() | Creates a Null Value instance. |
--
| Name | Description |
|---|---|
| bool null() const | Tells whether the object is Null or not. |
--
| Name | Description |
|---|---|
| template <typename T> Integer as_integer(T const& cvert) const | Applies visitor, enforces Integer conversion |
| template <typename T> Float as_float(T const& cvert) const | Applies visitor, enforces Float conversion |
| template <typename T> Text as_text(T const& cvert) const | Applies visitor, enforces Text conversion |
| template <typename T> Blob as_blob(T const& cvert) const | Applies visitor, enforces Blob conversion |
| template <typename T> T as() const | Applies default T converter |
| Integer as_integer() const | Applies default Integer converter |
| Float as_float() const | Applies default Float converter |
| Text as_text() const | Applies default Text converter |
| Blob as_blob() const | Applies default Blob converter |
--
| Name | Description |
|---|---|
| template <typename T> typename T::result_type apply(T const& vtor) const | Applies visitor |
--
| Name | Description |
|---|---|
| static Integer to_integer(Integer const& x) | id |
| static Integer to_integer(Float const& x) | static cast |
| static Integer to_integer(Text const& x) | lexical cast |
| static Integer to_integer(Blob const& x) | to_integer(to_text(x)) |
| static Integer to_integer(Null const& x) | Integer(0) |
| static Float to_float(Integer const& x) | static cast |
| static Float to_float(Float const& x) | id |
| static Float to_float(Text const& x) | lexical cast |
| static Float to_float(Blob const& x) | to_float(to_text(x)) |
| static Float to_float(Null const& x) | Float(0) |
| static Text to_text(Integer const& x) | lexical cast |
| static Text to_text(Float const& x) | lexical cast |
| static Text to_text(Text const& x) | id |
| static Text to_text(Blob const& x) | reads blob as char array |
| static Text to_text(Null const& x) | empty string |
| static Blob to_blob(Integer const& x) | to_blob(to_text(x)) |
| static Blob to_blob(Float const& x) | to_blob(to_text(x)) |
| static Blob to_blob(Text const& x) | dumps text as char array |
| static Blob to_blob(Blob const& x) | id |
| static Blob to_blob(Null const& x) | empty blob |