uds.utilities.enums
Module with common and reused implementation of enums.
Enumerated types (enums) are data types that consists of named values. This module provides extension to aenum package.
Classes
Enum that supports new members adding. |
|
Enum that supports members validation. |
|
Enum which members are one byte integers (0x00-0xFF) only. |
|
Enum which members are one nibble (4 bits) integers (0x0-0xF) only. |
|
Endianness values definitions. |
Module Contents
- class uds.utilities.enums.ExtendableEnum[source]
Bases:
aenum.Enum
Enum that supports new members adding.
- classmethod add_member(name, value)[source]
Register a new member.
- Parameters:
name (str) – Name of a new member.
value (Any) – Value of a new member.
- Raises:
ValueError – Such name or value is already in use.
- Returns:
The new member that was just created.
- Return type:
- class uds.utilities.enums.ValidatedEnum[source]
Bases:
aenum.Enum
Enum that supports members validation.
- classmethod is_member(value)[source]
Check whether given argument is a member or a value stored by this Enum.
- Parameters:
value (Any) – Value to check.
- Returns:
True if given argument is a member or a value of this Enum, else False.
- Return type:
- classmethod validate_member(value)[source]
Validate whether given argument is a member or a value stored by this Enum.
- Parameters:
value (Any) – Value to validate.
- Raises:
ValueError – Provided value is not a member neither a value of this Enum.
- Return type:
- class uds.utilities.enums.ByteEnum[source]
Bases:
aenum.IntEnum
Enum which members are one byte integers (0x00-0xFF) only.
Initialize self. See help(type(self)) for accurate signature.
- class uds.utilities.enums.NibbleEnum[source]
Bases:
aenum.IntEnum
Enum which members are one nibble (4 bits) integers (0x0-0xF) only.
Initialize self. See help(type(self)) for accurate signature.
- class uds.utilities.enums.Endianness[source]
Bases:
ValidatedEnum,aenum.StrEnum
Endianness values definitions.
Endianness determines order of bytes in a bytes sequence.
Initialize self. See help(type(self)) for accurate signature.
- LITTLE_ENDIAN: Endianness = 'little'
Little Endian stores the most significant byte at the largest memory address and the least significant byte at the smallest.
- BIG_ENDIAN: Endianness = 'big'
Big Endian stores the most significant byte at the smallest memory address and the least significant byte at the largest.