Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for a snapshot of the develop branch, built from commit 3e55ab4aa6.
PrevUpHomeNext

field

Variant-like class that can represent of any of the allowed database types.

Synopsis

Defined in header <boost/mysql/field.hpp>

class field;
Member Functions

Name

Description

as_blob

Retrieves a reference to the underlying blob value or throws an exception.

as_date

Retrieves a reference to the underlying date value or throws an exception.

as_datetime

Retrieves a reference to the underlying datetime value or throws an exception.

as_double

Retrieves a reference to the underlying double value or throws an exception.

as_float

Retrieves a reference to the underlying float value or throws an exception.

as_int64

Retrieves a reference to the underlying std::int64_t value or throws an exception.

as_string

Retrieves a reference to the underlying std::string value or throws an exception.

as_time

Retrieves a reference to the underlying time value or throws an exception.

as_uint64

Retrieves a reference to the underlying std::uint64_t value or throws an exception.

field [constructor]

Constructs a field holding NULL.

Copy constructor.

Move constructor.

Constructs a field holding an int64.

Constructs a field holding an uint64.

Constructors from character types would incorrectly construct a field holding an integer, so they are not allowed.

Constructs a field holding a string.

Constructs a field holding a blob.

Constructs a field holding a float.

Constructs a field holding a double.

Constructs a field holding a date.

Constructs a field holding a datetime.

Constructs a field holding a time.

Constructs a field from a field_view.

get_blob

Retrieves a reference to the underlying blob value (unchecked access).

get_date

Retrieves a reference to the underlying date value (unchecked access).

get_datetime

Retrieves a reference to the underlying datetime value (unchecked access).

get_double

Retrieves a reference to the underlying double value (unchecked access).

get_float

Retrieves a reference to the underlying float value (unchecked access).

get_int64

Retrieves a reference to the underlying std::int64_t value (unchecked access).

get_string

Retrieves a reference to the underlying std::string value (unchecked access).

get_time

Retrieves a reference to the underlying time value (unchecked access).

get_uint64

Retrieves a reference to the underlying std::uint64_t value (unchecked access).

is_blob

Returns whether this field is holding a blob value.

is_date

Returns whether this field is holding a date value.

is_datetime

Returns whether this field is holding a datetime value.

is_double

Returns whether this field is holding a double value.

is_float

Returns whether this field is holding a float value.

is_int64

Returns whether this field is holding a int64 value.

is_null

Returns whether this field is holding a NULL value.

is_string

Returns whether this field is holding a string value.

is_time

Returns whether this field is holding a time value.

is_uint64

Returns whether this field is holding a uint64 value.

kind

Returns the type of the value this field is holding.

operator field_view

Constructs a field_view pointing to *this.

operator=

Copy assignment.

Move assignment.

Replaces *this with a NULL, changing the kind to null and destroying any previous contents.

Replaces *this with v, changing the kind to int64 and destroying any previous contents.

Replaces *this with v, changing the kind to uint64 and destroying any previous contents.

Assignments from character types would incorrectly assign an integer, so they are not allowed.

Replaces *this with v, changing the kind to string and destroying any previous contents.

Replaces *this with v, changing the kind to blob and destroying any previous contents.

Replaces *this with v, changing the kind to float_ and destroying any previous contents.

Replaces *this with v, changing the kind to double and destroying any previous contents.

Replaces *this with v, changing the kind to date and destroying any previous contents.

Replaces *this with v, changing the kind to datetime and destroying any previous contents.

Replaces *this with v, changing the kind to time and destroying any previous contents.

Replaces *this with v, changing the kind to v.kind() and destroying any previous contents.

~field [destructor]

Destructor.

Related Non-member Functions

Name

Description

operator!=

Tests for inequality.

operator<<

Streams a field.

operator==

Tests for equality.

Description

This is a regular variant-like class that can represent any of the types that MySQL allows. It has value semantics (as opposed to field_view). Instances of this class are not created by the library. They should be created by the user, when the reference semantics of field_view are not appropriate.

Like a variant, at any point, a field always contains a value of certain type. You can query the type using kind and the is_xxx functions like is_int64. Use as_xxx and get_xxx for checked and unchecked value access, respectively. You can mutate a field by calling the assignment operator, or using the lvalue references returned by as_xxx and get_xxx.

Convenience header <boost/mysql.hpp>


PrevUpHomeNext