class_docstr: Base class for all class accuracy plugin metrics
code: def result(self) -> List[_ExtendedPluginMetricValue]:
      metric_values = []
      task_accuracies = self._metric.result()
  
      for task_id, task_classes in task_accuracies.items():
          for class_id, class_accuracy in task_classes.items():
              metric_values.append(
                  _ExtendedPluginMetricValue(
                      metric_name=str(self),
                      metric_value=class_accuracy,
                      phase_name=self.phase_name,
                      stream_name=self.stream_name,
                      task_label=task_id,
                      experience_id=self.experience_id,
                      class_id=class_id,
                  )
              )
  
      return metric_values
  
imports: from typing import Dict, List, Set, Union, TYPE_CHECKING, Iterable, Optional
  from collections import defaultdict, OrderedDict
  import torch
  from torch import Tensor
  from avalanche.evaluation import Metric, PluginMetric, _ExtendedGenericPluginMetric, _ExtendedPluginMetricValue
  from avalanche.evaluation.metric_utils import default_metric_name_template, generic_get_metric_name
  from avalanche.evaluation.metrics import Mean
label_desc: Use image node_id 3 for calling the ClassAccuracyPluginMetric obj's underlying member method code with example usage: obj.result() and returns: metric_values