class_docstr: Composable is a mix-in class to allow Dimensioned objects to be
  embedded within Layouts and GridSpaces.
class_docstr_tok: ["Composable","is","a","mix-in","class","to","allow","Dimensioned","objects","to","be","embedded","within","Layouts","and","GridSpaces","."]
docstr: Compose objects into an AdjointLayout
code: def __lshift__(self, other):
      "Compose objects into an AdjointLayout"
      if isinstance(other, (ViewableElement, NdMapping, Empty)):
          return AdjointLayout([self, other])
      elif isinstance(other, AdjointLayout):
          return AdjointLayout(other.data.values() + [self])
      else:
          raise TypeError(
              f"Cannot append {type(other).__name__} to a AdjointLayout"
          )
  
imports: import numpy
  import param
  from .None import traversal
  from .dimension import Dimension, Dimensioned, ViewableElement, ViewableTree
  from .ndmapping import NdMapping, UniformNdMapping
label_desc: Use image node_id 1 for calling the Composable obj's underlying member method code with example usage: obj.__lshift__(other) and returns: AdjointLayout, AdjointLayout