Provided by: libapt-pkg-perl_0.1.40build7_amd64 bug

NAME

       AptPkg::hash - a helper class for implementing tied hashes

SYNOPSIS

       use AptPkg::hash;

DESCRIPTION

       The AptPkg::hash class provides hash-like access for objects which have an underlying XS implementation.

       Such objects need to add AptPkg::hash to @ISA, provide get, set and exists methods, and an iterator
       class.

   AptPkg::hash
       new([XS_OBJECT])
           Create  a  object  as  a  tied  hash.  The object is implemented as a hash reference blessed into the
           class, which in turn is tied to AptPkg::hash.

           This means that both $obj->method() and $obj->{key}  valid,  the  latter  invoking  get/set  (through
           FETCH/STORE).

           The  tie  associates  an  array  reference with the hash, which initially contains a reference to the
           hash, the XS object and an anon hash which may be used by subclasses to store state information.

           If no XS object is passed, one is created via new in the  XS  class.   The  name  of  that  class  is
           constructed  from  the  class  name,  by  lower-casing  the  last  component and prefixing it with an
           underscore (eg. AptPkg::Config becomes AptPkg::_config).

           If the module contains a @KEYS array, then the private hash will be populated with those  entries  as
           keys (see the description below of the AptPkg::hash::method class).

       _self, _xs, _priv
           Accessors which may be used in subclass methods to fetch the three array elements associated with the
           hash reference.

       keys(ARGS)
           In a scalar context, creates and returns a new iterator object (the class name with the suffix ::Iter
           appended).

           The XS object, the private hash and any arguments are passed to the constructor.

           In an array context, the iterator is used to generate a list of keys which are then returned.

           The  iterator  class  must implement a next method, which returns the current key and advances to the
           next.

   AptPkg::hash::method
       The AptPkg::hash::method class extends AptPkg::hash, providing a simple way to map a fixed  set  of  keys
       (defined by the @KEYS array) into method calls on either the object, or the internal XS object.

       Classes  inheriting  from  AptPkg::hash::method  should  provide  an  iterator  class which inherits from
       AptPkg::hash::method::iter.

AUTHOR

       Brendan O'Dea <bod@debian.org>

perl v5.38.2                                       2024-04-08                                  AptPkg::hash(3pm)