summaryrefslogtreecommitdiff
path: root/src/mongo/bson/mutable/element-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/bson/mutable/element-inl.h')
-rw-r--r--src/mongo/bson/mutable/element-inl.h246
1 files changed, 122 insertions, 124 deletions
diff --git a/src/mongo/bson/mutable/element-inl.h b/src/mongo/bson/mutable/element-inl.h
index 7e9249a5b15..6dd2810e43c 100644
--- a/src/mongo/bson/mutable/element-inl.h
+++ b/src/mongo/bson/mutable/element-inl.h
@@ -30,127 +30,125 @@
namespace mongo {
namespace mutablebson {
- inline Element Element::operator[](size_t n) const {
- return findNthChild(n);
- }
-
- inline Element Element::operator[](StringData name) const {
- return findFirstChildNamed(name);
- }
-
- inline double Element::getValueDouble() const {
- dassert(hasValue() && isType(mongo::NumberDouble));
- return getValue()._numberDouble();
- }
-
- inline StringData Element::getValueString() const {
- dassert(hasValue() && isType(mongo::String));
- return getValueStringOrSymbol();
- }
-
- inline BSONObj Element::getValueObject() const {
- dassert(hasValue() && isType(mongo::Object));
- return getValue().Obj();
- }
-
- inline BSONArray Element::getValueArray() const {
- dassert(hasValue() && isType(mongo::Array));
- return BSONArray(getValue().Obj());
- }
-
- inline bool Element::isValueUndefined() const {
- return isType(mongo::Undefined);
- }
-
- inline OID Element::getValueOID() const {
- dassert(hasValue() && isType(mongo::jstOID));
- return getValue().__oid();
- }
-
- inline bool Element::getValueBool() const {
- dassert(hasValue() && isType(mongo::Bool));
- return getValue().boolean();
- }
-
- inline Date_t Element::getValueDate() const {
- dassert(hasValue() && isType(mongo::Date));
- return getValue().date();
- }
-
- inline bool Element::isValueNull() const {
- return isType(mongo::jstNULL);
- }
-
- inline StringData Element::getValueSymbol() const {
- dassert(hasValue() && isType(mongo::Symbol));
- return getValueStringOrSymbol();
- }
-
- inline int32_t Element::getValueInt() const {
- dassert(hasValue() && isType(mongo::NumberInt));
- return getValue()._numberInt();
- }
-
- inline Timestamp Element::getValueTimestamp() const {
- dassert(hasValue() && isType(mongo::bsonTimestamp));
- return getValue().timestamp();
- }
-
- inline int64_t Element::getValueLong() const {
- dassert(hasValue() && isType(mongo::NumberLong));
- return getValue()._numberLong();
- }
-
- inline bool Element::isValueMinKey() const {
- return isType(mongo::MinKey);
- }
-
- inline bool Element::isValueMaxKey() const {
- return isType(mongo::MaxKey);
- }
-
- inline bool Element::ok() const {
- dassert(_doc != NULL);
- return _repIdx <= kMaxRepIdx;
- }
-
- inline Document& Element::getDocument() {
- return *_doc;
- }
-
- inline const Document& Element::getDocument() const {
- return *_doc;
- }
-
- inline bool Element::isType(BSONType type) const {
- return (getType() == type);
- }
-
- inline Element::RepIdx Element::getIdx() const {
- return _repIdx;
- }
-
- inline Element::Element(Document* doc, RepIdx repIdx)
- : _doc(doc)
- , _repIdx(repIdx) {
- dassert(_doc != NULL);
- }
-
- inline StringData Element::getValueStringOrSymbol() const {
- const BSONElement value = getValue();
- const char* str = value.valuestr();
- const size_t size = value.valuestrsize() - 1;
- return StringData(str, size);
- }
-
- inline bool operator==(const Element& l, const Element& r) {
- return (l._doc == r._doc) && (l._repIdx == r._repIdx);
- }
-
- inline bool operator!=(const Element& l, const Element& r) {
- return !(l == r);
- }
-
-
-} // namespace mutablebson
-} // namespace mongo
+inline Element Element::operator[](size_t n) const {
+ return findNthChild(n);
+}
+
+inline Element Element::operator[](StringData name) const {
+ return findFirstChildNamed(name);
+}
+
+inline double Element::getValueDouble() const {
+ dassert(hasValue() && isType(mongo::NumberDouble));
+ return getValue()._numberDouble();
+}
+
+inline StringData Element::getValueString() const {
+ dassert(hasValue() && isType(mongo::String));
+ return getValueStringOrSymbol();
+}
+
+inline BSONObj Element::getValueObject() const {
+ dassert(hasValue() && isType(mongo::Object));
+ return getValue().Obj();
+}
+
+inline BSONArray Element::getValueArray() const {
+ dassert(hasValue() && isType(mongo::Array));
+ return BSONArray(getValue().Obj());
+}
+
+inline bool Element::isValueUndefined() const {
+ return isType(mongo::Undefined);
+}
+
+inline OID Element::getValueOID() const {
+ dassert(hasValue() && isType(mongo::jstOID));
+ return getValue().__oid();
+}
+
+inline bool Element::getValueBool() const {
+ dassert(hasValue() && isType(mongo::Bool));
+ return getValue().boolean();
+}
+
+inline Date_t Element::getValueDate() const {
+ dassert(hasValue() && isType(mongo::Date));
+ return getValue().date();
+}
+
+inline bool Element::isValueNull() const {
+ return isType(mongo::jstNULL);
+}
+
+inline StringData Element::getValueSymbol() const {
+ dassert(hasValue() && isType(mongo::Symbol));
+ return getValueStringOrSymbol();
+}
+
+inline int32_t Element::getValueInt() const {
+ dassert(hasValue() && isType(mongo::NumberInt));
+ return getValue()._numberInt();
+}
+
+inline Timestamp Element::getValueTimestamp() const {
+ dassert(hasValue() && isType(mongo::bsonTimestamp));
+ return getValue().timestamp();
+}
+
+inline int64_t Element::getValueLong() const {
+ dassert(hasValue() && isType(mongo::NumberLong));
+ return getValue()._numberLong();
+}
+
+inline bool Element::isValueMinKey() const {
+ return isType(mongo::MinKey);
+}
+
+inline bool Element::isValueMaxKey() const {
+ return isType(mongo::MaxKey);
+}
+
+inline bool Element::ok() const {
+ dassert(_doc != NULL);
+ return _repIdx <= kMaxRepIdx;
+}
+
+inline Document& Element::getDocument() {
+ return *_doc;
+}
+
+inline const Document& Element::getDocument() const {
+ return *_doc;
+}
+
+inline bool Element::isType(BSONType type) const {
+ return (getType() == type);
+}
+
+inline Element::RepIdx Element::getIdx() const {
+ return _repIdx;
+}
+
+inline Element::Element(Document* doc, RepIdx repIdx) : _doc(doc), _repIdx(repIdx) {
+ dassert(_doc != NULL);
+}
+
+inline StringData Element::getValueStringOrSymbol() const {
+ const BSONElement value = getValue();
+ const char* str = value.valuestr();
+ const size_t size = value.valuestrsize() - 1;
+ return StringData(str, size);
+}
+
+inline bool operator==(const Element& l, const Element& r) {
+ return (l._doc == r._doc) && (l._repIdx == r._repIdx);
+}
+
+inline bool operator!=(const Element& l, const Element& r) {
+ return !(l == r);
+}
+
+
+} // namespace mutablebson
+} // namespace mongo