Package org.jcsp.plugNplay.ints

# Class TailInt

java.lang.Object
org.jcsp.plugNplay.ints.TailInt

All Implemented Interfaces:
  `CSProcess`

public final class TailInt extends Object implements CSProcess
The output stream is the tail of its input stream.

## Process Diagram

The output stream is the tail of its input stream.

## Description

The first integer (i.e. head) of its input stream is not forwarded. The rest (i.e. tail) is copied through unchanged.

Two inputs are needed before any output is produced but, thereafter, one output is produced for each input.

## Channel Protocols

Input Channels
in | int | All channels in this package carry integers.
Output Channels
out | int | All channels in this package carry integers.

## Implementation Note

The implementation uses an `IdentityInt` process for the copy loop:

       public void run () {
         in.read ();                           // accept, but discard, the first item
         new IdentityInt (in, out).run ();     // copy the rest of the stream
       }

Author:
  P.H. Welch and P.D. Austin

## Constructor Summary

Constructors
Constructor
Description
`TailInt(ChannelInputInt in, ChannelOutputInt out)`
Construct a new TailInt process with the input Channel in and the output Channel out.

## Method Summary

Modifier and Type
Method
Description
`void`
`run()`
The main body of this process.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### TailInt

public TailInt(ChannelInputInt in, ChannelOutputInt out)
Construct a new TailInt process with the input Channel in and the output Channel out.

Parameters:
  `in` - the input Channel
  `out` - the output Channel

## Method Details

### run

public void run()
The main body of this process.

Specified by:
  `run` in interface `CSProcess`