本文 ある型Tがstd::optionalかを判定したい // こんな感じ static_assert(not is_optional_v<int>); static_assert(is_optional_v<std::optional<int>>); constexpr if-statementなどを使っていると、たまにそういう要望が出てくることがあります。 ではどうやって実装しましょう? より一般的にvalue_typeをメンバ型に持つ何かしらの型に対しても同様のことがあると思いますが、とりあえずis_optionalを実装してみます。 #include <optional> #inclu…