PrintIntervalTrue.hh 3.4 KB
/**
 * PrintIntervalTrue.hh
 *
 *  Created on: Jan 8, 2013
 *      Author: AKKA IS
 */

#ifndef PRINTINTERVALTRUE_HH_
#define PRINTINTERVALTRUE_HH_


#include <fstream>
#include <iostream>

#include <iomanip>
#include "VisitorOfParamData.hh"
#include "ParamDataIndexInfo.hh"

namespace AMDA {
	namespace ParamOutputImpl {
		namespace Download {

class PrintIntervalTrue: public AMDA::Parameters::VisitorOfParamData {
public:
	/**
	 * @brief constructor
	*/

	PrintIntervalTrue(AMDA::Parameters::ParamDataIndexInfo pParamDataIndexInfo, std::ofstream    &pCurrentfile);

	/**
	 * @brief destructor
	*/
	virtual ~PrintIntervalTrue();

	/**
	 * @overload VisitorOfParamData::visit()
	 */
	virtual void visit(AMDA::Parameters::ParamDataScalaireShort *);

	/**
	 * @overload VisitorOfParamData::visit()
	 */
	virtual void visit(AMDA::Parameters::ParamDataScalaireFloat *);

	/**
	 * @overload VisitorOfParamData::visit()
	 */
	virtual void visit(AMDA::Parameters::ParamDataScalaireDouble *);

	/**
	 * @overload VisitorOfParamData::visit()
	 */
	virtual void visit(AMDA::Parameters::ParamDataScalaireLongDouble *);

	/**
	 * @overload VisitorOfParamData::visit()
	 */
	virtual void visit(AMDA::Parameters::ParamDataScalaireInt *);

	/**
	 * @overload VisitorOfParamData::visit()
	 */
	virtual void visit(AMDA::Parameters::ParamDataLogicalData *);

	/**
	 * @overload VisitorOfParamData::visit()
	 */
	virtual void visit(AMDA::Parameters::ParamDataTab1DShort *);

	/**
	 * @overload VisitorOfParamData::visit()
	 */
	virtual void visit(AMDA::Parameters::ParamDataTab1DFloat *);

	/**
	 * @overload VisitorOfParamData::visit()
	 */
	virtual void visit(AMDA::Parameters::ParamDataTab1DDouble *);

	/**
	 * @overload VisitorOfParamData::visit()
	 */
	virtual void visit(AMDA::Parameters::ParamDataTab1DLongDouble *);

	/**
	 * @overload VisitorOfParamData::visit()
	 */
	virtual void visit(AMDA::Parameters::ParamDataTab1DInt *);

	/**
	 * @overload VisitorOfParamData::visit()
	*/
	virtual void visit(AMDA::Parameters::ParamDataTab1DLogicalData *);

	/**
	 * @overload VisitorOfParamData::visit(ParamDataTab2DShort *)
	 */
	virtual void visit(AMDA::Parameters::ParamDataTab2DShort *);

	/**
	 * @overload VisitorOfParamData::visit(ParamDataTab2DFloat *)
	 */
	virtual void visit(AMDA::Parameters::ParamDataTab2DFloat *);

	/**
	 * @overload VisitorOfParamData::visit(ParamDataTab2DDouble *)
	 */
	virtual void visit(AMDA::Parameters::ParamDataTab2DDouble *);

	/**
	 * @overload VisitorOfParamData::visit(ParamDataTab2DLongDouble *)
	 */
	virtual void visit(AMDA::Parameters::ParamDataTab2DLongDouble *);

	/**
	 * @overload VisitorOfParamData::visit(ParamDataTab2DInt *)
	 */
	virtual void visit(AMDA::Parameters::ParamDataTab2DInt *);

	/**
	 * @overload VisitorOfParamData::visit(ParamDataTab2DLogicalData *)
	 */
	virtual void visit(AMDA::Parameters::ParamDataTab2DLogicalData *);

	/**
	 * @brief _paramDataIndexInfo setter
	*/
	void setParamDataIndexInfo(
			const AMDA::Parameters::ParamDataIndexInfo& paramDataIndexInfo) {
		_paramDataIndexInfo = paramDataIndexInfo;
	}

//private:

	/**
	 * @brief index information to write
	*/
	AMDA::Parameters::ParamDataIndexInfo _paramDataIndexInfo;

	/**
	 * @brief current file to print
	*/
	std::ofstream    &_currentfile;


	/**
	 * @brief _valCurrent read, true if val current = True to LogicalData
	*/
	bool _valCurrent;
};

} // namespace Download
} // namespace ParamOutputImpl
} /* namespace AMDA */
#endif /* PRINTINTERVALTRUE_HH_ */