Requests information on drawing an operation in a circuit diagram.

Calls _circuit_diagraminfo on val. If val doesn't have _circuit_diagraminfo, or it returns NotImplemented, that indicates that diagram information is not available.

val The operation or gate that will need to be drawn.
args A CircuitDiagramInfoArgs describing the desired drawing style.
default A default result to return if the value doesn't have circuit diagram information. If not specified, a TypeError is raised instead.

If val has no _circuit_diagraminfo method or it returns NotImplemented, then default is returned (or a TypeError is raised if no default is specified).

Otherwise, the value returned by _circuit_diagraminfo is returned.

TypeError val doesn't have circuit diagram information and default was not specified.