   private var _eofReached: Bool = false // did we read end-of-file from the input?
   private var _endReached: Bool = false // did we reach end-of-file from the decoder stream?
 
-  /**
-   Initialize an input filter
-
-   - Parameters:
-   - operation: direction of operation
-   - algorithm: compression algorithm
-   - bufferCapacity: capacity of the internal data buffer
-   - readFunc: called to read the input data
-
-   - Throws: `FilterError.filterInitError` if filter initialization failed
-   */
+  /// Initialize an input filter
+  ///
+  /// - Parameters:
+  /// - operation: direction of operation
+  /// - algorithm: compression algorithm
+  /// - bufferCapacity: capacity of the internal data buffer
+  /// - readFunc: called to read the input data
+  ///
+  /// - Throws: `FilterError.filterInitError` if filter initialization failed
   public init(
     _ operation: FilterOperation,
     using algorithm: Algorithm,

  }
}

/**
 Compression errors
 */
public enum FilterError: Error {
  /// Filter failed to initialize
  case filterInitError

    _writeFunc = writeFunc
  }

  /// Send data to output filter
  ///
  /// Processed output will be sent to the output closure.
  /// A call with empty/nil data is interpreted as finalize().
  /// Writing non empty/nil data to a finalized stream is an error.
  ///
  /// - Parameter data: data to process
  ///
  /// - Throws:
  /// `FilterError.filterProcessError` if an error occurs during processing
  /// `FilterError.writeToFinalizedFilter` if `data` is not empty/nil, and the
  /// filter is the finalized state
  public func write(_ data: Data?) throws {
    // Finalize if data is empty/nil
    if data == nil || data!.isEmpty { try finalize() ; return }
