CDT  v4.2.0
инструменты разработчика

◆ lower_bound()

template<name::raw TableName, typename T , typename... Indices>
template<typename PK >
const_iterator eosio::multi_index< TableName, T, Indices >::lower_bound ( PK  primary) const
inline

Ищет объект с наименьшим первичным ключом, который больше или равен заданному первичному ключу.

Аргументы
primary— первичный ключ, задающий целевое значение для поиска нижней границы
Возвращает
Итератор на объект с наименьшим первичным ключом ≥ primary. Если объект не найден или таблицы нет**, возвращается итератор end.

Пример:

// This assumes the code from the get_index() example below. Replace myaction() {...}
void myaction() {
// create reference to address_index - see emplace example below
// add dan account to table - see emplace example below
// add additional account - brendan
addresses.emplace(payer, [&](auto& address) {
address.account_name = "brendan"_n;
address.first_name = "Brendan";
address.last_name = "Blumer";
address.street = "1 EOS Way";
address.city = "Hong Kong";
address.state = "HK";
address.zip = 93445;
});
uint32_t zipnumb = 93445;
auto zip_index = addresses.get_index<name("zip")>();
auto itr = zip_index.lower_bound(zipnumb);
eosio::check(itr->account_name == name("brendan"), "Lock arf, Incorrect First Lower Bound Record ");
itr++;
eosio::check(itr->account_name == name("dan"), "Lock arf, Incorrect Second Lower Bound Record");
itr++;
eosio::check(itr == zip_index.end(), "Lock arf, Incorrect End of Iterator");
}
}
EOSIO_DISPATCH( addressbook, (myaction) )

См. определение в файле multi_index.hpp строка 1281