---
title: Pipe
framework: foundation
role: symbol
role_heading: Class
path: foundation/pipe
---

# Pipe

A one-way communications channel between related processes.

## Declaration

```swift
class Pipe
```

## Overview

Overview Pipe objects provide an object-oriented interface for accessing pipes. An Pipe object represents both ends of a pipe and enables communication through the pipe. A pipe is a one-way communications channel between related processes; one process writes data, while the other process reads that data. The data that passes through the pipe is buffered; the size of the buffer is determined by the underlying operating system. Pipe is an abstract class, the public interface of a class cluster.

## Topics

### Getting the File Handles for a Pipe

- [fileHandleForReading](foundation/pipe/filehandleforreading.md)
- [fileHandleForWriting](foundation/pipe/filehandleforwriting.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Tasks and Pipes

- [Process](foundation/process.md)
