Class

spinal.core

SpinalEnum

Related Doc: package core

Permalink

class SpinalEnum extends Nameable with ScalaLocated

Base class for creating enumeration

Example:
  1. object MyEnum extends SpinalEnum(binarySequential){
      val s1, s2, s3, s4 = newElement()
    }

    SpinalEnum contains a list of SpinalEnumElement that is the definition of an element. SpinalEnumCraft is the hardware representation of the the element.

See also

Enumeration Documentation

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SpinalEnum
  2. Nameable
  3. ContextUser
  4. ScalaLocated
  5. GlobalDataUser
  6. OwnableRef
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SpinalEnum(defaultEncoding: SpinalEnumEncoding = native)

    Permalink

    defaultEncoding

    encoding of the enum

Type Members

  1. type C = SpinalEnumCraft[SpinalEnum.this.type]

    Permalink
  2. type E = SpinalEnumElement[SpinalEnum.this.type]

    Permalink
  3. abstract type RefOwnerType

    Permalink
    Definition Classes
    OwnableRef

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def apply(encoding: SpinalEnumEncoding): SpinalEnumCraft[SpinalEnum.this.type]

    Permalink
  5. def apply(): SpinalEnumCraft[SpinalEnum.this.type]

    Permalink
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def component: Component

    Permalink
    Definition Classes
    ContextUser
  9. def craft(enumEncoding: SpinalEnumEncoding): SpinalEnumCraft[SpinalEnum.this.type]

    Permalink
  10. def craft(): SpinalEnumCraft[SpinalEnum.this.type]

    Permalink
  11. var defaultEncoding: SpinalEnumEncoding

    Permalink

    encoding of the enum

  12. val elements: ArrayBuffer[SpinalEnumElement[SpinalEnum.this.type]]

    Permalink

    Contains all elements of the enumeration

  13. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. def foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Nameable
  17. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  18. def getDisplayName(): String

    Permalink
    Definition Classes
    Nameable
  19. def getInstanceCounter: Int

    Permalink
    Definition Classes
    ContextUser
  20. def getMode: Byte

    Permalink
    Attributes
    protected
    Definition Classes
    Nameable
  21. def getName(default: String): String

    Permalink
    Definition Classes
    Nameable
  22. def getName(): String

    Permalink
    Definition Classes
    Nameable
  23. def getPartialName(): String

    Permalink
    Definition Classes
    Nameable
  24. def getRefOwnersChain(): List[Any]

    Permalink
    Definition Classes
    OwnableRef
  25. def getScalaLocationLong: String

    Permalink
    Definition Classes
    ScalaLocated
  26. def getScalaLocationShort: String

    Permalink
    Definition Classes
    ScalaLocated
  27. def getScalaTrace(): Throwable

    Permalink
    Definition Classes
    ScalaLocated
  28. val globalData: GlobalData

    Permalink
    Definition Classes
    GlobalDataUser
  29. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  30. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  31. def isNamed: Boolean

    Permalink
    Definition Classes
    Nameable
  32. def isPriorityApplicable(namePriority: Byte): Boolean

    Permalink
    Definition Classes
    Nameable
  33. def isUnnamed: Boolean

    Permalink
    Definition Classes
    Nameable
  34. var name: String

    Permalink
    Attributes
    protected
    Definition Classes
    Nameable
  35. var nameableRef: Nameable

    Permalink
    Attributes
    protected
    Definition Classes
    Nameable
  36. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  37. def newElement(name: String): SpinalEnumElement[SpinalEnum.this.type]

    Permalink
  38. def newElement(): SpinalEnumElement[SpinalEnum.this.type]

    Permalink

    Create a new Element

  39. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  40. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  41. var parentScope: ScopeStatement

    Permalink
    Definition Classes
    ContextUser
  42. var refOwner: RefOwnerType

    Permalink
    Definition Classes
    OwnableRef
  43. def reflectNames(): Unit

    Permalink
    Definition Classes
    Nameable
  44. def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  45. def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  46. def setCompositeName(nameable: Nameable, postfix: String): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  47. def setCompositeName(nameable: Nameable, namePriority: Byte): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  48. def setCompositeName(nameable: Nameable, weak: Boolean): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  49. def setCompositeName(nameable: Nameable): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  50. def setName(name: String, namePriority: Byte): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  51. def setName(name: String, weak: Boolean): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  52. def setName(name: String): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  53. def setPartialName(name: String, namePriority: Byte): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  54. def setPartialName(name: String, weak: Boolean): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  55. def setPartialName(owner: Nameable, name: String, namePriority: Byte): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  56. def setPartialName(owner: Nameable, name: String, weak: Boolean): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  57. def setPartialName(name: String): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  58. def setPartialName(owner: Nameable, name: String): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  59. def setRefOwner(that: Any): Unit

    Permalink
    Definition Classes
    OwnableRef
  60. def setScalaLocated(source: ScalaLocated): SpinalEnum.this.type

    Permalink
    Definition Classes
    ScalaLocated
  61. def setWeakName(name: String): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  62. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  63. def toString(): String

    Permalink
    Definition Classes
    Nameable → AnyRef → Any
  64. def unsetName(): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  65. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  66. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  67. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Nameable

Inherited from ContextUser

Inherited from ScalaLocated

Inherited from GlobalDataUser

Inherited from OwnableRef

Inherited from AnyRef

Inherited from Any

Ungrouped