package
0.0.0-20230226003218-1dd1f65bfa42
Repository: https://github.com/c4-project/c4t.git
Documentation: pkg.go.dev

# Functions

FromString converts a string to a C4 ID.
LookupPrefix looks up id in map m by starting from the id itself, progressively taking a smaller and smaller prefix up to and including the empty ID, and returning the first value found.
MapGlob filters a string map m to those keys that match glob when interpreted as IDs.
MapKeys tries to get the keys of an ID-as-string map m as a sorted list.
New tries to construct a C4 ID from tags.
SearchSlice finds the smallest index in haystack for which the ID at that index is greater than or equal to needle.
Sort sorts ids.
TryFromString tries to convert a string to a C4 ID.

# Constants

ArchFamilyAArch64 is the tag representing the 64-bit Arm architecture family.
ArchFamilyArm is the tag representing the 32-bit Arm architecture family.
ArchFamilyC is the tag representing the C pseudo-architecture family.
ArchFamilyPPC is the tag representing the PowerPC architecture family.
ArchFamilyX86 is the tag representing the X86 architecture family.
ArchSubVariantAArch6481 is the tag representing the arm8.1(-a) AArch64 variant.
ArchSubVariantPPCPOWER7 is the tag representing the POWER7 PPC sub-variant.
ArchSubVariantPPCPOWER8 is the tag representing the POWER8 PPC sub-variant.
ArchSubVariantPPCPOWER9 is the tag representing the POWER9 PPC sub-variant.
ArchSubVariantX86Broadwell is the tag representing the Intel Broadwell x86-64 subvariant.
ArchSubVariantX86Skylake is the tag representing the Intel Skylake x86-64 subvariant.
ArchVariantAArch648 is the tag representing the arm8.x(-a) AArch64 variant.
ArchVariantArm7 is the tag representing the arm7(-a) Arm variant.
ArchVariantArm8 is the tag representing the arm8(-a) Arm variant.
ArchVariantArmCortexA72 is the tag representing the Cortex-A72 Arm variant.
ArchVariantPPC64LE is the tag representing the 64-bit little-endian PPC variant.
ArchVariantX8664 is the tag representing the 64-bit x86 variant.
SepTag is the identifier tag separator.
TagGlob is the tag used in a glob expression to indicate that everything before it should be a prefix, and everything after a suffix, of the matched ID.

# Variables

ArchAArch64 is the architecture ID for ARM (generic, 64-bit).
ArchAArch648 is the architecture ID for ARM 64-bit version 8.x.
ArchAArch6481 is the architecture ID for ARM 64-bit version 8.1.
ArchArm is the architecture ID for ARM (generic, 32-bit).
ArchArm7 is the architecture ID for arm7(-a).
ArchArm8 is the architecture ID for arm8(-a).
ArchArmCortexA72 is the architecture ID for arm Cortex-A72.
ArchC is the architecture ID for C.
ArchPPC is the architecture ID for PowerPC.
ArchPPC64LE is the architecture ID for PowerPC64LE.
ArchPPCPOWER7 is the architecture ID for POWER7.
ArchPPCPOWER8 is the architecture ID for POWER8.
ArchPPCPOWER9 is the architecture ID for POWER9.
ArchX86 is the architecture ID for x86 (generic, assumed 32-bit).
ArchX8664 is the architecture ID for x86-64.
ArchX86Broadwell is the architecture ID for x86-64 Broadwell.
ArchX86Skylake is the architecture ID for x86-64 Skylake.
CStyleGCC is the compiler style ID for GCC.
ErrBadGlob occurs when Matches gets a malformed glob expression.
ErrNotMap occurs when we try to use an ID map function on something that isn't an ID map.
ErrTagEmpty occurs when a tag passed to New is empty.
ErrTagHasSep occurs when a tag passed to New contains the separator rune.

# Structs

ID represents a C4 ID.