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

◆ iterator_to()

template<name::raw TableName, typename T , typename... Indices>
const_iterator eosio::multi_index< TableName, T, Indices >::iterator_to ( const T &  obj) const
inline

Возвращает итератор на заданный объект в многоиндексной таблице.

Аргументы
obj— ссылка на нужный объект
Возвращает
Итератор на этот объект

Пример:

// This assumes the code from the get_index() example. 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;
});
auto user = addresses.get("dan"_n);
auto itr = address.find("dan"_n);
eosio::check(iterator_to(user) == itr, "Invalid iterator");
}
}
EOSIO_DISPATCH( addressbook, (myaction) )

Предупреждение: iterator_to может вести себя неопределённо, если вызывающий код передаёт ссылку на объект на стеке вместо ссылки, возвращённой get или полученной разыменованием const_iterator.

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