Package ghidra.pcode.exec

# Class AbstractLongOffsetPcodeExecutorStatePiece.AbstractSpaceMap<S>

java.lang.Object
ghidra.pcode.exec.AbstractLongOffsetPcodeExecutorStatePiece.AbstractSpaceMap<S>

Type Parameters:
  `S` - the type of object for each address space

Direct Known Subclasses:
  `AbstractLongOffsetPcodeExecutorStatePiece.CacheingSpaceMap`, `AbstractLongOffsetPcodeExecutorStatePiece.SimpleSpaceMap`

Enclosing class:
  AbstractLongOffsetPcodeExecutorStatePiece<A,T,S>

public abstract static class AbstractLongOffsetPcodeExecutorStatePiece.AbstractSpaceMap<S> extends Object
A map of address spaces to objects which store or cache state for that space

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final Map<AddressSpace,S>`
  `spaces`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  ``
  `AbstractSpaceMap()`
  `protected`
  `AbstractSpaceMap(Map<AddressSpace,S> spaces)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AbstractLongOffsetPcodeExecutorStatePiece.AbstractSpaceMap<S>`
  `fork()`
  Deep copy this map, for use in a forked state (or piece)
  `Map<AddressSpace,S>`
  `fork(Map<AddressSpace,S> spaces)`
  Produce a deep copy of the given map
  `S`
  `fork(S s)`
  Deep copy the given space
  `abstract S`
  `getForSpace(AddressSpace space, boolean toWrite)`
  `Collection<S>`
  `values()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### spaces

    protected final Map<AddressSpace,S> spaces

- ## Constructor Details

  - ### AbstractSpaceMap

    public AbstractSpaceMap()

  - ### AbstractSpaceMap

    protected AbstractSpaceMap(Map<AddressSpace,S> spaces)

- ## Method Details

  - ### getForSpace

    public abstract S getForSpace(AddressSpace space, boolean toWrite)

  - ### values

    public Collection<S> values()

  - ### fork

    public AbstractLongOffsetPcodeExecutorStatePiece.AbstractSpaceMap<S> fork()
    Deep copy this map, for use in a forked state (or piece)
    Returns:
      the copy

  - ### fork

    public S fork(S s)
    Deep copy the given space
    Parameters:
      `s` - the space
    Returns:
      the copy

  - ### fork

    public Map<AddressSpace,S> fork(Map<AddressSpace,S> spaces)
    Produce a deep copy of the given map
    Parameters:
      `spaces` - the map to copy
    Returns:
      the copy