ideas icon indicating copy to clipboard operation
ideas copied to clipboard

Разбить stl классы по headers

Open olegpublicprofile opened this issue 3 years ago • 2 comments

Вместо того, что бы каждый раз искать какой header нужно подключить нужно открывать С++ документацию и смотреть в каком header находится STL класс. Пример Qt библиотека, там каждый класс в отдельном header и легко понять какой header нужно добавить в include

Например :

  • Старый код:
#include <utility>

int main()
{
	std::pair<int, int> pair;
	return 0;
}
  • Новый код:
#include <pair>

int main()
{
	std::pair<int, int> pair;
	return 0;
}

Возможная реализация: https://github.com/olegpublicprofile/stdeasy

olegpublicprofile avatar Sep 27 '21 08:09 olegpublicprofile

Сейчас комитет планирует сделать несколько иначе http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2412r0.pdf

Идея в том, чтобы объединять с помощью модулей сразу множество хедеров. Например, сделать модуль std, который содержит все сущности стандартной библиотеки.

Замеры показывают, что import std; работает раз в 10 быстрее чем один только #include iostream.

Итого, вместо разбивания на отдельные хедера или мучительного поиска нужного хедера, просто пишем import std;

apolukhin avatar Sep 27 '21 09:09 apolukhin

На это лет 10 потребуется. А страдаем сейчас.

maksimus1210 avatar Sep 27 '21 14:09 maksimus1210