From 96f244e9c14dcd4a8abd2c6ad4b90aafd65739b3 Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Tue, 31 Aug 2021 21:12:11 +0200 Subject: [PATCH] WIP: add SetValue(int) --- include/caosdb/entity.h | 4 ++++ include/caosdb/value.h | 1 + src/caosdb/entity.cpp | 12 ++++++++++++ test/test_value.cpp | 4 ++-- 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/include/caosdb/entity.h b/include/caosdb/entity.h index 831200c..ec773b8 100644 --- a/include/caosdb/entity.h +++ b/include/caosdb/entity.h @@ -517,9 +517,11 @@ public: auto SetValue(const std::vector<std::string> &values) -> StatusCode; auto SetValue(const std::vector<char *> &values) -> StatusCode; auto SetValue(const std::vector<int64_t> &values) -> StatusCode; + auto SetValue(const std::vector<int> &values) -> StatusCode; auto SetValue(const std::vector<double> &values) -> StatusCode; auto SetValue(const std::vector<bool> &values) -> StatusCode; auto SetValue(const int64_t value) -> StatusCode; + auto SetValue(const int value) -> StatusCode; auto SetValue(const bool value) -> StatusCode; /** @@ -671,9 +673,11 @@ public: auto SetValue(const std::vector<std::string> &values) -> StatusCode; auto SetValue(const std::vector<char *> &values) -> StatusCode; auto SetValue(const std::vector<int64_t> &values) -> StatusCode; + auto SetValue(const std::vector<int> &values) -> StatusCode; auto SetValue(const std::vector<double> &values) -> StatusCode; auto SetValue(const std::vector<bool> &values) -> StatusCode; auto SetValue(const int64_t value) -> StatusCode; + auto SetValue(const int value) -> StatusCode; auto SetValue(const bool value) -> StatusCode; auto SetUnit(const std::string &unit) -> void; diff --git a/include/caosdb/value.h b/include/caosdb/value.h index 30ee2b1..e6ca1f3 100644 --- a/include/caosdb/value.h +++ b/include/caosdb/value.h @@ -110,6 +110,7 @@ public: explicit inline Value(int64_t value) : ProtoMessageWrapper<ProtoValue>() { this->wrapped->mutable_scalar_value()->set_integer_value(value); } + explicit inline Value(int value) : Value(static_cast<int64_t>(value)) {} explicit inline Value(bool value) : ProtoMessageWrapper<ProtoValue>() { this->wrapped->mutable_scalar_value()->set_boolean_value(value); } diff --git a/src/caosdb/entity.cpp b/src/caosdb/entity.cpp index 55c5936..293368b 100644 --- a/src/caosdb/entity.cpp +++ b/src/caosdb/entity.cpp @@ -128,6 +128,10 @@ auto Property::SetValue(const std::vector<int64_t> &values) -> StatusCode { return SetValue(Value(values)); } +auto Property::SetValue(const std::vector<int> &values) -> StatusCode { + return SetValue(Value(values)); +} + auto Property::SetValue(const std::vector<double> &values) -> StatusCode { return SetValue(Value(values)); } @@ -138,6 +142,8 @@ auto Property::SetValue(const std::vector<bool> &values) -> StatusCode { auto Property::SetValue(const int64_t value) -> StatusCode { return SetValue(Value(value)); } +auto Property::SetValue(const int value) -> StatusCode { return SetValue(Value(value)); } + auto Property::SetValue(const bool value) -> StatusCode { return SetValue(Value(value)); } auto Property::SetUnit(const std::string &unit) -> void { this->wrapped->set_unit(unit); } @@ -226,6 +232,10 @@ auto Entity::SetValue(const std::vector<int64_t> &values) -> StatusCode { return SetValue(Value(values)); } +auto Entity::SetValue(const std::vector<int> &values) -> StatusCode { + return SetValue(Value(values)); +} + auto Entity::SetValue(const std::vector<double> &values) -> StatusCode { return SetValue(Value(values)); } @@ -236,6 +246,8 @@ auto Entity::SetValue(const std::vector<bool> &values) -> StatusCode { auto Entity::SetValue(const int64_t value) -> StatusCode { return SetValue(Value(value)); } +auto Entity::SetValue(const int value) -> StatusCode { return SetValue(Value(value)); } + auto Entity::SetValue(const bool value) -> StatusCode { return SetValue(Value(value)); } auto Entity::SetUnit(const std::string &unit) -> void { this->wrapped->set_unit(unit); } diff --git a/test/test_value.cpp b/test/test_value.cpp index 855d010..74d30f0 100644 --- a/test/test_value.cpp +++ b/test/test_value.cpp @@ -68,7 +68,7 @@ TEST(test_value, test_string) { // Test inequality Value string1("1"); - Value int1(static_cast<int64_t>(1)); + Value int1(1); EXPECT_FALSE(string1 == int1); } @@ -93,7 +93,7 @@ TEST(test_value, test_double) { } TEST(test_value, test_integer) { - Value value(static_cast<int64_t>(1337)); + Value value(1337); EXPECT_FALSE(value.IsNull()); EXPECT_FALSE(value.IsString()); EXPECT_FALSE(value.IsDouble()); -- GitLab