Skip to content

Conversation

@mraduldubey
Copy link
Collaborator

This commit removes unnecessary Boost dependencies by replacing them with C++17 standard library equivalents:

Replacements Made:

  • boost::shared_ptr -> std::shared_ptr
  • boost::make_shared -> std::make_shared
  • boost::thread -> std::thread
  • boost::mutex -> std::mutex
  • boost::condition -> std::condition_variable
  • boost::bind -> lambdas
  • boost::function -> std::function
  • boost::filesystem -> std::filesystem
  • boost::chrono -> std::chrono
  • boost::this_thread -> std::this_thread
  • BOOST_FOREACH -> range-based for loops
  • boost::math::iround -> std::lround
  • boost::algorithm::join -> std::accumulate

Boost Components Retained:

  • boost::serialization (no std equivalent)
  • boost::archive (for binary serialization)
  • boost::iostreams (for serialization to buffers)
  • boost::log (no std logging library)
  • boost::pool (memory pooling)
  • boost::dll (dynamic library loading)
  • boost::asio (mutable_buffer for Frame)
  • boost::container (deque)
  • boost::multi_index (advanced containers)

Build Configuration Updates:

  • CMakeLists.txt: Reduced Boost components from 7 to 3
  • vcpkg.json: Removed 7 unnecessary Boost packages, added 3 required ones

Files modified: 180+

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).

Fixes #[Issue]

Description

Precise description of the changes in this pull request

Alternative(s) considered

Have you considered any alternatives? And if so, why have you chosen the approach in this PR?

Type

Type Choose one: (Bug fix | Feature | Documentation | Testing | Other)

Screenshots (if applicable)

Checklist

  • I have read the Contribution Guidelines
  • I have written Unit Tests
  • I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach

This commit removes unnecessary Boost dependencies by replacing them with
C++17 standard library equivalents:

## Replacements Made:
- boost::shared_ptr -> std::shared_ptr
- boost::make_shared -> std::make_shared
- boost::thread -> std::thread
- boost::mutex -> std::mutex
- boost::condition -> std::condition_variable
- boost::bind -> lambdas
- boost::function -> std::function
- boost::filesystem -> std::filesystem
- boost::chrono -> std::chrono
- boost::this_thread -> std::this_thread
- BOOST_FOREACH -> range-based for loops
- boost::math::iround -> std::lround
- boost::algorithm::join -> std::accumulate

## Boost Components Retained:
- boost::serialization (no std equivalent)
- boost::archive (for binary serialization)
- boost::iostreams (for serialization to buffers)
- boost::log (no std logging library)
- boost::pool (memory pooling)
- boost::dll (dynamic library loading)
- boost::asio (mutable_buffer for Frame)
- boost::container (deque)
- boost::multi_index (advanced containers)

## Build Configuration Updates:
- CMakeLists.txt: Reduced Boost components from 7 to 3
- vcpkg.json: Removed 7 unnecessary Boost packages, added 3 required ones

Files modified: 180+
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants