class_docstr: Singleton global entry point for managing active recording contexts.
  
  This class consists purely of class methods. It both maintains a list of
  recording queues and allows communication with the currently active object.
  
  Queueable objects, like :class:`~.operation.Operator` and :class:`~.measurements.MeasurementProcess`, should
  use ``QueuingManager`` as an entry point for accessing the active queue.
  
  See also: :class:`~.AnnotatedQueue`, :class:`~.tape.QuantumTape`, :meth:`~.operation.Operator.queue`.
  
  Recording queues, such as :class:`~.AnnotatedQueue`, must define the following methods:
  
  * ``append``: define an action to perform when an object append
    request is made.
  
  * ``remove``: define an action to perform when an object removal request is made.
  
  * ``get_info``: retrieve the object's metadata
  
  * ``update_info``: Update an object's metadata if it is already queued.
  
  To start and end recording, the recording queue can use the :meth:`add_active_queue` and
  :meth:`remove_active_queue` methods.
docstr: Makes a queue the currently active recording context.
docstr_tok: ["Makes","a","queue","the","currently","active","recording","context","."]
code: def add_active_queue(cls, queue):
      """Makes a queue the currently active recording context."""
      cls._active_contexts.append(queue)
  
imports: import copy
  from collections import OrderedDict
  from contextlib import contextmanager
  from threading import RLock
  from typing import Optional
label_desc: Use image node_id 1 for calling the QueuingManager obj's underlying member method code with example usage: obj.add_active_queue(cls, queue) without return types