Revision 657d2a1f7e13d376f7a0bc7b0cfd0ca66e35e49e authored by Thomas Fischer on 07 October 2021, 11:46:18 UTC, committed by Thomas Fischer on 07 October 2021, 15:20:28 UTC
1 parent 9505d11
cpp23.h
/**
* \file
* \copyright
* Copyright (c) 2012-2021, OpenGeoSys Community (http://www.opengeosys.org)
* Distributed under a Modified BSD License.
* See accompanying file LICENSE.txt or
* http://www.opengeosys.org/project/license
*
*/
#pragma once
#include <type_traits>
// ToDo (tm) remove with c++23
namespace BaseLib
{
/**
* \brief Converts an enumeration to its underlying type.
* \param e Enumeration value to convert
* \return The integer value of the underlying type of Enum, converted from e.
*
* https://en.cppreference.com/w/cpp/utility/to_underlying
* Implementation from Scott Meyers : Modern effective c++ , Item 10 Scoped
* enums
*/
template <typename E>
constexpr auto to_underlying(E e) noexcept
{
return static_cast<std::underlying_type_t<E>>(e);
}
} // namespace BaseLib
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...