class_docstr: Class used to encode the different things the inner function of scan can
  (or needs) to return.
  
  This class has to be used when scan needs to halt when a condition is
  met, otherwise the list of outputs and dictionary can directly be return
  as a tuple. The reason is that otherwise scan has no way to distinguish
  between the condition and the list of outputs ( unless we enforce and
  order, but since this was not impose up to know it can make quite a bit
  of code to fail).
code: def __init__(self, condition):
      self.condition = tensor.as_tensor_variable(condition)
      assert self.condition.ndim == 0
  
imports: from __future__ import absolute_import, print_function, division
  import copy
  import logging
  import warnings
  from collections import OrderedDict
  import numpy
  import theano
  from theano.compat import izip
  from six import string_types, iteritems
  from six.moves import xrange
  from theano.compile.pfunc import rebuild_collect_shared
  from theano import gof, compat
  from theano import tensor, scalar
  from theano.tensor.basic import get_scalar_constant_value
label_desc: Use image node_id 1 to create a new until object from inherited base classes: object with example: obj = until(condition)