30 flat_multimap<uint16_t, block_header_extension>
results;
38 SYS_ASSERT(
id >= id_type_lower_bound, invalid_block_header_extension,
39 "Block header extensions are not in the correct order (ascending id types required)"
42 auto iter =
results.emplace(std::piecewise_construct,
43 std::forward_as_tuple(
id),
44 std::forward_as_tuple()
47 auto match = decompose_t::extract<block_header_extension>(
id, e.second, iter->second );
48 SYS_ASSERT( match, invalid_block_header_extension,
49 "Block header extension with id type ${id} is not supported",
53 if( match->enforce_unique ) {
54 SYS_ASSERT( i == 0 ||
id > id_type_lower_bound, invalid_block_header_extension,
55 "Block header extension with id type ${id} is not allowed to repeat",
61 id_type_lower_bound =
id;