diff --git a/include/caosdb/entity.h b/include/caosdb/entity.h index 831200c0ff7fdafbd265bb4778b62f51003b6836..ec773b8b0e7a3209b181e2dc0789aadb1232f6a4 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 30ee2b1c26fd123988d8591c8ed33cd3621ce5b8..e6ca1f33bcd43ce41acd44e4244c8d3825b43ebe 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 55c5936407fa41b44d50ffa5d1dee69a4428b5e1..293368b268bc44d6db1bbd5e5983b6421fe6fbbb 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 855d0101d36e48eee0f6b6d0215ad491af9aa677..74d30f04b621a0e118bc7591a07aab052786c790 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());