Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Glib::Flags(3)	      User Contributed Perl Documentation	Glib::Flags(3)

NAME
       Glib::Flags -  methods and overloaded operators for flags

HIERARCHY
	 Glib::Flags

DESCRIPTION
       Glib maps flag and enum values to the nicknames strings provided	by the
       underlying C libraries.	Representing flags this	way in Perl is an
       interesting problem, which Glib solves by using some cool overloaded
       operators.

       The functions described here actually do	the work of those overloaded
       operators.  See the description of the flags operators in the "This Is
       Now That" section of Glib for more info.

METHODS
   scalar = $class->new	($a)
       o   $a (scalar)

       Create a	new flags object with given bits.  This	is for use from	a
       subclass, it's not possible to create a "Glib::Flags" object as such.
       For example,

	   my $f1 = Glib::ParamFlags->new ('readable');
	   my $f2 = Glib::ParamFlags->new (['readable','writable']);

       An object like this can then be used with the overloaded	operators.

   scalar = $a->all ($b, $swap)
       o   $b (scalar)

       o   $swap (scalar)

   aref	= $f->as_arrayref
       Return the bits of $f as	a reference to an array	of strings, like
       ['flagbit1','flagbit2'].	 This is the overload function for "@{}", ie.
       arrayizing $f.  You can call it directly	as a method too.

       Note that @$f gives the bits as a list, but as_arrayref gives an
       arrayref.  If an	arrayref is what you want then the method style
       somefunc()->as_arrayref can be more readable than [@{somefunc()}].

   bool	= $f->bool
       Return 1	if any bits are	set in $f, or 0	if none	are set.  This is the
       overload	for $f in boolean context (like	"if", etc).  You can call it
       as a method to get a true/false directly	too.

   integer = $a->eq ($b, $swap)
       o   $b (scalar)

       o   $swap (integer)

   integer = $a->ge ($b, $swap)
       o   $b (scalar)

       o   $swap (integer)

   scalar = $a->intersect ($b, $swap)
       o   $b (scalar)

       o   $swap (scalar)

   integer = $a->ne ($b, $swap)
       o   $b (scalar)

       o   $swap (integer)

   scalar = $a->sub ($b, $swap)
       o   $b (scalar)

       o   $swap (scalar)

   scalar = $a->union ($b, $swap)
       o   $b (scalar)

       o   $swap (scalar)

   scalar = $a->xor ($b, $swap)
       o   $b (scalar)

       o   $swap (scalar)

SEE ALSO
       Glib

COPYRIGHT
       Copyright (C) 2003-2011 by the gtk2-perl	team.

       This software is	licensed under the LGPL.  See Glib for a full notice.

perl v5.24.1			  2017-07-02			Glib::Flags(3)

NAME | HIERARCHY | DESCRIPTION | METHODS | SEE ALSO | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Glib::Flags&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help