1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
typedef struct _TDataChunk
{
int nType; // Type : Numeric, String or Binary
int nSFID; // FileID
int nRecNo; // RecNo
int nRecLen ; // Record Length
int nRecOffset; // Offset From Record
int nBuffOffset;// Offset from Linear Buffer
int nDataOffset;// Sert
int nChunkSize; // Size in BITS of the chunk
} TDataChunk;
typedef struct _TDataInfo
{
int nFullSize; // DataLen in BITS
int nType; // Type : Numeric, String or Binary
int nStdSize; // Standard architecture size (8, 16, 32 or 64)
std::list<TDataChunk> chunklist;
} TDataInfo;
void CDataIndex::AddDataChunk(TDataChunk dataChunk)
{
map<CString, TDataInfo>::iterator it = NULL;
TDataInfo dataInfo;
// Si la clé recherché n'existe pas on la crée
it = m_dataIndex.find(szTag);
if ( it == m_dataIndex.end() ){
dataInfo.nFullSize = 0;
dataInfo.nStdSize = 0;
dataInfo.nType = 0
m_dataIndex[ szTag ] = dataInfo;
}
dataInfo.nFullSize += dataChunk.
// Ajout de mon TDataChunk à ma liste chunklist en triant par
// ordre croissant de nDataOffset
// ?????????????? COMMENT FAIRE
} |
Partager