Fix compile error on boost 1.86

Boost 1.86 shows a compiler error which is holding up the rebase here.
The mapper extends std::vector, because it results in smaller binary
sizes compared to boost::vector.  It's not clear if this is the problem,
or if there's something else amiss within container.  Triaging the real
root cause isn't important to this use case.

There are a few reported bugs and changes that might be related[1][2].

It's not clear which one would've broken try_emplace in this case, nor
is it worth the effort to resolve.

This patchset replaces try_emplace calls with emplace calls.  In theory
these are slightly less efficient, but considering that map construction
is a cold path, it's not terribly important that it be efficient.

[1] https://github.com/boostorg/container/issues/292
[2] https://github.com/boostorg/container/issues/280

Change-Id: I30d176022d2cec45430a50dc02c84666541fb4d7
Signed-off-by: Ed Tanous <etanous@nvidia.com>
1 file changed
tree: e7cc817ea227712c89b460f82e601e298ab39b75
  1. fail-monitor/
  2. libmapper/
  3. src/
  4. subprojects/
  5. .clang-format
  6. .gitignore
  7. LICENSE
  8. meson.build
  9. meson.options
  10. OWNERS
  11. README.md
README.md

The Mapper

This repository contains the mapper, which assists in finding things on D-Bus. There is documentation about it here.

Prerequisites

Non-OpenBMC build dependencies are:

  • meson/ninja
  • boost
  • libsystemd
  • systemd
  • tinyxml2

Build

meson build && ninja -C build

Run Unit Tests

meson build && ninja -C build test

Clean the repository

rm -rf build