Provided by: tcllib_1.20+dfsg-1_all bug


       struct::map - Manage key/value maps


       package require struct::map  ?1?

       ::struct::map mapName

       mapName method ?arg arg ...?

       mapName get

       mapName names

       mapName set name ?value?

       mapName unset ?pattern...?



       Provides  a  snit class whose instances manage a key/value map.  In other words, an object
       wrapper around Tcl arrays.


       The main command provides construction of maps:

       ::struct::map mapName
              Creates a new, empty map with an  associated  global  Tcl  command  whose  name  is
              mapName.   It  may  be  used  to  invoke various operations on the map.  It has the
              following general form:

              mapName method ?arg arg ...?
                     method and arguments determine the exact behavior of the command.

              If mapName is specified as %AUTO% a unique name will be generated  by  the  package
              itself.   The  result  of  the  command is the fully-qualified name of the instance

       The following commands are possible for map objects:

       mapName get
              Returns the entire map as a Tcl dictionary.

       mapName names
              Returns the list of all keys known to the map, in arbitrary order.

       mapName set name ?value?
              Sets key name to the specified value, if the value specified.   Returns  the  value
              for the key.  Throws an error if the key is not known.

       mapName unset ?pattern...?
              Removes  all  keys  matching at least one of the glob patterns from the map.  If no
              pattern is specified all keys are removed.  In other words, the default pattern  is
              *.  The result of the command is the empty string.


       This  document,  and  the  package  it  describes, will undoubtedly contain bugs and other
       problems.  Please report such in the category  struct  ::  list  of  the  Tcllib  Trackers
       [].  Please also report any ideas for enhancements you
       may have for either package and/or documentation.

       When proposing code changes, please provide unified diffs, i.e the output of diff -u.

       Note further that attachments are strongly preferred over inlined patches. Attachments can
       be  made  by going to the Edit form of the ticket immediately after its creation, and then
       using the left-most button in the secondary navigation bar.