AlgoMetadata class final
Immutable metadata describing an algorithm's characteristics and requirements.
- Annotations
-
- @immutable
Constructors
- AlgoMetadata.new({required String name, required TimeComplexity timeComplexity, TimeComplexity spaceComplexity = TimeComplexity.o1, bool requiresSorted = false, int memoryOverheadBytes = 0, String? description})
-
const
Properties
- description → String?
-
Optional description of the algorithm
final
- hashCode → int
-
The hash code for this object.
no setteroverride
- memoryOverheadBytes → int
-
Additional memory overhead in bytes (0 for in-place algorithms)
final
- name → String
-
Human-readable name of the algorithm (e.g., "binary_search", "merge_sort")
final
- requiresSorted → bool
-
Whether the algorithm requires sorted input
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- spaceComplexity → TimeComplexity
-
Space complexity of the algorithm (additional memory used)
final
- timeComplexity → TimeComplexity
-
Time complexity of the algorithm
final
Methods
-
copyWith(
{String? name, TimeComplexity? timeComplexity, TimeComplexity? spaceComplexity, bool? requiresSorted, int? memoryOverheadBytes, String? description}) → AlgoMetadata - Creates a copy of this metadata with optional field overrides
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
override