powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / boost::multi_index: микро-РСУБД в твоём С++-приложении
25 сообщений из 27, страница 1 из 2
boost::multi_index: микро-РСУБД в твоём С++-приложении
    #39193806
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Недавно нужно было изучить 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
boost::multi_index: микро-РСУБД в твоём С++-приложении
    #39193815
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, свежий FVMas.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
boost::multi_index: микро-РСУБД в твоём С++-приложении
    #39193841
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
std::vector + несколько std::map. Букав чуть побольше надо будет написать, но это стоит того чтобы boost выкинуть.
...
Рейтинг: 0 / 0
boost::multi_index: микро-РСУБД в твоём С++-приложении
    #39193864
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно искать по первым трем цифрам телефона "504*" ?
...
Рейтинг: 0 / 0
boost::multi_index: микро-РСУБД в твоём С++-приложении
    #39193869
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как только память кончается, все подобные приблуды теряют смысл.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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