class_docstr: Base class for configurable interfaces.
  
  A configurable interface is an (abstract) class whose constructor
  acts as a factory function for one of its implementation subclasses.
  The implementation subclass as well as optional keyword arguments to
  its initializer can be set globally at runtime with `configure`.
  
  By using the constructor as the factory method, the interface
  looks like a normal class, `isinstance` works as usual, etc.  This
  pattern is most useful when the choice of implementation is likely
  to be a global decision (e.g. when `~select.epoll` is available,
  always use it instead of `~select.select`), or when a
  previously-monolithic class has been split into specialized
  subclasses.
  
  Configurable subclasses must define the class methods
  `configurable_base` and `configurable_default`, and use the instance
  method `initialize` instead of ``__init__``.
class_docstr_tok: ["Base","class","for","configurable","interfaces",".","A","configurable","interface","is","an","(","abstract",")","class","whose","constructor","acts","as","a","factory","function","for","one","of","its","implementation","subclasses",".","The","implementation","subclass","as","well","as","optional","keyword","arguments","to","its","initializer","can","be","set","globally","at","runtime","with","`","configure","`",".","By","using","the","constructor","as","the","factory","method",",","the","interface","looks","like","a","normal","class",",","`","isinstance","`","works","as","usual",",","etc",".","This","pattern","is","most","useful","when","the","choice","of","implementation","is","likely","to","be","a","global","decision","(","e.g",".","when","`","~select.epoll","`","is","available",",","always","use","it","instead","of","`","~select.select","`",")",",","or","when","a","previously-monolithic","class","has","been","split","into","specialized","subclasses",".","Configurable","subclasses","must","define","the","class","methods","`","configurable_base","`","and","`","configurable_default","`",",","and","use","the","instance","method","`","initialize","`","instead","of","``","__init__","``","."]
docstr: Returns the currently configured class.
docstr_tok: ["Returns","the","currently","configured","class","."]
code: def configured_class(cls):
      """Returns the currently configured class."""
      base = cls.configurable_base()
      if cls.__impl_class is None:
          base.__impl_class = cls.configurable_default()
      return base.__impl_class
  
file_path: catboost/contrib/python/pyzmq/py2/zmq/eventloop/minitornado/util.py
imports: from __future__ import absolute_import, division, print_function, with_statement
  import sys
label_desc: Use image node_id 6 for calling the Configurable obj's underlying member method code with example usage: obj.configured_class(cls) and returns: base