public function write($output)
{
$xfer = 0;
$xfer += $output->writeStructBegin('SlicePredicate');
if ($this->column_names !== null) {
if (!is_array($this->column_names)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
$xfer += $output->writeFieldBegin('column_names', TType::LST, 1);
$output->writeListBegin(TType::STRING, count($this->column_names));
foreach ($this->column_names as $iter13) {
$xfer += $output->writeString($iter13);
}
$output->writeListEnd();
$xfer += $output->writeFieldEnd();
}
if ($this->slice_range !== null) {
if (!is_object($this->slice_range)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
$xfer += $output->writeFieldBegin('slice_range', TType::STRUCT, 2);
$xfer += $this->slice_range->write($output);
$xfer += $output->writeFieldEnd();
}
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
}