История изменений
Исправление fsb4000, (текущая версия) :
Таким образом проект становится жёстко завязан на буст без какой либо надежды избавиться от него. Даже когда отдельные компоненты буст добавляют в std, проекты не преходят на эту реализацию и продолжают использовать реализацию буст, потому что это ничего им не даст.
В Bitcoin убрали часть зависимостей от boost.
Например:
https://github.com/bitcoin/bitcoin/pull/21059
https://github.com/bitcoin/bitcoin/pull/13734
https://github.com/bitcoin/bitcoin/pull/20480
Хотя проект по-прежнему использует boost: https://github.com/bitcoin/bitcoin/blob/b22c275582ccadc172d213d30cc261cc858f8b8e/test/lint/lint-includes.py#L24-L34
EXPECTED_BOOST_INCLUDES = ["boost/date_time/posix_time/posix_time.hpp",
"boost/multi_index/hashed_index.hpp",
"boost/multi_index/ordered_index.hpp",
"boost/multi_index/sequenced_index.hpp",
"boost/multi_index_container.hpp",
"boost/process.hpp",
"boost/signals2/connection.hpp",
"boost/signals2/optional_last_value.hpp",
"boost/signals2/signal.hpp",
"boost/test/included/unit_test.hpp",
"boost/test/unit_test.hpp"]
То же самое относится и к другим подобным библиотекам-комбайнам, которые охватывают огромный диапазон задач вместо того чтобы делать одну, например Qt.
Также и от Qt, нужно использовать зависимости в зависимости от потребностей, а не все классы Qt, часть из которых не нужна.
Хотя согласен, многие действуют по той модели которую ты описал.
Исправление fsb4000, :
Таким образом проект становится жёстко завязан на буст без какой либо надежды избавиться от него. Даже когда отдельные компоненты буст добавляют в std, проекты не преходят на эту реализацию и продолжают использовать реализацию буст, потому что это ничего им не даст.
В Bitcoin убрали часть зависимостей от boost.
Например:
https://github.com/bitcoin/bitcoin/pull/21059
https://github.com/bitcoin/bitcoin/pull/13734
https://github.com/bitcoin/bitcoin/pull/20480
Хотя проект по-прежнему использует boost: https://github.com/bitcoin/bitcoin/blob/44dbf918d3ab073c3d0d1d78627e1201af582d3c/test/lint/lint-includes.sh#L51-L67
EXPECTED_BOOST_INCLUDES=(
boost/algorithm/string.hpp
boost/algorithm/string/classification.hpp
boost/algorithm/string/replace.hpp
boost/algorithm/string/split.hpp
boost/date_time/posix_time/posix_time.hpp
boost/multi_index/hashed_index.hpp
boost/multi_index/ordered_index.hpp
boost/multi_index/sequenced_index.hpp
boost/multi_index_container.hpp
boost/process.hpp
boost/signals2/connection.hpp
boost/signals2/optional_last_value.hpp
boost/signals2/signal.hpp
boost/test/included/unit_test.hpp
boost/test/unit_test.hpp
)
То же самое относится и к другим подобным библиотекам-комбайнам, которые охватывают огромный диапазон задач вместо того чтобы делать одну, например Qt.
Также и от Qt, нужно использовать зависимости в зависимости от потребностей, а не все классы Qt, часть из которых не нужна.
Хотя согласен, многие действуют по той модели которую ты описал.
Исходная версия fsb4000, :
Таким образом проект становится жёстко завязан на буст без какой либо надежды избавиться от него. Даже когда отдельные компоненты буст добавляют в std, проекты не преходят на эту реализацию и продолжают использовать реализацию буст, потому что это ничего им не даст.
В Bitcoin убрали часть зависимостей от boost.
Например:
https://github.com/bitcoin/bitcoin/pull/21059
https://github.com/bitcoin/bitcoin/pull/13734
https://github.com/bitcoin/bitcoin/pull/20480
Хотя проект по-прежнему использует boost: https://github.com/MarcoFalke/b-c/blob/44dbf918d3ab073c3d0d1d78627e1201af582d3c/test/lint/lint-includes.sh#L51-L67
EXPECTED_BOOST_INCLUDES=(
boost/algorithm/string.hpp
boost/algorithm/string/classification.hpp
boost/algorithm/string/replace.hpp
boost/algorithm/string/split.hpp
boost/date_time/posix_time/posix_time.hpp
boost/multi_index/hashed_index.hpp
boost/multi_index/ordered_index.hpp
boost/multi_index/sequenced_index.hpp
boost/multi_index_container.hpp
boost/process.hpp
boost/signals2/connection.hpp
boost/signals2/optional_last_value.hpp
boost/signals2/signal.hpp
boost/test/included/unit_test.hpp
boost/test/unit_test.hpp
)
То же самое относится и к другим подобным библиотекам-комбайнам, которые охватывают огромный диапазон задач вместо того чтобы делать одну, например Qt.
Также и от Qt, нужно использовать зависимости в зависимости от потребностей, а не все классы Qt, часть из которых не нужна.
Хотя согласен, многие действуют по той модели которую ты описал.