// DO NOT MODIFY THIS FILE, IT HAS BEEN GENERATED.
// File generated by Quazal DDL Compiler, Version 4.1 [SP2] (Build 1224.83)
// Copyright (C) 1998-2004, Quazal Technologies Inc.

#ifndef _DSVectorDDL_H_
#define _DSVectorDDL_H_

#include <NetZ.h>
BEGIN_NAMESPACE_QUAZAL;
class DATASET(DSVector): public DataSet {
public:
	_DS_GENERAL_DECLARATIONS(DSVector);
	DATASET(DSVector)( const DATASET(DSVector) &oOther ) :
		d_x(oOther.d_x), 
		d_y(oOther.d_y), 
		d_z(oOther.d_z)
	{
	}

	_DS_ASSIGN_OPERATOR(DSVector){
		_DS_COPYDATASET_VAR(d_x);
		_DS_COPYDATASET_VAR(d_y);
		_DS_COPYDATASET_VAR(d_z);
	}

	_DS_EQUAL_OPERATOR(DSVector){
		_DS_EQUAL_VAR(d_x);
		_DS_EQUAL_VAR(d_y);
		_DS_EQUAL_VAR(d_z);
		return true;
	}

	_DS_TMPL_EQUAL_OPERATOR(DSVector)
	void ExtractFrom(Message* pMsg) {
		_MSG_EXTRACT_VARIABLE(Td_x,d_x);
		_MSG_EXTRACT_VARIABLE(Td_y,d_y);
		_MSG_EXTRACT_VARIABLE(Td_z,d_z);
	}

	DDLTYPE(float)::CPPType d_x;
	DDLTYPE(float)::CPPType d_y;
	DDLTYPE(float)::CPPType d_z;
	_PR_upon_request_filter_pudecl();

protected:
	_PR_upon_request_filter_prdecl();
private:
	typedef DDLTYPE(float) Td_x;
	typedef DDLTYPE(float) Td_y;
	typedef DDLTYPE(float) Td_z;
};

#define _DSDECL_DSVector DSVector

END_NAMESPACE_QUAZAL;
// For convenience, this declaration is directly available outside the Quazal namespace
using NS_QUAZAL DATASET(DSVector);


#endif // _DSVectorDDL_H_
