F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
StringUtils.hpp
Go to the documentation of this file.
1 
6 #ifndef FW_STRINGUTILS_HPP
7 #define FW_STRINGUTILS_HPP
9 
10 namespace Fw {
11 namespace StringUtils {
27 char* string_copy(char* destination, const char* source, FwSizeType num);
28 
39 FwSizeType string_length(const CHAR* source, FwSizeType buffer_size);
40 
50 FwSignedSizeType substring_find(const CHAR* source_string,
51  FwSizeType source_size,
52  const CHAR* sub_string,
53  FwSizeType sub_size);
54 
62 };
63 
64 #if FW_HAS_64_BIT
65 
90 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, U64& output, char** next, U8 base = 0);
91 
104 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, I64& output, char** next, U8 base = 0);
105 #endif
106 #if FW_HAS_32_BIT
107 
119 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, U32& output, char** next, U8 base = 0);
120 
133 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, I32& output, char** next, U8 base = 0);
134 #endif
135 #if FW_HAS_16_BIT
136 
148 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, U16& output, char** next, U8 base = 0);
149 
162 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, I16& output, char** next, U8 base = 0);
163 #endif
164 
177 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, U8& output, char** next, U8 base = 0);
178 
191 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, I8& output, char** next, U8 base = 0);
192 
205 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, F32& output, char** next);
206 #if FW_HAS_F64
207 
219 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, F64& output, char** next);
220 #endif
221 
222 } // namespace StringUtils
223 } // namespace Fw
224 #endif // FW_STRINGUTILS_HPP
PlatformSizeType FwSizeType
FwSignedSizeType substring_find(const CHAR *source_string, FwSizeType source_size, const CHAR *sub_string, FwSizeType sub_size)
find the first occurrence of a substring
Definition: StringUtils.cpp:35
int8_t I8
8-bit signed integer
Definition: BasicTypes.h:50
StringToNumberStatus string_to_number(const CHAR *input, FwSizeType buffer_size, U8 &output, char **next, U8 base=0)
converts a string to a U8
PlatformSignedSizeType FwSignedSizeType
char CHAR
Definition: BasicTypes.h:59
float F32
32-bit floating point
Definition: BasicTypes.h:83
String did not contain a valid number matching supplied base.
Definition: StringUtils.hpp:60
char * string_copy(char *destination, const char *source, FwSizeType num)
copy string with null-termination guaranteed
Definition: StringUtils.cpp:7
Base was not supplied as 0, or 2-36.
Definition: StringUtils.hpp:59
A null string was supplied.
Definition: StringUtils.hpp:57
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:53
double F64
64-bit floating point (double). Required for compiler-supplied double promotion.
Definition: BasicTypes.h:85
No \0 detected within the supplied length.
Definition: StringUtils.hpp:58
FwSizeType string_length(const CHAR *source, FwSizeType buffer_size)
get the length of the source string
Definition: StringUtils.cpp:24
#define U64(C)
Definition: sha.h:180