Не одна строка, но я считаю, что это близко к наиболее понятному решению в текущем C ++ (вместо std :: all_of с лямбда-выражением или циклом foreach в 0x):
void MyClass::setSha1Sums(std::vector<std::string> const &sha1Sums) {
sha1Sums_.clear();
BOOST_FOREACH(string const &x, sha1Sums) {
assert(x.size() == 20);
sha1Sums_.push_back(x);
}
}
Это также имеет небольшое преимущество, заключающееся в том, что вы можете легко найти (например, в журнале) строку, вызывающую сбой, чтобы устранить проблему, если / когда она возникнет.