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('Cannot append {0} to a AdjointLayout'.format(type(other).__name__))
def __lshift__ ( self , other ) : if isinstance ( other , ( ViewableElement , NdMapping , Empty ) ) : return AdjointLayout ( [ self , other ] ) elif isinstance ( other , AdjointLayout ) : return AdjointLayout ( other . data . values ( ) + [ self ] ) else : raise TypeError ( 'Cannot append {0} to a AdjointLayout' . format ( type ( other ) . __name__ ) )
Compose objects into an AdjointLayout