def __init__(self,
                 can_reorder: Callable[[ops.Operation, ops.Operation],
                                       bool] = _disjoint_qubits,
                 incoming_graph_data: Any = None,
                 device: devices.Device = devices.UnconstrainedDevice
                 ) -> None:
        """Initializes a CircuitDag.

        Args:
            can_reorder: A predicate that determines if two operations may be
                reordered.  Graph edges are created for pairs of operations
                where this returns False.

                The default predicate allows reordering only when the operations
                don't share common qubits.
            incoming_graph_data: Data in initialize the graph.  This can be any
                value supported by networkx.DiGraph() e.g. an edge list or
                another graph.
            device: Hardware that the circuit should be able to run on.
        """
        super().__init__(incoming_graph_data)
        self.can_reorder = can_reorder
        self.device = device
def __init__ ( self , can_reorder : Callable [ [ ops . Operation , ops . Operation ] , bool ] = _disjoint_qubits , incoming_graph_data : Any = None , device : devices . Device = devices . UnconstrainedDevice ) -> None : super ( ) . __init__ ( incoming_graph_data ) self . can_reorder = can_reorder self . device = device
Initializes a CircuitDag.

        Args:
            can_reorder: A predicate that determines if two operations may be
                reordered.  Graph edges are created for pairs of operations
                where this returns False.

                The default predicate allows reordering only when the operations
                don't share common qubits.
            incoming_graph_data: Data in initialize the graph.  This can be any
                value supported by networkx.DiGraph() e.g. an edge list or
                another graph.
            device: Hardware that the circuit should be able to run on.