code: def test_domain_cpp_ast_operators():
      check(
          "function",
          "void operator new()",
          {1: "new-operator", 2: "nwv"},
      )
      check(
          "function",
          "void operator new[]()",
          {1: "new-array-operator", 2: "nav"},
      )
      check(
          "function",
          "void operator delete()",
          {1: "delete-operator", 2: "dlv"},
      )
      check(
          "function",
          "void operator delete[]()",
          {1: "delete-array-operator", 2: "dav"},
      )
      check(
          "function",
          "operator bool() const",
          {1: "castto-b-operatorC", 2: "NKcvbEv"},
      )
      check("function", 'void operator""_udl()', {2: "li4_udlv"})
  
      check(
          "function", "void operator~()", {1: "inv-operator", 2: "cov"}
      )
      check("function", "void operator compl()", {2: "cov"})
      check(
          "function", "void operator+()", {1: "add-operator", 2: "plv"}
      )
      check(
          "function", "void operator-()", {1: "sub-operator", 2: "miv"}
      )
      check(
          "function", "void operator*()", {1: "mul-operator", 2: "mlv"}
      )
      check(
          "function", "void operator/()", {1: "div-operator", 2: "dvv"}
      )
      check(
          "function", "void operator%()", {1: "mod-operator", 2: "rmv"}
      )
      check(
          "function", "void operator&()", {1: "and-operator", 2: "anv"}
      )
      check("function", "void operator bitand()", {2: "anv"})
      check(
          "function", "void operator|()", {1: "or-operator", 2: "orv"}
      )
      check("function", "void operator bitor()", {2: "orv"})
      check(
          "function", "void operator^()", {1: "xor-operator", 2: "eov"}
      )
      check("function", "void operator xor()", {2: "eov"})
      check(
          "function",
          "void operator=()",
          {1: "assign-operator", 2: "aSv"},
      )
      check(
          "function",
          "void operator+=()",
          {1: "add-assign-operator", 2: "pLv"},
      )
      check(
          "function",
          "void operator-=()",
          {1: "sub-assign-operator", 2: "mIv"},
      )
      check(
          "function",
          "void operator*=()",
          {1: "mul-assign-operator", 2: "mLv"},
      )
      check(
          "function",
          "void operator/=()",
          {1: "div-assign-operator", 2: "dVv"},
      )
      check(
          "function",
          "void operator%=()",
          {1: "mod-assign-operator", 2: "rMv"},
      )
      check(
          "function",
          "void operator&=()",
          {1: "and-assign-operator", 2: "aNv"},
      )
      check("function", "void operator and_eq()", {2: "aNv"})
      check(
          "function",
          "void operator|=()",
          {1: "or-assign-operator", 2: "oRv"},
      )
      check("function", "void operator or_eq()", {2: "oRv"})
      check(
          "function",
          "void operator^=()",
          {1: "xor-assign-operator", 2: "eOv"},
      )
      check("function", "void operator xor_eq()", {2: "eOv"})
      check(
          "function",
          "void operator<<()",
          {1: "lshift-operator", 2: "lsv"},
      )
      check(
          "function",
          "void operator>>()",
          {1: "rshift-operator", 2: "rsv"},
      )
      check(
          "function",
          "void operator<<=()",
          {1: "lshift-assign-operator", 2: "lSv"},
      )
      check(
          "function",
          "void operator>>=()",
          {1: "rshift-assign-operator", 2: "rSv"},
      )
      check(
          "function", "void operator==()", {1: "eq-operator", 2: "eqv"}
      )
      check(
          "function", "void operator!=()", {1: "neq-operator", 2: "nev"}
      )
      check("function", "void operator not_eq()", {2: "nev"})
      check(
          "function", "void operator<()", {1: "lt-operator", 2: "ltv"}
      )
      check(
          "function", "void operator>()", {1: "gt-operator", 2: "gtv"}
      )
      check(
          "function", "void operator<=()", {1: "lte-operator", 2: "lev"}
      )
      check(
          "function", "void operator>=()", {1: "gte-operator", 2: "gev"}
      )
      check("function", "void operator<=>()", {2: "ssv"})
      check(
          "function", "void operator!()", {1: "not-operator", 2: "ntv"}
      )
      check("function", "void operator not()", {2: "ntv"})
      check(
          "function",
          "void operator&&()",
          {1: "sand-operator", 2: "aav"},
      )
      check("function", "void operator and()", {2: "aav"})
      check(
          "function", "void operator||()", {1: "sor-operator", 2: "oov"}
      )
      check("function", "void operator or()", {2: "oov"})
      check(
          "function", "void operator++()", {1: "inc-operator", 2: "ppv"}
      )
      check(
          "function", "void operator--()", {1: "dec-operator", 2: "mmv"}
      )
      check(
          "function",
          "void operator,()",
          {1: "comma-operator", 2: "cmv"},
      )
      check(
          "function",
          "void operator->*()",
          {1: "pointer-by-pointer-operator", 2: "pmv"},
      )
      check(
          "function",
          "void operator->()",
          {1: "pointer-operator", 2: "ptv"},
      )
      check(
          "function",
          "void operator()()",
          {1: "call-operator", 2: "clv"},
      )
      check(
          "function",
          "void operator[]()",
          {1: "subscript-operator", 2: "ixv"},
      )
  
imports: import itertools
  import re
  import zlib
  import pytest
  import sphinx.domains.cpp
  from sphinx import addnodes
  from sphinx.addnodes import desc, desc_content, desc_name, desc_parameter, desc_parameterlist, desc_sig_name, desc_sig_space, desc_signature, desc_signature_line, pending_xref
  from sphinx.domains.cpp import DefinitionError, DefinitionParser, NoOldIdError, Symbol, _id_prefix, _max_id
  from sphinx.ext.intersphinx import load_mappings, normalize_intersphinx_mapping
  from sphinx.testing import restructuredtext
  from sphinx.testing.util import assert_node
  from sphinx.writers.text import STDINDENT
label_desc: Use image node_id 10 for calling a global function with example usage: test_domain_cpp_ast_operators() without return types