code: def _bipartite_projection_size(graph, types="type", *args, **kwds):
      """Calculates the number of vertices and edges in the bipartite
      projections of this graph according to the specified vertex types.
      This is useful if you have a bipartite graph and you want to estimate
      the amount of memory you would need to calculate the projections
      themselves.
  
      @param types: an igraph vector containing the vertex types, or an
        attribute name. Anything that evalulates to C{False} corresponds to
        vertices of the first kind, everything else to the second kind.
      @return: a 4-tuple containing the number of vertices and edges in the
        first projection, followed by the number of vertices and edges in the
        second projection.
      """
      # Deferred import to avoid cycles
      from igraph import Graph
  
      return super(Graph, graph).bipartite_projection_size(
          types, *args, **kwds
      )
  
imports: from igraph._igraph import GraphBase
  from igraph.matching import Matching
label_desc: Use image node_id 3 for calling a global function with example usage: _bipartite_projection_size(graph, types) and returns: super