Skip to content

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

License

Notifications You must be signed in to change notification settings

espressif/esp-boost

Repository files navigation

Arduino Lint Version Consistency

Latest Arduino Library Version: GitHub Release

Latest Espressif Component Version: Espressif Release

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.). It supports multiple development frameworks, including ESP-IDF, Arduino, and MicroPython.

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

📖 Here are guides for using esp-boost in different development environments:

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 Official Official
align ⚠️ Link Official
array ⚠️ Link Official
assert ⚠️ Link Official
atomic ⚠️ Link Official
bind ⚠️ Link Official
chrono ⚠️ Link Official Official
config ⚠️ Link Official
concept_check ⚠️ Link Official
container ⚠️ Link Official Official
container_hash ⚠️ Link Official
core ⚠️ Link Official
date_time ⚠️ Link Official Official
describe ⚠️ Link Official Official
detail ⚠️ Link Official
exception ⚠️ Link Official 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
lexical_cast ⚠️ Link Official Official
move ⚠️ Link Official Official
mp11 ⚠️ Link Official
mpl ⚠️ Link Official Official
optional ⚠️ Link Official
parameter ⚠️ Link Official
predef ⚠️ Link Official
preprocessor ⚠️ Link Official
range ⚠️ Link Official
ratio ⚠️ Link Official Official
regex ⚠️ Link Official Official
smart_ptr ⚠️ Link Official Official
static_assert ⚠️ Link Official Official
system ⚠️ Link Official
test ⚠️ Link Official Official
throw_exception ⚠️ Link Official
tokenizer ⚠️ Link Official Official
tuple ⚠️ Link Official
type_traits ⚠️ Link Official
typeof ⚠️ Link Official
utility ⚠️ Link Official
variant ⚠️ Link Official
variant2 ⚠️ Link Official
winapi ⚠️ Link Official

FAQ

🔍 Below are common questions in different development environments:

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages