LINUX.ORG.RU

История изменений

Исправление 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, часть из которых не нужна.

Хотя согласен, многие действуют по той модели которую ты описал.