class_docstr: A mutable view to a :obj:`Container` given by a key prefix.
  
  Args:
      prefix (:obj:`bytes`): the prefix that defines the key range of the
          view-container. The resulting container will share an access to
          only records in the `prefix` key range, but with `prefix`-es
          stripped from them.
  
          For example, if the Container contents are:
          `{
              b'e.y': b'012',
              b'meta.x': b'123',
              b'meta.z': b'x',
              b'zzz': b'oOo'
          }`, then `container.view(prefix=b'meta.')` will behave (almost)
          exactly as an Container:
          `{
              b'x': b'123',
              b'z': b'x',
          }`
      container (:obj:`Container`): the parent container to build the view on
docstr: Return a :obj:`ContainerTreeView` which enables hierarchical view and access
  to the container records.
  
  This is achieved by prefixing groups and using `PATH_SENTINEL` as a
  separator for keys.
  
  For example, if the Container contents are:
      `{
          b'e.y': b'012',
          b'meta.x': b'123',
          b'meta.z': b'x',
          b'zzz': b'oOo'
      }`, and the path sentinel is `b'.'` then `tree = container.tree()`
      will behave as a (possibly deep) dict-like object:
      `tree[b'meta'][b'x'] == b'123'`
docstr_tok: ["Return","a",":","obj",":","`","ContainerTreeView","`","which","enables","hierarchical","view","and","access","to","the","container","records",".","This","is","achieved","by","prefixing","groups","and","using","`","PATH_SENTINEL","`","as","a","separator","for","keys",".","For","example",",","if","the","Container","contents","are",":","`","{","b","'","e.y","'",":","b'012","'",",","b'meta.x","'",":","b'123","'",",","b'meta.z","'",":","b","'","x","'",",","b'zzz","'",":","b'oOo'","}","`",",","and","the","path","sentinel","is","`","b","'",".","'","`","then","`","tree","=","container.tree","(",")","`","will","behave","as","a","(","possibly","deep",")","dict-like","object",":","`","tree","[","b'meta","'","]","[","b","'","x","'","]","==","b'123","'","`"]
code: def tree(self) -> ContainerTreeView:
      """Return a :obj:`ContainerTreeView` which enables hierarchical view and access
      to the container records.
  
      This is achieved by prefixing groups and using `PATH_SENTINEL` as a
      separator for keys.
  
      For example, if the Container contents are:
          `{
              b'e.y': b'012',
              b'meta.x': b'123',
              b'meta.z': b'x',
              b'zzz': b'oOo'
          }`, and the path sentinel is `b'.'` then `tree = container.tree()`
          will behave as a (possibly deep) dict-like object:
          `tree[b'meta'][b'x'] == b'123'`
      """
      return ContainerTreeView(self)
  
imports: from aim.storage.container import Container, ContainerItemsIterator, ContainerKey, ContainerValue
  from aim.storage.containertreeview import ContainerTreeView
  from typing import Iterator, Tuple
label_desc: Use image node_id 18 for calling the PrefixView obj's underlying member method code with example usage: obj.tree() and returns: ContainerTreeView