Здравствуйте!
namespace my_ns
{
template < typename T >
using Opt = std::optional<T>;
using json_scalar =
std::variant< bool // std::get<0>(...)
, std::int64_t // std::get<1>(...)
, std::uint64_t // std::get<2>(...)
, double // std::get<3>(...)
, std::string // std::get<4>(...)
, ArrayText // std::get<5>(...)
, ObjectText // std::get<6>(...)
>
; // json_scalar;
} // namespace my_ns
и например, в другом namespace сделаем аналогичное — будут ли типы одинаковыми с точки зрения компилятора?
ЗЫ И в догонку — enum class насколько строг?