From 6fb0aa45277128ce98756d870b7f91cbcbd35238 Mon Sep 17 00:00:00 2001 From: hogliux Date: Mon, 14 Nov 2016 17:51:08 +0000 Subject: [PATCH] Added a StringArray constructor to var --- modules/juce_core/containers/juce_Variant.cpp | 11 +++++++++++ modules/juce_core/containers/juce_Variant.h | 1 + 2 files changed, 12 insertions(+) diff --git a/modules/juce_core/containers/juce_Variant.cpp b/modules/juce_core/containers/juce_Variant.cpp index 52a8e81afd..631b11b0cf 100644 --- a/modules/juce_core/containers/juce_Variant.cpp +++ b/modules/juce_core/containers/juce_Variant.cpp @@ -456,6 +456,17 @@ var::var (const wchar_t* const v) : type (&VariantType_String::instance) { n var::var (const void* v, size_t sz) : type (&VariantType_Binary::instance) { value.binaryValue = new MemoryBlock (v, sz); } var::var (const MemoryBlock& v) : type (&VariantType_Binary::instance) { value.binaryValue = new MemoryBlock (v); } +var::var (const StringArray& v) : type (&VariantType_Array::instance) +{ + Array strings; + + const int n = v.size(); + for (int i = 0; i < n; ++i) + strings.add (var (v[i])); + + value.objectValue = new VariantType_Array::RefCountedArray(strings); +} + var::var (ReferenceCountedObject* const object) : type (&VariantType_Object::instance) { value.objectValue = object; diff --git a/modules/juce_core/containers/juce_Variant.h b/modules/juce_core/containers/juce_Variant.h index f5c77cb644..24fb1467e0 100644 --- a/modules/juce_core/containers/juce_Variant.h +++ b/modules/juce_core/containers/juce_Variant.h @@ -84,6 +84,7 @@ public: var (const wchar_t* value); var (const String& value); var (const Array& value); + var (const StringArray& value); var (ReferenceCountedObject* object); var (NativeFunction method) noexcept; var (const void* binaryData, size_t dataSize);