8 Nisan 2017 Cumartesi

multi_index ranked_unique Sınıfı

Giriş
Şu satırı dahil ederiz.
#include <boost/multi_index_container.hpp>
#include <boost/multi_index/identity.hpp>
#include <boost/multi_index/ranked_index.hpp>
Açıklaması şöyle. orderd_index'ten farkını tam anlamadım.
Boost.MultiIndex has ranked indices providing logarithmic-time positional access in adition to the usual ordered index interface --not exactly random access, but might be enough for your needs.
Tanımlama
Şöyle yaparız.
namespace bmi = boost::multi_index;

template <typename V> using Table = bmi::multi_index_container<std::shared_ptr<V>,
  bmi::indexed_by<
    bmi::ranked_unique<bmi::tag<struct set_idx>, bmi::identity<V> >
  >
>;
nth metodu
Şöyle yaparız.
// the random access interface:
std::cout << "\npositional access: ";
for (std::size_t n = 0; n < set.size(); ++n)
  std::cout << **set.nth(n) << " ";

Hiç yorum yok:

Yorum Gönder