diff --git a/variant.cpp b/variant.cpp index 7476633..1cbf6fd 100644 --- a/variant.cpp +++ b/variant.cpp @@ -108,8 +108,8 @@ static std::map idToType = { {Variant::Type::UI32Matrix, "UI32Matrix"}, {Variant::Type::I64Matrix, "I64Matrix"}, {Variant::Type::UI64Matrix, "UI64Matrix"}, - {Variant::Type::F32Matrix, "I8Matrix"}, - {Variant::Type::F64Matrix, "UI8Matrix"}, + {Variant::Type::F32Matrix, "F32Matrix"}, + {Variant::Type::F64Matrix, "F64Matrix"}, }; template @@ -403,6 +403,7 @@ Variant variantFromString(Variant::Type type, const String &str) Variant::Type Variant::type() const { + int idx = _value.index(); return (Variant::Type)_value.index(); } @@ -433,6 +434,28 @@ String Variant::toString() const return ss.str(); }; + auto matrixString = [](auto matrix) { + std::stringstream ss; + ss << "{"; + for(int i=0; i(_value, str, end); break; @@ -457,6 +480,8 @@ String Variant::toString() const case Variant::Type::UI64Vector: string = vectorString(std::get(_value)); break; case Variant::Type::F32Vector: string = vectorString(std::get(_value)); break; case Variant::Type::F64Vector: string = vectorString(std::get(_value)); break; + case Variant::Type::F32Matrix: string = matrixString(std::get(_value)); break; + case Variant::Type::F64Matrix: string = matrixString(std::get(_value)); break; case Variant::Type::String: string = std::get(_value); break; case Variant::Type::TimePoint: {