Giriş
Şu satırı dahil ederiz.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Örnek
Şöyle yaparız.
std::piecewise_construct ile şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şu satırı dahil ederiz.
#include <boost/interprocess/containers/map.hpp>
Tanımlama
Örnek
Şöyle yaparız.
template <typename K, typename V, typename Cmp = std::less<K> >
using Map = bip::map<K, V, Cmp, Alloc<std::pair<K const, V> > >;
ÖrnekŞöyle yaparız.
using Segment = bip::managed_shared_memory;
using Manager = Segment::segment_manager;
template <typename T> using Alloc
= boost::container::scoped_allocator_adaptor<bip::allocator<T, Manager> >;
using String = bip::basic_string<char, std::char_traits<char>, Alloc<char> >;
template <typename K, typename V, typename Cmp = std::less<K> > using Map
= bip::map<K, V, Cmp, Alloc<std::pair<K const, V> > >;
ConstructorÖrnek
Şöyle yaparız.
Segment smt(bip::open_or_create, "de06c60a", 20ul<<20); // 20 mb
auto& m = *smt.find_or_construct<Map<String, String> >("dict")
(smt.get_segment_manager());
ÖrnekŞöyle yaparız.
Segment smt(bip::open_or_create, "095540a3-ceaa-4431-828d-df21d5e384ae", 65536);
auto& m = *smt.find_or_construct<Map<int, Order>>("MySHMMapName")
(smt.get_segment_manager());
emplace metoduÖrnek
Şöyle yaparız.
m.emplace("1", "one");
Örnekstd::piecewise_construct ile şöyle yaparız.
auto insert = [&pmap](int i, auto&& s) {
using namespace std;
pmap.emplace(piecewise_construct, tie(i), tie(i, s));
};
insert(1, "one");
insert(2, "two");
insert(3, "three");
get_allocator metoduŞöyle yaparız.
pmap.emplace(1, "one", pmap.get_allocator());
empty metoduŞöyle yaparız.
if (m.empty()) {
...
}
Hiç yorum yok:
Yorum Gönder