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

dnsjit.lib.trie.iter - Iterator of the trie.

Authors And Contributors

       Jerry Lundström (DNS-OARC), Tomáš Křížek (CZ.NIC), Petr Špaček (ISC)

       Maintained by DNS-OARC

              https://www.dns-oarc.net/

Bugs

       For issues and feature requests please use:

              https://github.com/DNS-OARC/dnsjit/issues

       For question and help please use:

              admin@dns-oarc.net

dnsjit                                                1.5.0                              dnsjit.lib.trie.iter(3)

Description

       Beware that iterator is only valid as long as the trie's key-set remains unchanged.

   FunctionsTrieIter.new(trie)
              Create a new iterator pointing to the first element (if any).

       TrieIter:log()
              Return the Log object to control logging of this instance or module.

       TrieIter:node()
              Return  the  node  pointer  to  by the iterator.  Returns nil when iterator has gone past the last
              element.

       TrieIter:next()
              Advance the iterator to the next element.

              Iteration is in ascending lexicographical order.  Empty string would be  considered  as  the  very
              first.

              You  may  not use this function if the trie's key-set has been modified during the lifetime of the
              iterator (modifying only values is OK).

Name

       dnsjit.lib.trie.iter - Iterator of the trie.

See Also

dnsjit.lib.trie(3),dnsjit.lib.trie.node(3)

Synopsis

Iterateoveralltrie'skey-valuepairs
         local trie = require("dnsjit.lib.trie").new("uint64_t")
         local iter = trie:iter()
         local node = iter:node()
         while node ~= nil do
             local key = node:key()
             local value = tonumber(node:get())
             print(key..": "..value)
             iter:next()
             node = iter:node()
         end

See Also