firebase::database::MutableData

#include <mutable_data.h>

Instances of this class encapsulate the data and priority at a location.

Summary

It is used in transactions, and it is intended to be inspected and then updated to the desired data at that location.

Constructors and Destructors

~MutableData()
Destructor.

Public functions

Child(const char *path)
Used to obtain a MutableData instance that encapsulates the data and priority at the given relative path.
Child(const std::string & path)
Used to obtain a MutableData instance that encapsulates the data and priority at the given relative path.
HasChild(const char *path) const
bool
Does this MutableData have data at a particular location?
HasChild(const std::string & path) const
bool
Does this MutableData have data at a particular location?
children()
std::vector< MutableData >
Get all the immediate children of this location.
children_count()
size_t
Get the number of children of this location.
key() const
const char *
Get the key name of the source location of this data.
key_string() const
std::string
Get the key name of the source location of this data.
priority()
Get the priority of the data contained at this snapshot.
set_priority(const Variant & priority)
void
Sets the priority of this field, which controls its sort order relative to its siblings.
set_value(const Variant & value)
void
Sets the data at this location to the given value.
value() const
Get the value of the data contained at this location.

Public functions

Child

MutableData Child(
  const char *path
)

Used to obtain a MutableData instance that encapsulates the data and priority at the given relative path.

Note that changes made to a child MutableData instance will be visible to the parent and vice versa.

Details
Parameters
path
Path relative to this snapshot's location. The pointer only needs to be valid during this call.
Returns
MutableData for the Child relative to this location. The memory will be freed when the Transaction is finished.

Child

MutableData Child(
  const std::string & path
)

Used to obtain a MutableData instance that encapsulates the data and priority at the given relative path.

Details
Parameters
path
Path relative to this snapshot's location.
Returns
MutableData for the Child relative to this location. The memory will be freed when the Transaction is finished.

HasChild

bool HasChild(
  const char *path
) const 

Does this MutableData have data at a particular location?

Details
Parameters
path
Path relative to this data's location. The pointer only needs to be valid during this call.
Returns
True if there is data at the specified location, false if not.

HasChild

bool HasChild(
  const std::string & path
) const 

Does this MutableData have data at a particular location?

Details
Parameters
path
Path relative to this data's location.
Returns
True if there is data at the specified location, false if not.

children

std::vector< MutableData > children()

Get all the immediate children of this location.

Details
Returns
The immediate children of this location.

children_count

size_t children_count()

Get the number of children of this location.

Details
Returns
The number of immediate children of this location.

key

const char * key() const 

Get the key name of the source location of this data.

Details
Returns
Key name of the source location of this data.

key_string

std::string key_string() const 

Get the key name of the source location of this data.

Details
Returns
Key name of the source location of this data.

priority

Variant priority()

Get the priority of the data contained at this snapshot.

Details
Returns
The value of this location's Priority relative to its siblings.

set_priority

void set_priority(
  const Variant & priority
)

Sets the priority of this field, which controls its sort order relative to its siblings.

See also:firebase::database::DatabaseReference::SetPriority() for information on how Priority affects the ordering of a node's children.

Details
Parameters
priority
Sort priority for this child relative to its siblings. The Variant types accepted are Null, Int64, Double, and String. Other types will return kErrorInvalidVariantType.

set_value

void set_value(
  const Variant & value
)

Sets the data at this location to the given value.

Details
Parameters
value
The value to set this location to. The Variant's type corresponds to the types accepted by the database JSON: Null: Deletes this location from the database. Int64: Inserts an integer value into this location. Double: Inserts a floating point value into this location. String: Inserts a string into this location. (Accepts both Mutable and Static strings) Vector: Inserts a JSON array into this location. The elements can be any Variant type, including Vector and Map. Map: Inserts a JSON associative array into this location. The keys must be of type String (or Int64/Double which are converted to String). The values can be any Variant type, including Vector and Map.

value

Variant value() const 

Get the value of the data contained at this location.

Details
Returns
The value of the data contained at this location.

~MutableData

 ~MutableData()

Destructor.