mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-20 04:43:34 +08:00
Array methods for case conversion
This commit is contained in:
@@ -742,6 +742,38 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts the string to upper/lower case in place, assuming that encoding is ASCII.
|
||||
* These methods can only be used with string-like arrays; otherwise compilation will fail.
|
||||
*/
|
||||
void convertToUpperCaseASCII()
|
||||
{
|
||||
StaticAssert<Base::IsStringLike>::check();
|
||||
|
||||
for (SizeType i = 0; i < size(); i++)
|
||||
{
|
||||
const int x = Base::at(i);
|
||||
if ((x <= 'z') && (x >= 'a'))
|
||||
{
|
||||
Base::at(i) = static_cast<ValueType>(x + ('Z' - 'z'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void convertToLowerCaseASCII()
|
||||
{
|
||||
StaticAssert<Base::IsStringLike>::check();
|
||||
|
||||
for (SizeType i = 0; i < size(); i++)
|
||||
{
|
||||
const int x = Base::at(i);
|
||||
if ((x <= 'Z') && (x >= 'A'))
|
||||
{
|
||||
Base::at(i) = static_cast<ValueType>(x - ('Z' - 'z'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fills this array as a packed square matrix from a static array.
|
||||
* Please refer to the specification to learn more about matrix packing.
|
||||
|
||||
Reference in New Issue
Block a user