* Add new Fw::StringBase type StaticString for strings backed my immutable literals
* Spellcheck fix
* Add disclaimer comment about use of StaticString
* Refactor the StringBase interface into an immutable ConstStringBase abstract base class and the now mutable StringBase class
* Rename StaticString to ConstExternalString and inherit from ConstStringBase
* Fix typo
* Change references from StringBase to ConstStringBase where applicable
* Updates following review meeting: add missing deserialize function and add new error status, move length function implementation into ConstStringBase so it is not pure virtual
* Clang format fix
* Additional clang-format fixes
* Fix the copy-assignment operator for StringBase not being correctly evaluated
* Clang format fix
* Explicitly delete the Serializable assignment operator and provide a skeleton implementation for RawTimeInterface to appease the compiler
* Revert "Explicitly delete the Serializable assignment operator and provide a skeleton implementation for RawTimeInterface to appease the compiler"
This reverts commit 086d7bcd3ca9c4f6e553d7fc34d0d126a69a165b.
* Move ConstStringBase to separate hpp/cpp files, plus other pull request feedback
* Clang format fix
* Update length implementation for ConstStringBase and ConstExternalString
* Improved asserts in ConstExternalString constructor
Co-authored-by: Rob Bocchino <bocchino@icloud.com>
* Fixed ConstStringBase length implementation
Co-authored-by: Rob Bocchino <bocchino@icloud.com>
* Clang format fix
* Add some UTs for ConstExternalString, fix non-overridden interfaces, and fix ConstStringBase::maxLength asserting for zero capacity strings
* Spell-check fix for ConstExternalString UTs
* Revise length implementation in ConstStringBase
If the capacity is zero, return zero
* Format
---------
Co-authored-by: Ian Brault <ian.r.brault@jpl.nasa.gov>
Co-authored-by: Rob Bocchino <bocchino@icloud.com>
Co-authored-by: Rob Bocchino <bocchino@jpl.nasa.gov>
Co-authored-by: M Starch <LeStarch@googlemail.com>