Skip to content

espressif/esp-boost

Repository files navigation

pre-commit Release Version

ESP Boost C++ Library

Overview

esp-boost is a C++ library ported by Espressif based on Boost, designed for developing C++ applications on ESP series SoCs (ESP32, ESP32-S3, ESP32-P4, etc.).

Note

  • esp-boost is ported from the official Boost library version 1.87.0.
  • Most libraries in esp-boost are directly copied from the official repository. Due to platform dependencies in some libraries, we made necessary modifications to compile on ESP-IDF (such as adding esp32.hpp and esp32.cpp in the config directory). All modifications are marked with esp32 comments.

Warning

  • esp-boost has not yet fully ported all libraries from Boost, only a subset of commonly used functionalities. For specific support information, please refer to Supported Libraries.
  • Since many Boost libraries require C++ Exception and RTTI features, which are disabled by default in ESP-IDF, users need to enable the CONFIG_COMPILER_CXX_EXCEPTIONS and CONFIG_COMPILER_CXX_RTTI configuration options in menuconfig.

Table of Contents

How to Use

SDK & Dependencies

Before using this library, please ensure you have installed the SDK that meets the following version requirements:

SDK Version Required
esp-idf >= 5.3

Note

Adding to Project

esp-boost has been uploaded to the Espressif Component Registry. You can add it to your project in the following ways:

  1. Using Command Line

    Run the following command in your project directory:

    idf.py add-dependency "espressif/esp-boost"
  2. Modifying Configuration File

    Create or modify the idf_component.yml file in your project directory:

    dependencies:
      espressif/esp-boost: "*"

For detailed information, please refer to Espressif Documentation - IDF Component Manager.

Supported Libraries

📋 Below is a list of libraries supported by esp-boost:

Note

In the table below, the icons and symbols have the following meanings:

  • ✅: Indicates that the library has been fully ported and has been completely validated using official examples and tests.
  • ⚠️: Indicates that the library's source code has been ported, but has not been fully validated with tests.
  • ❌: Indicates that there are no relevant examples or tests.
Name Status Documentation Examples Tests
signals2 ✅️ Link Internal / Official Internal / Official
thread ✅️ Link Internal / Official Internal 1 & Internal 2 / Official
algorithm ✅️ Link Internal / Official Internal / Official
align ✅️ Link Internal / Official
array ✅️ Link Internal / Official
format ✅️ Link Internal / Official Internal / Official
graph ✅️ Link Internal / Official Official
asio ⚠️ Link Official Official
assert ⚠️ Link Official
atomic ⚠️ Link Official
bimap ⚠️ Link Official Official
bind ⚠️ Link Official
chrono ⚠️ Link Official Official
config ⚠️ Link Official
concept_check ⚠️ Link Official
container ⚠️ Link Official Official
container_hash ⚠️ Link Official
conversion ⚠️ Link Official
core ⚠️ Link Official
date_time ⚠️ Link Official Official
describe ⚠️ Link Official Official
detail ⚠️ Link Official
dynamic_bitset ⚠️ Link Official Official
endian ⚠️ Link Official Official
exception ⚠️ Link Official Official
foreach ⚠️ Link Official
function ⚠️ Link Official Official
function_types ⚠️ Link Official Official
fusion ⚠️ Link Official Official
io ⚠️ Link Official
integer ⚠️ Link Official
intrusive ⚠️ Link Official Official
iterator ⚠️ Link Official Official
json ⚠️ Link Official Official
lexical_cast ⚠️ Link Official Official
math ⚠️ Link Official Official
move ⚠️ Link Official Official
mp11 ⚠️ Link Official
mpl ⚠️ Link Official Official
multi_index ⚠️ Link Official Official
optional ⚠️ Link Official
parameter ⚠️ Link Official
phoenix ⚠️ Link Official Official
pool ⚠️ Link Official Official
predef ⚠️ Link Official
preprocessor ⚠️ Link Official
property_map ⚠️ Link Official Official
property_tree ⚠️ Link Official Official
proto ⚠️ Link Official Official
random ⚠️ Link Official Official
range ⚠️ Link Official
ratio ⚠️ Link Official Official
regex ⚠️ Link Official Official
serialization ⚠️ Link Official Official
smart_ptr ⚠️ Link Official Official
spirit ⚠️ Link Official Official
static_assert ⚠️ Link Official Official
system ⚠️ Link Official
test ⚠️ Link Official Official
throw_exception ⚠️ Link Official
tokenizer ⚠️ Link Official Official
tti ⚠️ Link Official
tuple ⚠️ Link Official
type_traits ⚠️ Link Official
typeof ⚠️ Link Official
unordered ⚠️ Link Official Official
utility ⚠️ Link Official
variant ⚠️ Link Official
variant2 ⚠️ Link Official
winapi ⚠️ Link Official
xpressive ⚠️ Link Official Official

About

Boost C++ libraries for ESP Series SoCs (ESP32, ESP32-S3, ESP32-P4, etc.)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •