class_docstr: Developer-facing base class for single-operator symbolic operators.
  
  Args:
      base (~.operation.Operator): the base operation that is modified symbolicly
      id (str): custom label given to an operator instance,
          can be useful for some applications where the instance has to be identified
  
  This *developer-facing* class can serve as a parent to single base symbolic operators, such as
  :class:`~.ops.op_math.Adjoint`.
  
  New symbolic operators can inherit from this class to receive some common default behavior, such
  as deferring properties to the base class, copying the base class during a shallow copy, and
  updating the metadata of the base operator during queueing.
  
  The child symbolic operator should define the `_name` property during initialization and define
  any relevant representations, such as :meth:`~.operation.Operator.matrix`,
  :meth:`~.operation.Operator.diagonalizing_gates`, :meth:`~.operation.Operator.eigvals`, and
  :meth:`~.operation.Operator.decomposition`.
class_docstr_tok: ["Developer-facing","base","class","for","single-operator","symbolic","operators",".","Args",":","base","(","~.operation.Operator",")",":","the","base","operation","that","is","modified","symbolicly","id","(","str",")",":","custom","label","given","to","an","operator","instance",",","can","be","useful","for","some","applications","where","the","instance","has","to","be","identified","This","*","developer-facing","*","class","can","serve","as","a","parent","to","single","base","symbolic","operators",",","such","as",":","class",":","`","~.ops.op_math.Adjoint","`",".","New","symbolic","operators","can","inherit","from","this","class","to","receive","some","common","default","behavior",",","such","as","deferring","properties","to","the","base","class",",","copying","the","base","class","during","a","shallow","copy",",","and","updating","the","metadata","of","the","base","operator","during","queueing",".","The","child","symbolic","operator","should","define","the","`","_name","`","property","during","initialization","and","define","any","relevant","representations",",","such","as",":","meth",":","`","~.operation.Operator.matrix","`",",",":","meth",":","`","~.operation.Operator.diagonalizing_gates","`",",",":","meth",":","`","~.operation.Operator.eigvals","`",",","and",":","meth",":","`","~.operation.Operator.decomposition","`","."]
code: def batch_size(self):
      return self.base.batch_size
  
imports: from abc import abstractmethod
  from copy import copy
  import numpy
  import pennylane
  from pennylane.operation import Operator, _UNSET_BATCH_SIZE
  from pennylane.queuing import QueuingManager
label_desc: Use image node_id 3 for calling the SymbolicOp obj's underlying member method code with example usage: obj.batch_size() and returns: self