Variant.this
- this(GVariant* gVariant)
- this(bool boolean)
- this(string formatString, string endptr, void** app)
- this(char value)
- this(short value)
- this(ushort value)
- this(int value)
- this(uint value)
- this(long value)
- this(ulong value)
- this(double value)
- this(string string)
- this(Variant value)
- this(string[] strv)
- this(VariantType childType, Variant child)
- this(VariantType childType, Variant[] children)
- this(Variant[] children)
- this(Variant key, Variant value)
- this(VariantType type, void* data, gsize size, int trusted, GDestroyNotify notify, void* userData)
- this(string format, void** app)
glib Variant Variant
constructorsfunctionsstatic functionsvariables
This function is intended to be used by libraries based on GVariant that want to provide g_variant_new()-like functionality to their users. The API is more general than g_variant_new() to allow a wider range of possible uses. format_string must still point to a valid format string, but it only needs to be nul-terminated if endptr is NULL. If endptr is non-NULL then it is updated to point to the first character past the end of the format string. app is a pointer to a va_list. The arguments, according to format_string, are collected from this va_list and the list is left pointing to the argument following the last. These two generalisations allow mixing of multiple calls to g_variant_new_va() and g_variant_get_va() within a single actual varargs call by the user. The return value will be floating if it was a newly created GVariant instance (for example, if the format string was "(ii)"). In the case that the format_string was '*', '?', 'r', or a format starting with '@' then the collected GVariant pointer will be returned unmodified, without adding any additional references. In order to behave correctly in all cases it is necessary for the calling function to g_variant_ref_sink() the return result before returning control to the user that originally provided the pointer. At this point, the caller will have their own full reference to the result. This can also be done by adding the result to a container, or by passing it to another g_variant_new() call. Since 2.24