⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ioport.cpp

📁 用于仿真系统中多个仿真对象间的内存管理
💻 CPP
字号:
// IOPort.cpp: implementation of the IOPort class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "IOPort.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

IOPort::IOPort(long size,portType type,dataType datatype)
{
	port_size = size;
	port_type = type;
	data_type = datatype;
}

IOPort::~IOPort()
{
	cout << "IOPort destruct" << endl;
}

IOPort::IOPort(const IOPort& rhs)
{
}

IOPort& IOPort::operator =(const IOPort& rhs)
{
	return *this;
}

float IOPort::ReadSample()
{
	return pBuffer->ReadSample();
}

void IOPort::WriteSample(const float sample)
{
	pBuffer->WriteSample(sample);
}

float* IOPort::GetBuf()
{
	return pBuffer->GetDataBuf();
}

void IOPort::AddConnectLine(ConnectLine *line)
{
	connect_list.push_back(line);
}

void IOPort::SetPortID(const int id)
{
	ID = id;
}

int IOPort::GetPortID()
{
	return ID;
}

void IOPort::InitOutBuf(int thresh, MemoryPool *pool)
{
	pBuffer = new Buffer(port_size,thresh,pool);
}

void IOPort::SetInBuffer(Buffer *pbuf)
{
	pBuffer = pbuf;
	pbuf->AddReference();
}

void IOPort::SetRelatePortBuf()
{
	vector<ConnectLine*>::iterator it_line = connect_list.begin();
	for(;it_line != connect_list.end();it_line++)
	{
		((*it_line)->GetEndPort())->SetInBuffer(pBuffer);
	}

}

void IOPort::AccomplishIO()
{
	pBuffer->ReleaseReference();
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -