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

◆ erase() [1/2]

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

Удаляет существующий объект из таблицы.

Аргументы
obj— удаляемый объект
Предусловие
obj — существующий объект в таблице
Постусловие
Объект удалён из таблицы, связанное хранение освобождено.
Обновлены вторичные индексы таблицы.
Прежнему плательщику за хранение возвращается стоимость таблицы и вторичных индексов для удалённого объекта; при удалении таблицы и индексов — также накладные расходы.

Исключения: Удаляемого объекта нет в таблице. Действие не уполномочено изменять таблицу. Недопустимый итератор.

Пример:

// This assumes the code from the constructor example. Replace myaction() {...}
void myaction() {
auto itr = addresses.find("dan"_n);
eosio::check(itr != addresses.end(), "Record is not found");
addresses.erase(*itr);
itr = addresses.find("dan"_n);
eosio::check(itr == addresses.end(), "Record is not deleted");
}
}
EOSIO_DISPATCH( addressbook, (myaction) )

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