Bonjour,

j'essaie d'ecrire une lib permettant de generer du xlsx ( xls en xml )
je souhaiterai pouvoir ecrire mon code de la manière suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Sheet s("Sheet 1");  // creation d'une feuille
s << "titre colonne 1" << "titre colonne 2" << endline;// insertion cellule par cellules
s << "cellule 1"<< 27 << endline;
j'ai reussi a ecrire ce code, par contre je suis bloqué sur la maniere d'ecire un manipulateur avec un parametre du style width( int )
pour l'instant j'ai donc ce code
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
 
 
class Sheet;
typedef Sheet& (*unary_manipulator)(Sheet&);
 
class Sheet
{
 
public:
        Sheet(std::string name):{};
 
        friend Sheet& operator << (Sheet& O, const char * S);  // permet  le << string
        friend Sheet& operator << (Sheet& O, unary_manipulator S); // permet le << endline
};
 
Sheet& operator << (Sheet& O, const char * S)
{
     return O;
}
 
Sheet& operator << (Sheet& O, unary_manipulator S)
{
    return O;
}
 
Sheet& endline( Sheet& s)
{
return s;
}
je pensais réussir a écrire un manipulateur avec un paramètre en utilisant un fonctor de ce genre ( mais ca ne marche pas )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
struct width
{
 width ( int w ){};
 Sheet& operator()(Sheet& s){return s;};
 
};
auriez vous une idée de la manière d'écrire un : "<< width(1) << ..."

merci