25 Ağustos 2017 Cuma

std::underlying_type

Giriş
Şu satırı dahil ederiz.
#include <type_traits>
std::underlying_type ile bir enum primitive değerine çevirilebilir.

Diğer
std::underlying_type_t
Template kodlarda kullanılır. Şöyle yaparız.
enum class EventOrder
{
  Last = 1'000'000,
  Default = 0,
  Logger = -1024,
  First = -1'000'000
};

constexpr void sum(const EventOrder order, const std::underlying_type_t<EventOrder> d)
{
  ...
}

constexpr EventOrder e = EventOrder::Default;
sum(e, 2);

Hiç yorum yok:

Yorum Gönder