class_docstr: A CL stream build from a pre-initialized list of experience.
  
  NOTE: streams should not be used by training strategies since they
  provide access to past, current, and future data.
class_docstr_tok: ["A","CL","stream","build","from","a","pre-initialized","list","of","experience",".","NOTE",":","streams","should","not","be","used","by","training","strategies","since","they","provide","access","to","past",",","current",",","and","future","data","."]
docstr: Create a CL stream given a list of experiences.
  :param name: name of the stream.
  :param exps: list of experiences.
  :param benchmark: a reference to the benchmark.
  :param set_stream_info: if True, set the `origin_stream` and
      `current_experience` identifier for each experience. If False,
      the attributes are left unchanged.
  :param slice_ids: The indices of experiences to include. from the
      original stream. Defaults to None. For internal use.
docstr_tok: ["Create","a","CL","stream","given","a","list","of","experiences",".",":","param","name",":","name","of","the","stream",".",":","param","exps",":","list","of","experiences",".",":","param","benchmark",":","a","reference","to","the","benchmark",".",":","param","set_stream_info",":","if","True",",","set","the","`","origin_stream","`","and","`","current_experience","`","identifier","for","each","experience",".","If","False",",","the","attributes","are","left","unchanged",".",":","param","slice_ids",":","The","indices","of","experiences","to","include",".","from","the","original","stream",".","Defaults","to","None",".","For","internal","use","."]
code: def __init__(
      self,
      name: str,
      exps: Sequence[TCLExperience],
      benchmark: "Optional[CLScenario]" = None,
      set_stream_info: bool = True,
      slice_ids: Optional[Iterable[int]] = None,
  ):
      """Create a CL stream given a list of experiences.
      :param name: name of the stream.
      :param exps: list of experiences.
      :param benchmark: a reference to the benchmark.
      :param set_stream_info: if True, set the `origin_stream` and
          `current_experience` identifier for each experience. If False,
          the attributes are left unchanged.
      :param slice_ids: The indices of experiences to include. from the
          original stream. Defaults to None. For internal use.
      """
      self._exps: List[TCLExperience] = list(exps)
      super().__init__(
          name=name,
          benchmark=benchmark,
          set_stream_info=set_stream_info,
          slice_ids=slice_ids,
      )
  
      if self.set_stream_info:
          slice_ids_enum = (
              self.slice_ids
              if self.slice_ids is not None
              else range(len(self._exps))
          )
          for i in slice_ids_enum:
              exp = self._exps[i]
              exp.current_experience = i
              exp.origin_stream = self  # type: ignore
  
          self.set_stream_info = False
  
imports: from abc import abstractmethod, ABC
  from contextlib import contextmanager
  from copy import copy
  from enum import Enum
  from types import GeneratorType
  from typing import Any, Dict, Generator, Iterator, List, Iterable, Optional, Sequence, Tuple, TypeVar, Union, Generic, overload
  from typing_extensions import final
  import numpy
  from avalanche.benchmarks.utils.dataset_utils import slice_alike_object_to_indices
label_desc: Use image node_id 1 to create a new EagerCLStream object from inherited base classes: SequenceCLStream with example: obj = EagerCLStream(name, exps, benchmark, set_stream_info, slice_ids)