Boost logo

Boost :

From: John Maddock (John_Maddock_at_[hidden])
Date: 2002-01-30 07:07:35


>Using locales, you can lexicographically compare strings. However, in
this
>context, you need to compare strings while ignoring case, and I don't
recall
>that being part of the locale framework.

You can do case conversion using the std::ctype facet, but there is no
caseless string compare facility as such.

BTW the situation is much more complex that one would think - case
sensitivity is a property of the pathname itself, and not the platform on
which it is running.

Consider that NT does support case sensitive filesystems - in which case
the case sensitivity is dependent upon the drivename (see
GetVolumeInformation). However on unix systems you can mount a case
insensitive filesystems within a case sensitive one, throw in symbolic
links and the whether comparison is case sensitive changes with each part
of the pathname: so with /foo/bar the foo part may be case sensitive and
the bar part case insensitive.

- John Maddock
http://ourworld.compuserve.com/homepages/john_maddock/


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk