summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-06-07 16:25:35 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-06-07 16:25:35 +0200
commit8a02cb588dfe81dff8b53c55020db7002de86cc6 (patch)
treea762bfb787c5a88e98d7917b09ace73f1c06507d /document
parentbf1304b83127e145024bdd9e57be472909053959 (diff)
Use 'enum class ModificationStatus', use constexpr enumRange.
Diffstat (limited to 'document')
-rw-r--r--document/src/tests/documenttestcase.cpp4
-rw-r--r--document/src/tests/fieldpathupdatetestcase.cpp2
-rw-r--r--document/src/vespa/document/fieldvalue/arrayfieldvalue.cpp4
-rw-r--r--document/src/vespa/document/fieldvalue/iteratorhandler.h2
-rw-r--r--document/src/vespa/document/fieldvalue/modificationstatus.h2
-rw-r--r--document/src/vespa/document/fieldvalue/structuredfieldvalue.cpp3
-rw-r--r--document/src/vespa/document/select/result.h2
-rw-r--r--document/src/vespa/document/select/resultset.cpp16
-rw-r--r--document/src/vespa/document/select/resultset.h24
-rw-r--r--document/src/vespa/document/update/assignfieldpathupdate.cpp12
10 files changed, 31 insertions, 40 deletions
diff --git a/document/src/tests/documenttestcase.cpp b/document/src/tests/documenttestcase.cpp
index a9e7b1897b2..1aa6f5fcaa2 100644
--- a/document/src/tests/documenttestcase.cpp
+++ b/document/src/tests/documenttestcase.cpp
@@ -277,10 +277,10 @@ public:
StringFieldValue* sfv = dynamic_cast<StringFieldValue*>(&fv);
if (sfv != NULL) {
*sfv = std::string("newvalue");
- return MODIFIED;
+ return ModificationStatus::MODIFIED;
}
- return NOT_MODIFIED;
+ return ModificationStatus::NOT_MODIFIED;
};
bool onComplex(const Content&) override {
diff --git a/document/src/tests/fieldpathupdatetestcase.cpp b/document/src/tests/fieldpathupdatetestcase.cpp
index 4311e1059c2..2cf29e4cc53 100644
--- a/document/src/tests/fieldpathupdatetestcase.cpp
+++ b/document/src/tests/fieldpathupdatetestcase.cpp
@@ -275,7 +275,7 @@ struct TestFieldPathUpdate : FieldPathUpdate
_str += ';';
}
_str += ss.str();
- return NOT_MODIFIED;
+ return ModificationStatus::NOT_MODIFIED;
}
bool onComplex(const Content&) override { return false; }
diff --git a/document/src/vespa/document/fieldvalue/arrayfieldvalue.cpp b/document/src/vespa/document/fieldvalue/arrayfieldvalue.cpp
index 01df81db69b..b5b031d31da 100644
--- a/document/src/vespa/document/fieldvalue/arrayfieldvalue.cpp
+++ b/document/src/vespa/document/fieldvalue/arrayfieldvalue.cpp
@@ -265,9 +265,9 @@ ArrayFieldValue::onIterateNested(PathRange nested, IteratorHandler & handler) co
}
return iterateSubset(0, static_cast<int>(_array->size()) - 1, "", nested, handler);
} else {
- fieldvalue::ModificationStatus status = handler.modify(const_cast<ArrayFieldValue&>(*this));
+ ModificationStatus status = handler.modify(const_cast<ArrayFieldValue&>(*this));
- if (status == fieldvalue::REMOVED) {
+ if (status == ModificationStatus::REMOVED) {
return status;
}
diff --git a/document/src/vespa/document/fieldvalue/iteratorhandler.h b/document/src/vespa/document/fieldvalue/iteratorhandler.h
index 8dc98b2107d..96290c1ec56 100644
--- a/document/src/vespa/document/fieldvalue/iteratorhandler.h
+++ b/document/src/vespa/document/fieldvalue/iteratorhandler.h
@@ -87,7 +87,7 @@ private:
virtual void onCollectionEnd(const Content &fv) { (void) fv; }
virtual void onStructStart(const Content &fv) { (void) fv; }
virtual void onStructEnd(const Content &fv) { (void) fv; }
- virtual ModificationStatus doModify(FieldValue &) { return NOT_MODIFIED; };
+ virtual ModificationStatus doModify(FieldValue &) { return ModificationStatus::NOT_MODIFIED; };
// Scratchpad to store pass on weight.
int getWeight() const { return _weight; }
diff --git a/document/src/vespa/document/fieldvalue/modificationstatus.h b/document/src/vespa/document/fieldvalue/modificationstatus.h
index 344a89338bb..9ea0c2fa3ae 100644
--- a/document/src/vespa/document/fieldvalue/modificationstatus.h
+++ b/document/src/vespa/document/fieldvalue/modificationstatus.h
@@ -4,7 +4,7 @@
namespace document::fieldvalue {
-enum ModificationStatus {
+enum class ModificationStatus {
MODIFIED,
REMOVED,
NOT_MODIFIED
diff --git a/document/src/vespa/document/fieldvalue/structuredfieldvalue.cpp b/document/src/vespa/document/fieldvalue/structuredfieldvalue.cpp
index beef80ed2b0..8e30cba2052 100644
--- a/document/src/vespa/document/fieldvalue/structuredfieldvalue.cpp
+++ b/document/src/vespa/document/fieldvalue/structuredfieldvalue.cpp
@@ -109,7 +109,6 @@ StructuredFieldValue::onIterateNested(PathRange nested, IteratorHandler & handle
const_cast<StructuredFieldValue&>(*this).setFieldValue(fpe.getFieldRef(), fpe.getFieldValueToSet());
return ModificationStatus::MODIFIED;
} else {
- LOG(spam, "field exists, status = %u", status);
return status;
}
} else if (handler.createMissingPath()) {
@@ -122,7 +121,7 @@ StructuredFieldValue::onIterateNested(PathRange nested, IteratorHandler & handle
}
}
LOG(spam, "field did not exist, returning NOT_MODIFIED");
- return ModificationStatus ::NOT_MODIFIED;
+ return ModificationStatus::NOT_MODIFIED;
} else {
throw IllegalArgumentException("Illegal field path for struct value");
}
diff --git a/document/src/vespa/document/select/result.h b/document/src/vespa/document/select/result.h
index ace3f5f717e..fbaa8e35eb6 100644
--- a/document/src/vespa/document/select/result.h
+++ b/document/src/vespa/document/select/result.h
@@ -39,7 +39,7 @@ public:
const Result& operator!() const;
static const Result& get(bool b) { return (b ? True : False); }
- static uint32_t enumRange() { return 3u; }
+ static constexpr uint32_t enumRange = 3u;
uint32_t toEnum() const {
if (this == &Result::Invalid)
diff --git a/document/src/vespa/document/select/resultset.cpp b/document/src/vespa/document/select/resultset.cpp
index f7fd3e95fbd..ddde4b366a3 100644
--- a/document/src/vespa/document/select/resultset.cpp
+++ b/document/src/vespa/document/select/resultset.cpp
@@ -2,9 +2,7 @@
#include "resultset.h"
-namespace document {
-
-namespace select {
+namespace document::select {
std::vector<ResultSet> ResultSet::_ands;
std::vector<ResultSet> ResultSet::_ors;
@@ -15,9 +13,9 @@ std::vector<ResultSet> ResultSet::_nots;
* inputs.
*/
void
-ResultSet::preCalc(void)
+ResultSet::preCalc()
{
- uint32_t erange = Result::enumRange();
+ uint32_t erange = Result::enumRange;
uint32_t range = illegalMask();
_ands.resize(range * range);
_ors.resize(range * range);
@@ -53,13 +51,12 @@ ResultSet::preCalc(void)
}
-namespace
-{
+namespace {
class Precalc
{
public:
- Precalc(void)
+ Precalc()
{
ResultSet::preCalc();
}
@@ -70,5 +67,4 @@ Precalc precalc;
}
-} // select
-} // document
+}
diff --git a/document/src/vespa/document/select/resultset.h b/document/src/vespa/document/select/resultset.h
index b3e4d8c4066..125582faba3 100644
--- a/document/src/vespa/document/select/resultset.h
+++ b/document/src/vespa/document/select/resultset.h
@@ -1,12 +1,10 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <string>
-#include <vector>
#include "result.h"
+#include <vector>
-namespace document {
-namespace select {
+namespace document::select {
/*
* Contains possible values of operations returning a Result.
@@ -29,7 +27,7 @@ public:
}
static uint32_t illegalMask() {
- return (1u << Result::enumRange());
+ return (1u << Result::enumRange);
}
void add(const Result &rhs) {
@@ -54,26 +52,24 @@ public:
// calculcate set of results emitted by document selection and operator.
ResultSet calcAnd(const ResultSet &rhs) const {
- return _ands[(_val << Result::enumRange()) | rhs._val];
+ return _ands[(_val << Result::enumRange) | rhs._val];
}
// calculcate set of results emitted by document selection or operator.
ResultSet calcOr(const ResultSet &rhs) const {
- return _ors[(_val << Result::enumRange()) | rhs._val];
+ return _ors[(_val << Result::enumRange) | rhs._val];
}
// calculcate set of results emitted by document selection not operator.
- ResultSet calcNot(void) const { return _nots[_val]; }
+ ResultSet calcNot() const { return _nots[_val]; }
- void clear(void) { _val = 0; }
- void fill(void) { _val = illegalMask() - 1; }
- static void preCalc(void);
+ void clear() { _val = 0; }
+ void fill() { _val = illegalMask() - 1; }
+ static void preCalc();
private:
// precalc helper methods
void pcnext(void) { ++_val; }
bool pcvalid(void) const { return _val < illegalMask(); }
};
-} // select
-} // document
-
+}
diff --git a/document/src/vespa/document/update/assignfieldpathupdate.cpp b/document/src/vespa/document/update/assignfieldpathupdate.cpp
index 3d67a589ea5..7ab0a43dbe1 100644
--- a/document/src/vespa/document/update/assignfieldpathupdate.cpp
+++ b/document/src/vespa/document/update/assignfieldpathupdate.cpp
@@ -134,10 +134,10 @@ AssignValueIteratorHandler::doModify(FieldValue& fv) {
&& _newValue.inherits(NumericFieldValueBase::classId)
&& static_cast<const NumericFieldValueBase&>(_newValue).getAsLong() == 0)
{
- return REMOVED;
+ return ModificationStatus::REMOVED;
}
fv.assign(_newValue);
- return MODIFIED;
+ return ModificationStatus::MODIFIED;
}
ModificationStatus
@@ -161,16 +161,16 @@ AssignExpressionIteratorHandler::doModify(FieldValue& fv) {
try {
double res = _calc.evaluate(_doc, std::move(varHolder));
if (_removeIfZero && static_cast<uint64_t>(res) == 0) {
- return REMOVED;
+ return ModificationStatus::REMOVED;
} else {
fv.assign(DoubleFieldValue(res));
}
} catch (const vespalib::IllegalArgumentException&) {
// Divide by zero does not modify the document field
- return NOT_MODIFIED;
+ return ModificationStatus::NOT_MODIFIED;
} catch (const boost::bad_numeric_cast&) {
// Underflow/overflow does not modify
- return NOT_MODIFIED;
+ return ModificationStatus::NOT_MODIFIED;
}
} else {
throw vespalib::IllegalArgumentException(
@@ -178,7 +178,7 @@ AssignExpressionIteratorHandler::doModify(FieldValue& fv) {
fv.toString().c_str(), fv.getDataType()->toString().c_str()),
VESPA_STRLOC);
}
- return MODIFIED;
+ return ModificationStatus::MODIFIED;
}
}