Fonction "prédicat" dans une fonction ?
Bonjour a tous,
J'ai besoin d'utiliser un prédicat pour fixer la valeur d'un element dans une liste :
Code:
1 2 3 4 5 6 7 8
|
void
TGrid::Set_Anchor_Squares_Not_Played( void )
{
std::for_each( m_po_configuration->Get_Anchor_Squares().begin(),
m_po_configuration->Get_Anchor_Squares().end(),
Set_Not_Played ) ;
} |
Le prédicat en question est Set_Not_Played.
Pour le moment, ce prédicat est une fonction propre à ma classe (TGrid) :
Code:
1 2 3 4 5 6
|
void
TGrid::Set_Not_Played( TAnchorSquare* par_po_anchor_square )
{
par_po_anchor_square->Set_Played( false ) ;
} |
Mais pour des questions d'esthétique (ou juste pour savoir) je voudrais contraindre la portée de cette fonction, non pas à ma classe, mais seulement à ma fonction TGrid::Set_Anchor_Squares_Not_Played. Or, quand je mets ma fonction prédicat dans cette fonction, ca ne compile pas.
Comment faudrait-il que je fasse ?
En fait, je voudrais un peu le meme fonctionnement qu'un foncteur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
FONCTION()
{
struct foncteur
{
operator()()
{
}
}
std::generate( x.begin(), x.end(), foncteur() );
} |
Merci pour votre aide.