class_docstr: Shelf implementation using the "BSD" db interface.
  
  This adds methods first(), next(), previous(), last() and
  set_location() that have no counterpart in [g]dbm databases.
  
  The actual database must be opened using one of the "bsddb"
  modules "open" routines (i.e. bsddb.hashopen, bsddb.btopen or
  bsddb.rnopen) and passed to the constructor.
  
  See the module's __doc__ string for an overview of the interface.
class_docstr_tok: ["Shelf","implementation","using","the","``","BSD","''","db","interface",".","This","adds","methods","first","(",")",",","next","(",")",",","previous","(",")",",","last","(",")","and","set_location","(",")","that","have","no","counterpart","in","[","g","]","dbm","databases",".","The","actual","database","must","be","opened","using","one","of","the","``","bsddb","''","modules","``","open","''","routines","(","i.e",".","bsddb.hashopen",",","bsddb.btopen","or","bsddb.rnopen",")","and","passed","to","the","constructor",".","See","the","module","'s","__doc__","string","for","an","overview","of","the","interface","."]
code: def __init__(
      self, dict, protocol=None, writeback=False, keyencoding="utf-8"
  ):
      Shelf.__init__(self, dict, protocol, writeback, keyencoding)
  
imports: from pickle import DEFAULT_PROTOCOL, Pickler, Unpickler
  from io import BytesIO
  import collections.abc
label_desc: Use image node_id 1 to create a new BsdDbShelf object from inherited base classes: Shelf with example: obj = BsdDbShelf(dict, protocol, writeback, keyencoding)