## Semantic Versions

`/ork/cl_semver` parses [SemVer](https://semver.org/) strings into typed value objects and exposes comparison helpers for version gates.

```abap
DATA(current) = /ork/cl_semver=>s_parse( `1.4.2` ).
DATA(required) = /ork/cl_semver=>s_parse( `1.3.0` ).

IF current->compare( required ) >= 0.
  " Feature is available.
ENDIF.
```

Use `s_compare_versions` when you already have structured version values and do not need object instances.

## UUID Values

`/ork/cl_uuid` generates UUIDs and converts between SAP UUID representations.

```abap
DATA(uuid) = /ork/cl_uuid=>s_new( ).
DATA(uuid_c32) = /ork/cl_uuid=>s_new_c32( ).
DATA(uuid_x16) = /ork/cl_uuid=>s_parse_to_x16( CONV string( uuid_c32 ) ).
```

Parsing methods accept text input and return the requested representation. Conversion methods are explicit about source and target format, which keeps transport and persistence code easy to audit.

## Stopwatch Timing

Use `/ork/cl_stopwatch` when a call site needs elapsed duration objects instead of raw timestamp arithmetic.

```abap
DATA(stopwatch) = /ork/cl_stopwatch=>s_new( ).

stopwatch->start( ).
" Work to measure.
stopwatch->stop( ).

DATA(elapsed_ms) = stopwatch->elapsed( )->total_milliseconds( ).
```

The stopwatch can be started, stopped, reset, or restarted through `/ork/if_stopwatch`; `elapsed` returns a `/ork/if_duration` value for formatting or unit conversion.

## Zip Files

`/ork/cl_io_zip_file` wraps `cl_abap_zip` behind a fluent interface for in-memory archives.

```abap
DATA(zip_bytes) = /ork/cl_io_zip_file=>s_new(
  )->add( name    = `payload.txt`
          content = payload_bytes
  )->save( ).

DATA(payload_copy) = /ork/cl_io_zip_file=>s_single_file_from_zip(
  zip_file = zip_bytes
  filename = `payload.txt`
).
```

Use the instance API when an archive contains multiple files or needs entry inspection. The single-file helpers keep common import/export code compact.