Bonjour,

j'aurais besoin d'un expert STL.
JE souhaiteriais avoir une methode qui prend en parametre une structure et qui l'ajoute à une liste. L'ajout doit se faire en triant suivant un des champs.

La structure est défini comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
}