Şu satırı dahil ederiz.
int + std::set#include <boost/assign/std/vector.hpp>
İllendirme metodu değildir, mevcut vector'e ekleme yapar. Şöyle yaparızstd::vector< int > myElements;
myElements += 1,2,3,4,5;
C++11 kullanıyorsak şöyle yaparız.
std::vector<int> values;
values.insert( values.end(), { 1, 2, 3, 4 } );
list_of metodu - ilklendirme
list_of metodu yazısına taşıdım.
map_list_of metodu - ilklendirme
Şu satırı dahil ederiz.
#include <boost/assign/list_of.hpp>
map_list_of() ile map veri yapısını ilklendiririz. C++11 ile bu yapıya gerek kalmadı, daha kısa bir şekilde şöyle yaparız.
map<int, char> m = {{1, 'a'}, {3, 'b'}, {5, 'c'}, {7, 'd'}};
enum + std::function
Elimizde bir map olsun
class Foo
{
public:
enum class MapKeys
{
Key1,
Key2
};
typedef std::map<Foo::MapKeys, std::function<bool(Foo*, int i)>> fooMap;
static const Foo::fooMap myMap ; ...
}
Şöyle yaparız.
const Foo::fooMap Foo::myMap =
ba::map_list_of(Foo::MapKeys::Key1, std::mem_fn(&Foo::key1_handler))
(Foo::MapKeys::Key2, std::mem_fn(&Foo::key2_handler));
int + char
Şöyle yaparız
map<int, char> m = map_list_of (1, 'a') (3, 'b') (5, 'c') (7, 'd');
Elimizd şöyle bir map olsun.
the_map_t data = boost::assign::map_list_of<uint32_t, std::set< uint32_t> >(...);
Şöyle yaparız.typedef std::map< uint32_t, std::set< uint32_t> > the_map_t;
the_map_t data = assign::map_list_of
(11, boost::assign::list_of(10)(20)(30) )
( 2, boost::assign::list_of(12)(22)(32) )
( 3, boost::assign::list_of(13)(23)(33) )
( 4, boost::assign::list_of(14)(24)(34) );
wstring + intŞöyle yaparız.
std::map<std::wstring, int> m = boost::assign::map_list_of(L"", 1);
push_back metodu - insertstd::vector<int> v;
boost::assign::push_back(v).repeat(1000, 1).repeat(1000, 2);
Hiç yorum yok:
Yorum Gönder