Enhancement - strippedLength

- Added a text method that calculates a string length but does not
  include color control codes.
This commit is contained in:
Paul Beckingham 2010-07-05 15:55:50 -04:00
parent ce99cbf2d4
commit 844c980bce
3 changed files with 37 additions and 1 deletions

View file

@ -568,3 +568,30 @@ std::string::size_type find (
}
////////////////////////////////////////////////////////////////////////////////
// Return the length, in characters, of the input, subtracting color control
// codes.
int strippedLength (const std::string& input)
{
int length = input.length ();
bool inside = false;
int count = 0;
for (int i = 0; i < length; ++i)
{
if (inside)
{
if (input[i] == 'm')
inside = false;
}
else
{
if (input[i] == 033)
inside = true;
else
++count;
}
}
return count;
}
////////////////////////////////////////////////////////////////////////////////