Inspired by this comment, I was wondering what are the main differences between eosio::multi_index and boost:multi_index and why do they exist?

The documentation notes that there are important differences, but does not go into much detail about the differences:

The Multi-Index container interface eosio::multi_index provides a homogeneous container of an arbitrary C++ type (and it does not need to be a plain-old data type or be fixed-size) that is kept sorted in multiple indices by keys of various types that are derived from the objects. It can be compared to a traditional database table with rows, columns, and indices. It can also be easily compared to Boost Multi-index Containers. In fact many of the member function signatures of eosio::multi_index are modeled after boost::multi_index, although there are important differences.

  • 2
    Jackson Kelley just released his Udemy course, and he uploaded some of his videos on YouTube. He goes over the multi index and the similarities/differences with the boost multi index container. youtube.com/user/jackodwhacko/videos
    – Nat
    Aug 20, 2018 at 0:55
  • The code for multi_index.hpp is in github.com/EOSIO/eosio.cdt/libraries/eosiolib It does pull in boost/hana.hpp but cannot see where in the EOSIO implementation HANA is it being used? Boost is getting used in action.hpp, dispatcher, datastream...
    – Walter K
    Nov 7, 2018 at 9:28


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.