<div dir="ltr"><div>nifpp is a C++11 wrapper for the Erlang NIF API.  I have updated nifpp to support v17 maps, and I have also removed the requirement to patch "erl_nif.h".  A quick nifpp maps example...</div><div>
<br></div><div><div><font face="courier new, monospace">// create #{abc=>123, pqr=>456}</font></div><div><font face="courier new, monospace">std::map<nifpp::str_atom, int> cppmap;</font></div><div><font face="courier new, monospace">cppmap["abc"] = 123;</font></div>
<div><font face="courier new, monospace">cppmap["pqr"] = 456;</font></div><div><font face="courier new, monospace">ERL_NIF_TERM t = nifpp::make(env, cppmap);</font></div></div><div><br></div><div><br></div><div>
See <a href="https://github.com/goertzenator/nifpp">https://github.com/goertzenator/nifpp</a><br></div><div><br></div><div><br></div><div>Nifpp enhances the Erlang NIF API for C++ by providing: <br></div><div><br></div><div>
- Overloaded get()/make() wrappers for the enif_get_xxx()/enif_make_xxx() C API.</div><div>- get()/make() support for STL containers tuple, vector, array, list, deque, set, unordered_set, multiset, map, and unordered_map.</div>
<div>- get()/make() support for nested containers.</div><div>- A resource pointer type so that any type can be easily used as a NIF resource.  Think of it as a std::shared_ptr that the emulator can hold references to.</div>
<div><br></div><div>All feedback welcome,</div><div>Dan.<br></div></div>