- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
metrics_key::metrics_key(std::initializer_list<std::string> const& il) {
TRI_ASSERT(il.size() > 0);
TRI_ASSERT(il.size() < 3);
name = *il.begin();
if (il.size() == 2) {
labels = *(il.begin()+1);
}
_hash = std::hash<std::string>{}(name + labels);
}
6apry3uHckuu_nemyx 19.03.2021 07:38 # 0
Зачем аргументы передавать списком?
bormand 19.03.2021 07:54 # +1
Soul_re@ver 20.03.2021 15:13 # +2
bormand 20.03.2021 15:24 # +1
guest6 20.03.2021 15:28 # 0
bormand 20.03.2021 15:29 # 0
booratihno 20.03.2021 15:30 # 0
всмысле TRI это 3?
bormand 20.03.2021 15:31 # +1
> всмысле TRI это 3
Я думаю это "неймспейс" их либы.
booratihno 20.03.2021 15:33 # 0
я просто подумал, что initializer_list ты можешь проверитьв компайл тайм, но видимо не всегда
bormand 20.03.2021 15:34 # 0
Не, для сложных проверок в комплайтайме придётся вариадик темплейт городить... Лист здесь бессилен. А простые можно оверлоадами или дефолтными аргументами разрулить.
bormand 20.03.2021 15:40 # 0
guest6 20.03.2021 15:43 # 0
но тут еще смешнее: аргументов может быть от 1 до 2 включительно. Нахуя вообще все это городить?
bormand 20.03.2021 15:45 # 0
Просто часто промахивался при вызове сишной версии. Там были key/value пары и нулл в конце. А в крестах это таки получилось выразить красиво и типобезопасно.
guest6 20.03.2021 15:50 # 0
bormand 20.03.2021 15:51 # 0
guest6 20.03.2021 15:54 # 0
эти вечные
ioctl(int fd, unsigned long request, ...);
Soul_re@ver 20.03.2021 16:02 # +2
bormand 20.03.2021 16:09 # +1
Soul_re@ver 20.03.2021 16:16 # +2
Починил, компилируется.
bormand 20.03.2021 16:29 # +1
bormand 20.03.2021 16:45 # +1
Можно и раньше, если приучить юзера, что после изменений всё ломается. Тогда у него рефлекс будет срабатывать сразу, когда он задумается о новой фиче: "опять эти мудаки что-нибудь сломают, лучше сделаю вручную".
booratihno 20.03.2021 16:45 # +1
статический анализ в IDE?
Soul_re@ver 20.03.2021 17:02 # +2
KoWe4Ka_l7porpaMMep 20.03.2021 17:27 # 0
bormand 20.03.2021 17:52 # +2
KoWe4Ka_l7porpaMMep 20.03.2021 17:55 # 0
Почему такая вселенская несправедливость имеет место быть: код блокс написан на wxWidgets и он страшный, а QTCreator написан на QT и он прикольный (((
bormand 20.03.2021 17:56 # 0
KoWe4Ka_l7porpaMMep 20.03.2021 18:20 # 0
http://wiki.codeblocks.org/index.php/Code_Completion_Design
И его хотят переписать:
http://wiki.codeblocks.org/index.php/Code::Completion_Rewrite
Ахуеть, но я нагуглил шланговский плагин:
http://forums.codeblocks.org/index.php?topic=15521.0
Note, this plugin will probably fail on advanced projects(at least it fails on this project), just use it on simple stuff for now
Ну бля (((
booratihno 20.03.2021 18:37 # 0
с тагсами я и в виме писать могу
KoWe4Ka_l7porpaMMep 20.03.2021 18:51 # 0
Пора перейти на CodeLite. Там даже новейшая питушня для автодополнения кода есть. Как вам? «Language Server» называется...
https://wiki.codelite.org/pmwiki.php/Main/LanguageServer
guest6 20.03.2021 20:34 # +1
guest6 20.03.2021 20:34 # 0
booratihno 20.03.2021 15:27 # 0
Имхо, такой код нужно генерить, а не писать вручную
guest6 20.03.2021 17:16 # +1
https://twitter.com/emollick/status/1371932428982493185
KoWe4Ka_l7porpaMMep 20.03.2021 17:27 # 0
guest6 20.03.2021 18:38 # +3