struct eosio::multi_index::index
Class List > eosio :: multi_index :: index
Classes
Type | Name |
---|---|
struct | const_iterator |
Public Types
Type | Name |
---|---|
enum | table_name { table_name = static_cast<uint64_t>(TableName), index_name = static_cast<uint64_t>(IndexName), index_number = Number, index_table_name = (static_cast<uint64_t>(TableName) & 0xFFFFFFFFFFFFFFF0ULL) |
(Number & 0x000000000000000FULL) } | |
typedef Extractor | secondary_extractor_type |
typedef std::decay< decltype(Extractor()(nullptr))>::type | secondary_key_type |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator struct multi_index::index::const_iterator |
Friends
Type | Name |
---|---|
friend class | multi_index |
Public Static Functions
Type | Name |
---|---|
static constexpr static bool | validate_index_name (eosio::name n) |
static constexpr static uint64_t | name () |
static constexpr static uint64_t | number () |
static auto | extract_secondary_key (const T & obj) |
Public Functions
Type | Name |
---|---|
const_iterator | cbegin () const |
const_iterator | begin () const |
const_iterator | cend () const |
const_iterator | end () const |
const_reverse_iterator | crbegin () const |
const_reverse_iterator | rbegin () const |
const_reverse_iterator | crend () const |
const_reverse_iterator | rend () const |
const_iterator | find (secondary_key_type && secondary) const |
const_iterator | find (const secondary_key_type & secondary) const |
const_iterator | require_find (secondary_key_type && secondary, const char * error_msg = "unable to find secondary key") const |
const_iterator | require_find (const secondary_key_type & secondary, const char * error_msg = "unable to find secondary key") const |
const T & | get (secondary_key_type && secondary, const char * error_msg = "unable to find secondary key") const |
const T & | get (const secondary_key_type & secondary, const char * error_msg = "unable to find secondary key") const |
const_iterator | lower_bound (secondary_key_type && secondary) const |
const_iterator | lower_bound (const secondary_key_type & secondary) const |
const_iterator | upper_bound (secondary_key_type && secondary) const |
const_iterator | upper_bound (const secondary_key_type & secondary) const |
const_iterator | iterator_to (const T & obj) |
void | modify (const_iterator itr, eosio::name payer, Lambda && updater) |
void | modify (const T & obj, eosio::name payer, Lambda && updater) |
const_iterator | erase (const_iterator itr) |
eosio::name | get_code () const |
uint64_t | get_scope () const |
Public Types Documentation
enum constants
enum eosio::multi_index::index::constants {
table_name = static_cast<uint64_t>(TableName),
index_name = static_cast<uint64_t>(IndexName),
index_number = Number,
index_table_name = (static_cast<uint64_t>(TableName) & 0xFFFFFFFFFFFFFFF0ULL)
| (Number & 0x000000000000000FULL),
};
typedef secondary_extractor_type
typedef Extractor eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::secondary_extractor_type;
typedef secondary_key_type
typedef std::decay<decltype( Extractor()(nullptr) )>::type eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::secondary_key_type;
typedef const_reverse_iterator
typedef std::reverse_iterator<const_iterator> eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_reverse_iterator;
struct multi_index::index::const_iterator
Friends Documentation
friend multi_index
friend class multi_index;
Public Static Functions Documentation
function validate_index_name
static constexpr static bool eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::validate_index_name(
eosio::name n
)
function name
static constexpr static uint64_t eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::name()
function number
static constexpr static uint64_t eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::number()
function extract_secondary_key
static static auto eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::extract_secondary_key(
const T & obj
)
Public Functions Documentation
function cbegin
const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::cbegin() const
function begin
const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::begin() const
function cend
const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::cend() const
function end
const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::end() const
function crbegin
const_reverse_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::crbegin() const
function rbegin
const_reverse_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::rbegin() const
function crend
const_reverse_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::crend() const
function rend
const_reverse_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::rend() const
function find (1/2)
const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::find(
secondary_key_type && secondary
) const
function find (2/2)
const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::find(
const secondary_key_type & secondary
) const
function require_find (1/2)
const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::require_find(
secondary_key_type && secondary,
const char * error_msg = "unable to find secondary key"
) const
function require_find (2/2)
const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::require_find(
const secondary_key_type & secondary,
const char * error_msg = "unable to find secondary key"
) const
function get (1/2)
const T& eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::get(
secondary_key_type && secondary,
const char * error_msg = "unable to find secondary key"
) const
Gets the object with the smallest primary key in the case where the secondary key is not unique. Avoid the common pitfall of copy-assigning the T& reference returned to a stack-allocated local variable and then passing that into modify of the multi-index. The most common mistake is when the local variable is defined as auto typename, instead it should be of type auto& or decltype(auto).
function get (2/2)
const T& eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::get(
const secondary_key_type & secondary,
const char * error_msg = "unable to find secondary key"
) const
Gets the object with the smallest primary key in the case where the secondary key is not unique. Avoid the common pitfall of copy-assigning the T& reference returned to a stack-allocated local variable and then passing that into modify of the multi-index. The most common mistake is when the local variable is defined as auto typename, instead it should be of type auto& or decltype(auto).
function lower_bound (1/2)
const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::lower_bound(
secondary_key_type && secondary
) const
function lower_bound (2/2)
const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::lower_bound(
const secondary_key_type & secondary
) const
function upper_bound (1/2)
const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::upper_bound(
secondary_key_type && secondary
) const
function upper_bound (2/2)
const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::upper_bound(
const secondary_key_type & secondary
) const
function iterator_to
const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::iterator_to(
const T & obj
)
Warning: the interator_to can have undefined behavior if the caller passes in a reference to a stack-allocated object rather than the reference returned by get or by dereferencing a const_iterator.
function modify (1/2)
template<typename Lambda>
void eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::modify(
const_iterator itr,
eosio::name payer,
Lambda && updater
)
function modify (2/2)
template<typename Lambda>
void eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::modify(
const T & obj,
eosio::name payer,
Lambda && updater
)
function erase
const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::erase(
const_iterator itr
)
function get_code
eosio::name eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::get_code() const
function get_scope
uint64_t eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::get_scope() const
The documentation for this class was generated from the following file: libraries/eosiolib/contracts/eosio/multi\_index.hpp