class_docstr: A sampling graph in CSC format.
class_docstr_tok: ["A","sampling","graph","in","CSC","format","."]
docstr: Returns the edge type tensor if present.
  
  Returns
  -------
  torch.Tensor or None
      If present, returns a 1D integer tensor of shape (total_num_edges,)
      containing the type of each edge in the graph.
docstr_tok: ["Returns","the","edge","type","tensor","if","present",".","Returns","--","--","--","-","torch.Tensor","or","None","If","present",",","returns","a","1D","integer","tensor","of","shape","(","total_num_edges",",",")","containing","the","type","of","each","edge","in","the","graph","."]
code: def type_per_edge(self) -> Optional[torch.Tensor]:
      """Returns the edge type tensor if present.
  
      Returns
      -------
      torch.Tensor or None
          If present, returns a 1D integer tensor of shape (total_num_edges,)
          containing the type of each edge in the graph.
      """
      return self._c_csc_graph.type_per_edge()
  
imports: from typing import Dict, Optional, Union
  import torch
  from dgl.utils import recursive_apply
  from ...base import EID, ETYPE, NID, NTYPE
  from ...convert import to_homogeneous
  from ...heterograph import DGLGraph
  from ..base import etype_str_to_tuple, etype_tuple_to_str, ORIGINAL_EDGE_ID
  from ..sampling_graph import SamplingGraph
  from .sampled_subgraph_impl import CSCFormatBase, SampledSubgraphImpl
label_desc: Use image node_id 14 for calling the FusedCSCSamplingGraph obj's underlying member method code with example usage: obj.type_per_edge() and returns: self