logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Glib::Variant - strongly typed value datatype

Description

There are two sets of APIs for creating and dealing with "Glib::Variant"s: the low-level API described below under "METHODS", and the convenience API described in this section. CONVENIENCEAPI variant = Glib::Variant->new ($format_string, $value) (variant1, ...) = Glib::Variant->new ($format_string, $value1, ...) Constructs a variant from $format_string and $value. Also supports constructing multiple variants when the format string is a concatenation of multiple types. value = $variant->get ($format_string) Deconstructs $variant according to $format_string. The following symbols are currently supported in format strings: +------------------------------+---------------------------------+ | Symbol | Meaning | +------------------------------+---------------------------------+ | b, y, n, q, i, u, x, t, h, d | Boolean, byte and numeric types | | s, o, g | String types | | v | Variant types | | a | Arrays | | m | Maybe types | | () | Tuples | | {} | Dictionary entries | +------------------------------+---------------------------------+ Note that if a format string specifies an array, a tuple or a dictionary entry ("a", "()" or "{}"), then array references are expected by "new" and produced by "get". For arrays of dictionary entries ("a{}"), hash references are also supported by "new" and handled as you would expect. For a complete specification, see the documentation at <https://developer.gnome.org/glib/stable/glib-GVariantType.html> <https://developer.gnome.org/glib/stable/glib-GVariant.html> <https://developer.gnome.org/glib/stable/gvariant-format-strings.html> <https://developer.gnome.org/glib/stable/gvariant-text.html>

Hierarchy

Glib::Variant

Methods

variant=Glib::Variant->new_array($child_type,$children) • $child_type (Glib::VariantType) • $children (scalar) variant=Glib::Variant->new_boolean($value) • $value (boolean) variant=Glib::Variant->new_byte($value) • $value (Glib::UChar) variant=Glib::Variant->new_bytestring($string) • $string (byte string) Since: glib 2.26 variant=Glib::Variant->new_dict_entry($key,$value) • $key (Glib::Variant) • $value (Glib::Variant) variant=Glib::Variant->new_double($value) • $value (double) variant=Glib::Variant->new_handle($value) • $value (integer) variant=Glib::Variant->new_int16($value) • $value (integer) variant=Glib::Variant->new_int32($value) • $value (integer) variant=Glib::Variant->new_int64($value) • $value (64 bit integer) variant=Glib::Variant->new_maybe($child_type,$child) • $child_type (Glib::VariantType) • $child (Glib::Variant) variant=Glib::Variant->new_object_path($object_path) • $object_path (string) variant=Glib::Variant->new_signature($signature) • $signature (string) variant=Glib::Variant->new_string($string) • $string (string) variant=Glib::Variant->new_tuple($children) • $children (scalar) variant=Glib::Variant->new_uint16($value) • $value (unsigned) variant=Glib::Variant->new_uint32($value) • $value (unsigned) variant=Glib::Variant->new_uint64($value) • $value (64 bit unsigned) variant=Glib::Variant->new_variant($value) • $value (Glib::Variant) boolean=$value->get_booleanuchar=$value->get_bytestring=$value->get_bytestring Since: glib 2.26 variant=$value->byteswapvariant=$value->get_child_value($index_) • $index_ (unsigned) string=$value->classifyinteger=$one->compare($two) • $two (Glib::Variant) Since: glib 2.26 double=$value->get_doubleboolean=$one->equal($two) • $two (Glib::Variant) integer=$value->get_handleinteger=$value->hashinteger=$value->get_int16integer=$value->get_int3264bitinteger=$value->get_int64boolean=$value->is_containerboolean=$value->is_normal_formboolean=$string->is_object_pathboolean=$value->is_of_type($type) • $type (Glib::VariantType) boolean=$string->is_signaturevariant=$dictionary->lookup_value($key,$expected_type) • $key (string) • $expected_type (Glib::VariantType) Since: glib 2.28 variant=$value->get_maybeunsigned=$value->n_childrenvariant=$value->get_normal_formvariant=Glib::Variant::parse($type,$text) • $type (Glib::VariantType) • $text (string) May croak with a Glib::Error in $@ on failure. string=$value->print($type_annotate) • $type_annotate (boolean) unsigned=$value->get_sizestring=$value->get_stringvarianttype=$value->get_typestring=$value->get_type_stringunsigned=$value->get_uint16unsigned=$value->get_uint3264bitunsigned=$value->get_uint64variant=$value->get_variant

Name

Glib::Variant - strongly typed value datatype

See Also

Glib, Glib::VariantType, Glib::VariantDict

Synopsis

my $v = Glib::Variant->new ('as', ['GTK+', 'Perl']); my $aref = $v->get ('as');

See Also