Revision 29b62eae9121aa026230f84d7653da366faa6e5d authored by Wenqing Wang on 28 September 2021, 14:13:07 UTC, committed by Dmitry Yu. Naumov on 29 September 2021, 12:44:37 UTC
1 parent e2b75f2
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 ...