29 #ifndef JUCE_VARIANT_H_INCLUDED
30 #define JUCE_VARIANT_H_INCLUDED
77 var (
int value) noexcept;
79 var (
bool value) noexcept;
80 var (
double value) noexcept;
86 var (NativeFunction method) noexcept;
87 var (
const void* binaryData,
size_t dataSize);
91 var& operator= (
int value);
93 var& operator= (
bool value);
94 var& operator= (
double value);
96 var& operator= (
const wchar_t* value);
100 var& operator= (NativeFunction method);
102 #if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS
103 var (
var&& other) noexcept;
107 var& operator= (
var&& other) noexcept;
114 static var undefined() noexcept;
117 operator
int()
const noexcept;
119 operator
bool()
const noexcept;
120 operator
float()
const noexcept;
121 operator
double()
const noexcept;
131 Array<
var>* getArray() const noexcept;
145 bool isVoid() const noexcept;
146 bool isUndefined() const noexcept;
147 bool isInt() const noexcept;
148 bool isInt64() const noexcept;
149 bool isBool() const noexcept;
150 bool isDouble() const noexcept;
151 bool isString() const noexcept;
152 bool isObject() const noexcept;
153 bool isArray() const noexcept;
154 bool isBinaryData() const noexcept;
155 bool isMethod() const noexcept;
162 bool equals (const
var& other) const noexcept;
168 bool equalsWithSameType (const
var& other) const noexcept;
171 bool hasSameTypeAs (const
var& other) const noexcept;
177 var clone() const noexcept;
192 const
var& operator[] (
int arrayIndex) const;
201 var& operator[] (
int arrayIndex);
210 void append (const
var& valueToAppend);
219 void insert (
int index, const
var& value);
226 void remove (
int index);
234 void resize (
int numArrayElementsWanted);
240 int indexOf (const
var& value) const;
244 const
var& operator[] (const
Identifier& propertyName) const;
246 const
var& operator[] (const
char* propertyName) const;
249 var getProperty (const
Identifier& propertyName, const
var& defaultReturnValue) const;
264 var invoke (const
Identifier& method, const
var* arguments,
int numArguments) const;
266 NativeFunction getNativeFunction() const;
303 char stringValue [
sizeof (
String)];
306 NativeFunction methodValue;
309 const VariantType* type;
313 var (
const VariantType&) noexcept;
326 #endif // JUCE_VARIANT_H_INCLUDED
int numArguments
Definition: juce_Variant.h:59
Definition: juce_Variant.h:46
#define noexcept
Definition: juce_CompilerSupport.h:141
Definition: juce_Variant.cpp:367
Definition: juce_MemoryBlock.h:38
Definition: juce_String.h:43
Definition: juce_Variant.h:53
Definition: juce_Variant.cpp:138
#define JUCE_API
Definition: juce_StandardHeader.h:139
Definition: juce_Variant.cpp:168
Definition: juce_DynamicObject.h:44
Definition: juce_ReferenceCountedObject.h:65
Definition: juce_Variant.cpp:303
Definition: juce_Variant.cpp:108
const var & thisObject
Definition: juce_Variant.h:57
Definition: juce_Variant.cpp:43
Definition: juce_OutputStream.h:42
long long int64
Definition: juce_MathsFunctions.h:60
Definition: juce_Variant.cpp:221
Definition: juce_Array.h:60
Definition: juce_Variant.cpp:261
Definition: juce_Variant.cpp:396
Definition: juce_Variant.cpp:78
Definition: juce_Variant.cpp:195
Definition: juce_Variant.cpp:90
const var * arguments
Definition: juce_Variant.h:58
Definition: juce_Identifier.h:43