# funreg: Functional Memory-mapped Register I/O *funreg* provides a functional approach to operating on memory-mapped registers with zero overhead. This library primarily targets embedded firmware, where these types of operations are frequently encountered. What makes this library unique is its ability to carry out multiple register operations with a single function call, reducing this to a single register read and write. Further, registers can be organized into "groups": these groups can receive a list of operations for any of the contained registers, and will optimize down to a single read and write for each register. A tutorial or guide will be added soon. ## Requirements * C++20 * GCC or Clang with some optimization enabled (O1, O2, O3, Os).