CXC::Data::Visitor

CXC::Data::Visitor::visit performs a depth-first traversal of a data
structure, invoking a provided subroutine on elements in the structure.

Here's a partial list of features;

*   The type of element passed to the callback (containers, terminal
    elements) can be selected.

*   The order of traversal at a given depth (i.e. within a container's
    elements) may be customized.

*   The callback can modify the traversal process.

*   The complete path from the structure to an element (both the
    ancestor containers and the keys and indexes required to traverse
    the path) is available to the callback.

*   Cycles are detected upon traversing a container a second time in a
    depth first search, and the resultant action may be specified.

*   Objects are treated as terminal elements and are not traversed.

*   Containers that can be reached multiple times without cycling are
    visited once per parent.

INSTALLATION

This is a Perl module distribution. It should be installed with whichever
tool you use to manage your installation of Perl, e.g. any of

  cpanm .
  cpan  .
  cpanp -i .

Consult http://www.cpan.org/modules/INSTALL.html for further instruction.
Should you wish to install this module manually, the procedure is

  perl Build.PL
  ./Build
  ./Build test
  ./Build install

COPYRIGHT AND LICENSE

This software is Copyright (c) 2024 by Smithsonian Astrophysical
Observatory.

This is free software, licensed under:

  The GNU General Public License, Version 3, June 2007
