text: //
  // shm is a simple shared memory libary
  // For more information see https://github.com/janwilmans/shm
  //
  // Copyright (c) 2021 Jan Wilmans
  //
  // This code is licensed under the MIT License (MIT).
  //
  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  // THE SOFTWARE.
  
  #pragma once
  
  #include <exception>
  #include <string>
  
  namespace shm {
  
  std::string get_errno_string(int code);
  class errno_exception : public std::exception
  {
  public:
      errno_exception(const char * description);
      const char * what() const noexcept override;
  
  private:
      int m_errno;
      std::string m_what;
  };
  
  } // namespace shm