function NativeLayer1d(config ) {

	// NativeLayer1d inherits from abstract layer "NativeLayer".

	NativeLayer.call( this, config );

	/**
	 * NativeLayer1d has one output dimensions: [ width ].
	 *
	 * @type { int }
	 */

	this.width = undefined;

	/**
	 * queue element's handler.
	 * queue is an element which is displayed on the screen when layer1d is open.
	 *
	 * @type { Object }
	 */

	this.queueHandler = undefined;

	/**
	 * Decide how to display hint text.
	 *
	 * @type { boolean }
	 */

	this.overview = false;

	/**
	 * mode for how to display queue element
	 * If queue element is too long, use "paging" mode may have better visualization effect.
	 *
	 * @type { boolean }
	 */

	this.paging = false;

	/**
	 * Only take effect when this.paging = true.
	 * Segment length for "one page".
	 * Default to 200.
	 *
	 * @type { number }
	 */

	this.segmentLength = 200;

	/**
	 * Only take effect when this.paging = true.
	 * Which page NativeLayer1d displays now.
	 * Can be update when "last" or "next" buttons are clicked, initial value can be defined by user.
	 * Default to 0.
	 *
	 * @type { number }
	 */

	this.segmentIndex = 0;

	/**
	 * Only take effect when this.paging = true.
	 * How many pages in NativeLayer1d.
	 *
	 * @type { number }
	 */

	this.totalSegments = undefined;

	/**
	 * Only take effect when this.paging = true.
	 * Store handler for last button.
	 *
	 * @type { Object }
	 */

	this.lastButtonHandler = undefined;

	/**
	 * Only take effect when this.paging = true.
	 * Store handler for next button.
	 *
	 * @type { Object }
	 */

	this.nextButtonHandler = undefined;

	/**
	 * Only take effect when this.paging = true.
	 * Attribute used by tween in QueueTransitionFactory.
	 *
	 * @type { number }
	 */

	this.queueLength = this.segmentLength;

	/**
	 * aggregation's width and height.
	 * aggregation is an element which is displayed on the screen when layer1d is closed.
	 *
	 * @type { number }
	 */

	this.aggregationWidth = undefined;
	this.aggregationHeight = undefined;

	/**
	 * An indicator whether layer1d is in an transition status.
	 * NativeLayer1d has a transition period between "close" and "open" when openLayer is called.
	 *
	 * @type { boolean }
	 */

	this.isTransition = false;

	/**
	 * Label to define whether layer need an "output value" from backend model (tfjs, keras, or tf).
	 * False means that user need to add value for NativeLayer1d when they are preprocessing multi-output for the model.
	 *
	 * @type { boolean }
	 */

	this.autoOutputDetect = false;

	// Load user's layer1d config into some layer1d's attribute.

	this.loadLayer1dConfig( config );

	this.layerDimension = 1;

}
NativeLayer1d, abstract layer, can not be initialized by TensorSpace user.
Base class for Dense, Flatten, Activation1d, BasicLayer1d.
The characteristic for classes which inherit from NativeLayer1d is that their output shape has one dimension, for example, [units].

@param config, user's configuration for NativeLayer1d.
@constructor