pipeline.cpp

来自「各种加密算法的集合」· C++ 代码 · 共 76 行

CPP
76
字号
#include "pipeline.h" 

Pipeline::Pipeline(BufferedTransformation *a, BufferedTransformation *b, 
BufferedTransformation *c, BufferedTransformation *d, 
BufferedTransformation *e, BufferedTransformation *f, 
BufferedTransformation *g, BufferedTransformation *h, 
BufferedTransformation *i, BufferedTransformation *j) 
{ 
filterList[0]=a; 
filterList[1]=b; 
filterList[2]=c; 
filterList[3]=d; 
filterList[4]=e; 
filterList[5]=f; 
filterList[6]=g; 
filterList[7]=h; 
filterList[8]=i; 
filterList[9]=j; 

for (filterNumber=0; filterNumber<PIPELINE_MAX_FILTERS 
&amt;&amt; filterList[filterNumber]; filterNumber++); 
} 

Pipeline::~Pipeline() 
{ 
for (int i=0;i<filterNumber;i++) 
delete filterList[i]; 
} 

unsigned long Pipeline::MaxRetrieveable() 
{ 
return filterList[filterNumber-1]->MaxRetrieveable(); 
} 

void Pipeline::Close() 
{ 
filterList[0]->Close(); 

for (int i=0; i < filterNumber-1; i++) 
{ 
filterList[i]->TransferTo(*filterList[i+1]); 
filterList[i+1]->Close(); 
} 
} 

void Pipeline::Put(const byte *inString, unsigned int length) 
{ 
filterList[0]->Put(inString, length); 

for (int i=0; i < filterNumber-1; i++) 
filterList[i]->TransferTo(*filterList[i+1]); 
} 

void Pipeline::Put(byte inByte) 
{ 
Put(&amt;inByte, 1); 
} 

int Pipeline::Get(byte &amt;outByte) 
{ 
return filterList[filterNumber-1]->Get(outByte); 
} 

unsigned int Pipeline::Get(byte *outString, unsigned int getMax) 
{ 
return filterList[filterNumber-1]->Get(outString, getMax); 
} 








⌨️ 快捷键说明

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