Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / boost::multi_index: микро-РСУБД в твоём С++-приложении / 25 сообщений из 27, страница 1 из 2
16.03.2016, 20:47
    #39193806
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
Недавно нужно было изучить boost::multi_index.
Вот что написал в процессе обучения:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
#include <boost/multi_index/member.hpp>
#include <boost/multi_index/ordered_index.hpp>
#include <boost/multi_index_container.hpp>
#include <boost/multi_index/composite_key.hpp>
#include <iostream>
#include <cstdlib>

struct phonebook_entry_t
{
  unsigned id;
  std::string family_name;
  std::string given_name;
  std::string phone_number;

  phonebook_entry_t(
    std::string family_name,
    std::string given_name,
    std::string phone_number):
    id(std::rand()),
    family_name(family_name),
    given_name(given_name),
    phone_number(phone_number)
  {}
};

std::ostream& operator<<(std::ostream& out, const phonebook_entry_t& pbe)
{
    return out << pbe.id << "# " << pbe.family_name << " " << pbe.given_name << ":" << pbe.phone_number << "\n";
}


struct PhoneIdx{};
struct FamilyNameIdx{};
struct IdIdx{};
struct FullNameIdx{};

typedef boost::multi_index_container<
    phonebook_entry_t,
    boost::multi_index::indexed_by<
        boost::multi_index::ordered_non_unique<
                boost::multi_index::tag<PhoneIdx>,
                boost::multi_index::member<phonebook_entry_t, std::string, &phonebook_entry_t::phone_number>
        >,
        boost::multi_index::ordered_non_unique<
                boost::multi_index::tag<IdIdx>,
                boost::multi_index::member<phonebook_entry_t, unsigned, &phonebook_entry_t::id>
        >,
        boost::multi_index::ordered_non_unique<
                boost::multi_index::tag<FamilyNameIdx>,
                boost::multi_index::member<phonebook_entry_t, std::string, &phonebook_entry_t::family_name>
        >,
        boost::multi_index::ordered_non_unique<
                boost::multi_index::tag<FullNameIdx>,
                boost::multi_index::composite_key<
                        phonebook_entry_t,
                        boost::multi_index::member<phonebook_entry_t, std::string, &phonebook_entry_t::family_name>,
                        boost::multi_index::member<phonebook_entry_t, std::string, &phonebook_entry_t::given_name>
                >
        >
    >
> phonebook_t;

typedef phonebook_t::index<PhoneIdx>::type ByPhoneIdx;
typedef phonebook_t::index<IdIdx>::type ByIdIdx;
typedef phonebook_t::index<FamilyNameIdx>::type ByFamilyNameIdx;
typedef phonebook_t::index<FullNameIdx>::type ByFullNameIdx;

int main(int argc, char *argv[])
{
    phonebook_t phonebook;

    // fill some phonebook

    // "first_name","last_name","phone"
    phonebook.insert( phonebook_entry_t("Butt", "John", "504-621-4794") );
    phonebook.insert( phonebook_entry_t("Butt", "James", "504-621-8927") );
    phonebook.insert( phonebook_entry_t("Butt", "Mary", "504-621-7473") );
    phonebook.insert( phonebook_entry_t("Darakjy", "Josephine", "810-292-9388") );
    phonebook.insert( phonebook_entry_t("Venere", "Art", "856-636-8749") );
    phonebook.insert( phonebook_entry_t("Paprocki", "Lenna", "907-385-4412") );
    phonebook.insert( phonebook_entry_t("Foller", "Donette", "513-570-1893") );
    phonebook.insert( phonebook_entry_t("Morasca", "Simona", "419-503-2484") );
    phonebook.insert( phonebook_entry_t("Tollner", "Mitsue", "773-573-6914") );
    phonebook.insert( phonebook_entry_t("Dilliard", "Leota", "408-752-3500") );
    phonebook.insert( phonebook_entry_t("Wieser", "Sage", "605-414-2147") );
    phonebook.insert( phonebook_entry_t("Marrier", "Kris", "410-655-8723") );
    phonebook.insert( phonebook_entry_t("Amigon", "Minna", "215-874-1229") );
    phonebook.insert( phonebook_entry_t("Maclead", "Abel", "631-335-3414") );
    phonebook.insert( phonebook_entry_t("Caldarera", "Kiley", "310-498-5651") );
    phonebook.insert( phonebook_entry_t("Ruta", "Graciela", "440-780-8425") );
    phonebook.insert( phonebook_entry_t("Albares", "Cammy", "956-537-6195") );
    phonebook.insert( phonebook_entry_t("Poquette", "Mattie", "602-277-4385") );
    phonebook.insert( phonebook_entry_t("Garufi", "Meaghan", "931-313-9635") );
    phonebook.insert( phonebook_entry_t("Rim", "Gladys", "414-661-9598") );
    phonebook.insert( phonebook_entry_t("Whobrey", "Yuki", "313-288-7937") );
    phonebook.insert( phonebook_entry_t("Flosi", "Fletcher", "815-828-2147") );
    phonebook.insert( phonebook_entry_t("Nicka", "Bette", "610-545-3615") );
    phonebook.insert( phonebook_entry_t("Inouye", "Veronika", "408-540-1785") );
    phonebook.insert( phonebook_entry_t("Kolmetz", "Willard", "972-303-9197") );
    phonebook.insert( phonebook_entry_t("Royster", "Maryann", "518-966-7987") );
    phonebook.insert( phonebook_entry_t("Slusarski", "Alisha", "732-658-3154") );
    phonebook.insert( phonebook_entry_t("Iturbide", "Allene", "715-662-6764") );
    phonebook.insert( phonebook_entry_t("Caudy", "Chanel", "913-388-2079") );
    phonebook.insert( phonebook_entry_t("Chui", "Ezekiel", "410-669-1642") );
    phonebook.insert( phonebook_entry_t("Kusko", "Willow", "212-582-4976") );
    phonebook.insert( phonebook_entry_t("Figeroa", "Bernardo", "936-336-3951") );
    phonebook.insert( phonebook_entry_t("Corrio", "Ammie", "614-801-9788") );
    phonebook.insert( phonebook_entry_t("Vocelka", "Francine", "505-977-3911") );
    phonebook.insert( phonebook_entry_t("Stenseth", "Ernie", "201-709-6245") );
    phonebook.insert( phonebook_entry_t("Glick", "Albina", "732-924-7882") );
    phonebook.insert( phonebook_entry_t("Sergi", "Alishia", "212-860-1579") );
    phonebook.insert( phonebook_entry_t("Shinko", "Solange", "504-979-9175") );
    phonebook.insert( phonebook_entry_t("Stockham", "Jose", "212-675-8570") );
    phonebook.insert( phonebook_entry_t("Ostrosky", "Rozella", "805-832-6163") );
    phonebook.insert( phonebook_entry_t("Gillian", "Valentine", "210-812-9597") );
    phonebook.insert( phonebook_entry_t("Rulapaugh", "Kati", "785-463-7829") );
    // ...
    phonebook.insert( phonebook_entry_t("Diestel", "Lonna", "910-922-3672") );
    phonebook.insert( phonebook_entry_t("Samara", "Cristal", "213-975-8026") );
    phonebook.insert( phonebook_entry_t("Grenet", "Kenneth", "517-499-2322") );
    phonebook.insert( phonebook_entry_t("Mclaird", "Elli", "315-818-2638") );
    phonebook.insert( phonebook_entry_t("Jeanty", "Alline", "574-656-2800") );
    phonebook.insert( phonebook_entry_t("Eanes", "Sharika", "407-312-1691") );
    phonebook.insert( phonebook_entry_t("Mcnease", "Nu", "973-751-9003") );
    phonebook.insert( phonebook_entry_t("Comnick", "Daniela", "609-200-8577") );
    phonebook.insert( phonebook_entry_t("Colaizzo", "Cecilia", "608-382-4541") );
    phonebook.insert( phonebook_entry_t("Threets", "Leslie", "914-861-9748") );
    phonebook.insert( phonebook_entry_t("Koppinger", "Nan", "336-370-5333") );
    phonebook.insert( phonebook_entry_t("Dewar", "Izetta", "410-473-1708") );
    phonebook.insert( phonebook_entry_t("Arceo", "Tegan", "732-730-2692") );
    phonebook.insert( phonebook_entry_t("Keener", "Ruthann", "830-258-2769") );
    phonebook.insert( phonebook_entry_t("Breland", "Joni", "847-519-5906") );
    phonebook.insert( phonebook_entry_t("Rentfro", "Vi", "732-605-4781") );
    phonebook.insert( phonebook_entry_t("Kardas", "Colette", "402-896-5943") );
    phonebook.insert( phonebook_entry_t("Tromblay", "Malcolm", "703-221-5602") );
    phonebook.insert( phonebook_entry_t("Harnos", "Ryan", "972-558-1665") );
    phonebook.insert( phonebook_entry_t("Chaffins", "Jess", "212-510-4633") );
    phonebook.insert( phonebook_entry_t("Bourbon", "Sharen", "516-816-1541") );
    phonebook.insert( phonebook_entry_t("Juvera", "Nickolas", "352-598-8301") );
    phonebook.insert( phonebook_entry_t("Nunlee", "Gary", "317-542-6023") );
    phonebook.insert( phonebook_entry_t("Devreese", "Diane", "816-557-9673") );
    phonebook.insert( phonebook_entry_t("Chavous", "Roslyn", "601-234-9632") );
    phonebook.insert( phonebook_entry_t("Schieler", "Glory", "325-869-2649") );
    phonebook.insert( phonebook_entry_t("Sayaphon", "Rasheeda", "408-805-4309") );
    phonebook.insert( phonebook_entry_t("Palaia", "Alpha", "856-312-2629") );
    phonebook.insert( phonebook_entry_t("Jacobos", "Refugia", "510-974-8671") );
    phonebook.insert( phonebook_entry_t("Yori", "Shawnda", "407-538-5106") );
    phonebook.insert( phonebook_entry_t("Delasancha", "Mona", "307-403-1488") );
    phonebook.insert( phonebook_entry_t("Liukko", "Gilma", "516-393-9967") );
    phonebook.insert( phonebook_entry_t("Gabisi", "Janey", "608-967-7194") );
    phonebook.insert( phonebook_entry_t("Paskin", "Lili", "201-431-2989") );
    phonebook.insert( phonebook_entry_t("Asar", "Loren", "570-648-3035") );
    phonebook.insert( phonebook_entry_t("Chesterfield", "Dorothy", "858-617-7834") );
    phonebook.insert( phonebook_entry_t("Similton", "Gail", "760-616-5388") );
    phonebook.insert( phonebook_entry_t("Tillotson", "Catalina", "609-373-3332") );
    phonebook.insert( phonebook_entry_t("Lorens", "Lawrence", "401-465-6432") );
    phonebook.insert( phonebook_entry_t("Boulter", "Carlee", "785-347-1805") );
    phonebook.insert( phonebook_entry_t("Ankeny", "Thaddeus", "916-920-3571") );
    phonebook.insert( phonebook_entry_t("Oles", "Jovita", "386-248-4118") );
    phonebook.insert( phonebook_entry_t("Hixenbaugh", "Alesia", "202-646-7516") );
    phonebook.insert( phonebook_entry_t("Harabedian", "Lai", "415-423-3294") );
    phonebook.insert( phonebook_entry_t("Gillaspie", "Brittni", "208-709-1235") );
    phonebook.insert( phonebook_entry_t("Kampa", "Raylene", "574-499-1454") );
    phonebook.insert( phonebook_entry_t("Bookamer", "Flo", "308-726-2182") );
    phonebook.insert( phonebook_entry_t("Biddy", "Jani", "206-711-6498") );

    assert(phonebook.size() > 10);

    {
        // search for phone == 574-499-1454
        std::cout << "\n\nsearching for phone == 574-499-1454" << std::endl;
        ByPhoneIdx::const_iterator phone_start, phone_end;

        boost::tie(phone_start, phone_end) = phonebook.get<PhoneIdx>().equal_range("574-499-1454");

        assert(std::distance(phone_start, phone_end) == 1);
        std::copy(phone_start, phone_end, std::ostream_iterator<phonebook_entry_t>(std::cout, "\n"));
    }

    {
        // search for family name "Butt"
        std::cout << "\n\nsearching for family name \"Butt\"" << std::endl;
        ByFamilyNameIdx::const_iterator fname_start, fname_end;

        boost::tie(fname_start, fname_end) = phonebook.get<FamilyNameIdx>().equal_range("Butt");

        assert(std::distance(fname_start, fname_end) == 3);

        std::copy(fname_start, fname_end, std::ostream_iterator<phonebook_entry_t>(std::cout << "\n"));
    }

    {
        // search for full name "Butt, James"
        std::cout << "\n\nsearching for full name \"Butt, James\"" << std::endl;
        ByFullNameIdx::const_iterator fname_start, fname_end;

        boost::tie(fname_start, fname_end) = phonebook.get<FullNameIdx>().equal_range(boost::make_tuple("Butt","James"));

        assert(std::distance(fname_start, fname_end) == 1);

        std::copy(fname_start, fname_end, std::ostream_iterator<phonebook_entry_t>(std::cout << "\n"));
    }

    return 0;
}



В целом -- годная и полезная библиотека.

----
Читал хинты оракла. Много думал...
...
Рейтинг: 0 / 0
16.03.2016, 20:52
    #39193815
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
О, свежий FVMas.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
16.03.2016, 21:30
    #39193841
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
std::vector + несколько std::map. Букав чуть побольше надо будет написать, но это стоит того чтобы boost выкинуть.
...
Рейтинг: 0 / 0
16.03.2016, 22:11
    #39193864
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
А можно искать по первым трем цифрам телефона "504*" ?
...
Рейтинг: 0 / 0
16.03.2016, 22:18
    #39193869
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
Как только память кончается, все подобные приблуды теряют смысл.

Так и мультимап вроде уже в стандарте давно?
...
Рейтинг: 0 / 0
16.03.2016, 23:14
    #39193900
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
Dima Tstd::vector + несколько std::map. Букав чуть побольше надо будет написать, но это стоит того чтобы boost выкинуть.

как раз это все написано, чтобы не писать vector + несколько std::map.
...
Рейтинг: 0 / 0
16.03.2016, 23:15
    #39193901
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
SiemarglКак только память кончается, все подобные приблуды теряют смысл.

Так и мультимап вроде уже в стандарте давно?

как только память кончается, вообще все теряет смысл...
...
Рейтинг: 0 / 0
16.03.2016, 23:27
    #39193912
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
MasterZiv,

С какого перепугу вся БД должна быть в памяти ?
...
Рейтинг: 0 / 0
16.03.2016, 23:58
    #39193931
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
SiemarglMasterZiv,

С какого перепугу вся БД должна быть в памяти ?
Да будет вам. Тут жеж речь не о базах а об индексации коллекции по нескольким измерениям.
...
Рейтинг: 0 / 0
17.03.2016, 01:10
    #39193953
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
mayton,

Я это тестил лет 6 назад). Медаль слоупока кому?
...
Рейтинг: 0 / 0
17.03.2016, 02:11
    #39193964
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
Siemargl, не знаю. Тебе наверное. 6 лет назад ты был вкурсе
этих замечательных фич но тихо сидел и ждал. А сейчас когда
кто-то сделал хороший обзор - ты пришёл и надерзил.
...
Рейтинг: 0 / 0
17.03.2016, 02:20
    #39193966
jsa54513
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
Dima Tstd::vector + несколько std::map. Букав чуть побольше надо будет написать, но это стоит того чтобы boost выкинуть.
+1
...
Рейтинг: 0 / 0
17.03.2016, 03:03
    #39193969
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
Dima Tstd::vector + несколько std::map. Букав чуть побольше надо будет написать, но это стоит того чтобы boost выкинуть.
Лучше на ассемблере ))
...
Рейтинг: 0 / 0
17.03.2016, 10:41
    #39194127
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
SiemarglMasterZiv,

С какого перепугу вся БД должна быть в памяти ?

Блин, че вы такие нудные?
Это метафора, поэтическое сравнение...
...
Рейтинг: 0 / 0
17.03.2016, 10:43
    #39194128
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
Еще бы поиск по началу выражения, например все телефоны начинающиеся на '504-'. Такое с map сложно делать.
...
Рейтинг: 0 / 0
17.03.2016, 10:59
    #39194146
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
Dima T,

Там можно как то бегать по индексу. Так что по началу строки будет норм.

Я практического применения не нашел. Прикольная фишка, не более того.

И не дерзить, а поржать!

Еще у буста есть отличное "достоинство" - ошибки в шаблонах на пару страниц теста ошибки =)
...
Рейтинг: 0 / 0
17.03.2016, 11:48
    #39194193
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
SiemarglDima T,

Там можно как то бегать по индексу. Так что по началу строки будет норм.
Бегать непрактично, разве что бинарным поиском искать >=
SiemarglЯ практического применения не нашел. Прикольная фишка, не более того.
Например выдача при наборе подсказок по первым буквам, как у поисковиков

SiemarglЕще у буста есть отличное "достоинство" - ошибки в шаблонах на пару страниц теста ошибки =)
Именно это "достоинство" меня и остановило от его использования. Забыл & поставить (или что-то типа того) и опух эти портянки ошибок изучать. Может с опытом приспосабливаются их читать, но мне терпения не хватит чтобы этот опыт накопить
...
Рейтинг: 0 / 0
17.03.2016, 11:49
    #39194197
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
Dima Tstd::vector + несколько std::map. Букав чуть побольше надо будет написать, но это стоит того чтобы boost выкинуть.

а как ты его выкинешь? все равно же от туда что-нибудь нужно будет использовать..
конечно, если только одну библиотеку использовать,то можно попытатся избавится от зависимсоти, а если от туда и так целая гора?

да и если не ошибаюсь, это чисто хеадерная библиотека.. то есть почти не зависимость :) можно даже в свои исходинки просто файлы скопировать.. я так делал, когда нужно было кроскомпилить куда-нибудь или скомпилить непосредственно на устройстве или хостинге (чтобы там дополнительные библиотеки не устанавливать, просто делаешь себе сборку буста или еще чего-нибудь прямо в дереве исходников).
...
Рейтинг: 0 / 0
17.03.2016, 11:52
    #39194200
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
SiemarglЕще у буста есть отличное "достоинство" - ошибки в шаблонах на пару страниц теста ошибки =)
да, есть такая фишка.. но если принаровитя, то ничего - там они всегда в одном и том же месте :) то есть они вываливаются по определенному шаблону тоже, нужно просто найти это самое место :)
...
Рейтинг: 0 / 0
17.03.2016, 12:06
    #39194223
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
alexy_blackда, есть такая фишка.. но если принаровитя, то ничего - там они всегда в одном и том же месте :) то есть они вываливаются по определенному шаблону тоже, нужно просто найти это самое место :)
Нереально. Учитывая, что на разных компиляторах по разному вываливаются эти килотонны бустового поноса. Нужно пытаться писать максимально декомпозированный код по типам, стараясь избегать множества уровней вложенности шаблонов.
...
Рейтинг: 0 / 0
17.03.2016, 12:17
    #39194234
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
alexy_blackDima Tstd::vector + несколько std::map. Букав чуть побольше надо будет написать, но это стоит того чтобы boost выкинуть.

а как ты его выкинешь? все равно же от туда что-нибудь нужно будет использовать..
конечно, если только одну библиотеку использовать,то можно попытатся избавится от зависимсоти, а если от туда и так целая гора?
Я им не пользуюсь. У меня проекты достаточно простые, если чего нет - проще самому немного лишнего кода написать. Писал как-то подобную штуку.

А так согласен: если уж буст уже есть, то почему бы не пользоваться.
...
Рейтинг: 0 / 0
17.03.2016, 12:18
    #39194236
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
Dima TИменно это "достоинство" меня и остановило от его использования. Забыл & поставить (или что-то типа того) и опух эти портянки ошибок изучать. Может с опытом приспосабливаются их читать, но мне терпения не хватит чтобы этот опыт накопить
++1
...
Рейтинг: 0 / 0
17.03.2016, 15:20
    #39194498
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
Dima TИменно это "достоинство" меня и остановило от его использования. Забыл & поставить (или что-то типа того) и опух эти портянки ошибок изучать. Может с опытом приспосабливаются их читать, но мне терпения не хватит чтобы этот опыт накопить
Не того боитесь ))
С опытом не читать проще становится, а ошибок становится меньше.
Я вот например уже не помню когда в последний раз видел простыню ошибок в шаблонах.
Поэтому такой аргумент против буста для меня смешон. Это все равно что не ездить на авто, потому что можно попасть в аварию ))
...
Рейтинг: 0 / 0
18.03.2016, 00:17
    #39194961
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
Anatoly MoskovskyС опытом не читать проще становится , а ошибок становится меньше .

Не согласен. Оба пункта - влияют на успех проекта.
...
Рейтинг: 0 / 0
18.03.2016, 11:34
    #39195190
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::multi_index: микро-РСУБД в твоём С++-приложении
Dima TЕще бы поиск по началу выражения, например все телефоны начинающиеся на '504-'. Такое с map сложно делать.


такое возможно, я уверен. в мултииндекс.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / boost::multi_index: микро-РСУБД в твоём С++-приложении / 25 сообщений из 27, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]