class_docstr: Abstract base class for line-based input transformers.
class_docstr_tok: ["Abstract","base","class","for","line-based","input","transformers","."]
docstr: Can be used by subclasses as a decorator, to return a factory that
  will allow instantiation with the decorated object.
docstr_tok: ["Can","be","used","by","subclasses","as","a","decorator",",","to","return","a","factory","that","will","allow","instantiation","with","the","decorated","object","."]
code: def wrap(cls, func):
      """Can be used by subclasses as a decorator, to return a factory that
      will allow instantiation with the decorated object.
      """
  
      @functools.wraps(func)
      def transformer_factory(**kwargs):
          return cls(func, **kwargs)
  
      return transformer_factory
  
imports: import abc
  import functools
  import re
  from IPython.core.splitinput import LineInfo
  from IPython.utils import tokenize2
  from IPython.utils.openpy import cookie_comment_re
  from IPython.utils.py3compat import with_metaclass, PY3
  from IPython.utils.tokenize2 import generate_tokens, untokenize, TokenError
label_desc: Use image node_id 3 for calling the InputTransformer obj's underlying member method code with example usage: obj.wrap(cls, func) and returns: transformer_factory, cls