Add tran_active() query function
This commit is contained in:
committed by
Markus Blatt
parent
4bd9b7212f
commit
8499c9d1cd
@@ -186,9 +186,10 @@ public:
|
||||
|
||||
virtual bool has_int(const std::string& keyword) const { return this->has<int>(keyword); }
|
||||
virtual bool has_double(const std::string& keyword) const { return this->has<double>(keyword); }
|
||||
virtual void apply_tran(const std::string& keyword, std::vector<double>& tranx) const;
|
||||
std::vector<char> serialize_tran() const;
|
||||
void deserialize_tran(const std::vector<char>& buffer);
|
||||
virtual bool tran_active(const std::string& keyword) const;
|
||||
virtual void apply_tran(const std::string& keyword, std::vector<double>& tran_data) const;
|
||||
virtual std::vector<char> serialize_tran() const;
|
||||
virtual void deserialize_tran(const std::vector<char>& buffer);
|
||||
private:
|
||||
/*
|
||||
Return the keyword values as a std::vector<>. All elements in the return
|
||||
|
||||
@@ -1193,6 +1193,10 @@ void FieldProps::deserialize_tran(const std::vector<char>& buffer) {
|
||||
}
|
||||
}
|
||||
|
||||
bool FieldProps::tran_active(const std::string& keyword) const {
|
||||
const auto& calculator = this->tran.at(keyword);
|
||||
return calculator.size() > 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -655,6 +655,7 @@ public:
|
||||
return this->double_data.size();
|
||||
}
|
||||
|
||||
bool tran_active(const std::string& keyword) const;
|
||||
void apply_tran(const std::string& keyword, std::vector<double>& data);
|
||||
std::vector<char> serialize_tran() const;
|
||||
void deserialize_tran(const std::vector<char>& buffer);
|
||||
|
||||
@@ -121,6 +121,10 @@ void FieldPropsManager::deserialize_tran(const std::vector<char>& buffer) {
|
||||
this->fp->deserialize_tran(buffer);
|
||||
}
|
||||
|
||||
bool FieldPropsManager::tran_active(const std::string& keyword) const {
|
||||
return this->fp->tran_active(keyword);
|
||||
}
|
||||
|
||||
|
||||
template bool FieldPropsManager::supported<int>(const std::string&);
|
||||
template bool FieldPropsManager::supported<double>(const std::string&);
|
||||
|
||||
@@ -1825,6 +1825,7 @@ MAXVALUE
|
||||
BOOST_CHECK(!fpm.has_double("TRANX"));
|
||||
|
||||
BOOST_CHECK_THROW(fpm.apply_tran("TRANA", tranx), std::out_of_range);
|
||||
BOOST_CHECK_THROW(fpm.tran_active("TRANA"), std::out_of_range);
|
||||
|
||||
fpm.apply_tran("TRANX", tranx);
|
||||
fpm.apply_tran("TRANY", trany);
|
||||
@@ -1843,4 +1844,6 @@ MAXVALUE
|
||||
|
||||
auto buffer = fpm.serialize_tran();
|
||||
fpm.deserialize_tran(buffer);
|
||||
|
||||
BOOST_CHECK(fpm.tran_active("TRANX"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user