Bonjour.

J'utilise une classe std::map pour coder un arbre binaire linéaire (http://en.wikipedia.org/wiki/Z-order_curve). Sur ce point je me suis débrouillé.

A partir d'un itérateur donné je souhaite chercher un de ses voisin. Je peux aider la recherche en utilisant std::find à partir du pointeur courant par exemple :
std::find(it, map.end(),clef) ou std::find(map.begin(), it,clef).

Mais je souhaiterai qu'en cas d'échec de la recherche j'obtienne le premier itérateur inférieur.
J'ai essayé avec less_equal, mais j’obtiens le premier itérateur qui vérifie la condition.

Est-ce possible d'écrire un code qui renvoie la valeur exacte si elle existe, la première valeur inférieure sinon ?