27 Temmuz 2017 Perşembe

interprocess basic_string Sınıfı

Giriş
Şu satırı dahil ederiz.
#include <boost/interprocess/containers/string.hpp>
3 parametre alabilir. Birinci parametre genelde char, ikinci parametre std::char_traits<char>, üçüncü parametre bir başka allocator varsa kullanılıyor.

Tanımlama
Örnek
Şöyle yaparız.
typedef unsigned char uchar;

typedef allocator<char, managed_shared_memory::segment_manager> CharAllocator;

typedef basic_string<char, std::char_traits<char>, CharAllocator> MyShmString;
Örnek
typdef yerine C++11 tarzı using ile şöyle yaparız.
using CharAllocator = boost::interprocess::allocator
    < char
    , boost::interprocess::managed_shared_memory::segment_manager >;

using MyShmString = boost::interprocess::basic_string<char,
  std::char_traits<char>, CharAllocator>;
Örnek
allocator yerine scoped_allocator kullanmak için şöyle yaparız.
using Segment = bip::managed_shared_memory;
using Manager = Segment::segment_manager;
template <typename T>
using Alloc   = bc::scoped_allocator_adaptor<bip::allocator<T, Manager> >;

using String  = bip::basic_string<char, std::char_traits<char>, Alloc<char> >;

Hiç yorum yok:

Yorum Gönder