func (e *StreamEncoder) Open(n int) error {
	if err := e.err; err != nil {
		return err
	}

	if e.closed {
		return io.ErrClosedPipe
	}

	if !e.opened {
		e.max = n
		e.opened = true

		if !e.oneshot {
			e.err = e.Emitter.EmitArrayBegin(n)
		}
	}

	return e.err
}
func (e *StreamEncoder) Open(n int) error {
	if err := e.err; err != nil {
		return err
	}

	if e.closed {
		return io.ErrClosedPipe
	}

	if !e.opened {
		e.max = n
		e.opened = true

		if !e.oneshot {
			e.err = e.Emitter.EmitArrayBegin(n)
		}
	}

	return e.err
}
func ( e * StreamEncoder ) Open ( n int ) error { if err := e . err ; err != nil { return err } if e . closed { return io . ErrClosedPipe } if ! e . opened { e . max = n e . opened = true if ! e . oneshot { e . err = e . Emitter . EmitArrayBegin ( n ) } } return e . err }
// Open explicitly tells the encoder to start the stream, setting the number
// of values to n.
//
// Depending on the actual format that the stream is encoding to, n may or
// may not have to be accurate, some formats also support passing a negative
// value to indicate that the number of elements is unknown.
Open explicitly tells the encoder to start the stream setting the number of values to n . Depending on the actual format that the stream is encoding to n may or may not have to be accurate some formats also support passing a negative value to indicate that the number of elements is unknown .