Skip to content

Draft: nlc::absolute_path_view

Gatgat requested to merge normalize_path into string.replace

L'idée de la classe c'est d'avoir une représentation d'un path absolu. C'est une view parce qu'en interne on stocke des string_view sur des partie du path qu'on a passé en input, en ignorant les parties inutiles (séparateurs en double, ., dossiers annulés par des .., ...). On peut ensuite accéder au différents dossiers avec get_folders(), et construire un chemin absolu normalisé en appelant to_string. On peut y passer des options, j'ai pas forcément fait un truc exhaustif pour l'instant (on peut juste choisr un style unix ou windows, et d'ajouter ou pas en séprateur à la fin).

C'est juste histoire d'avoir une idée de ce à quoi ça peut ressembler. Il faudrait après avoir une classe relative_path_view, qu'on pourrait de la même manière transformer en chemin relatif, ou en chemin absolu en ajoutant une racine.

(Dans la MR il y a toujours la fonction normalize_path pour pouvoir faire la comparaison entre les deux, mais in fine il faudra choisir entre les deux).

Merge request reports

Loading