F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
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 
41 const char* string_last_n(const char* source, const FwSizeType n, const FwSizeType buffer_size);
42 
53 FwSizeType string_length(const CHAR* source, FwSizeType buffer_size);
54 
64 FwSignedSizeType substring_find(const CHAR* source_string,
65  FwSizeType source_size,
66  const CHAR* sub_string,
67  FwSizeType sub_size);
68 
78 FwSignedSizeType substring_find_last(const CHAR* source_string,
79  FwSizeType source_size,
80  const CHAR* sub_string,
81  FwSizeType sub_size);
82 
90 };
91 
92 #if FW_HAS_64_BIT
93 
118 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, U64& output, char** next, U8 base = 0);
119 
132 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, I64& output, char** next, U8 base = 0);
133 #endif
134 #if FW_HAS_32_BIT
135 
147 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, U32& output, char** next, U8 base = 0);
148 
161 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, I32& output, char** next, U8 base = 0);
162 #endif
163 #if FW_HAS_16_BIT
164 
176 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, U16& output, char** next, U8 base = 0);
177 
190 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, I16& output, char** next, U8 base = 0);
191 #endif
192 
205 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, U8& output, char** next, U8 base = 0);
206 
219 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, I8& output, char** next, U8 base = 0);
220 
233 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, F32& output, char** next);
234 #if FW_HAS_F64
235 
247 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, F64& output, char** next);
248 #endif
249 
250 } // namespace StringUtils
251 } // namespace Fw
252 #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:43
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
const char * string_last_n(const char *source, const FwSizeType n, const FwSizeType buffer_size)
get a pointer to the last N characters of a string
Definition: StringUtils.cpp:24
String did not contain a valid number matching supplied base.
Definition: StringUtils.hpp:88
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:87
A null string was supplied.
Definition: StringUtils.hpp:85
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:53
FwSignedSizeType substring_find_last(const CHAR *source_string, FwSizeType source_size, const CHAR *sub_string, FwSizeType sub_size)
find the last occurrence of a substring
Definition: StringUtils.cpp:85
double F64
64-bit floating point (double). Required for compiler-supplied double promotion.
Definition: BasicTypes.h:85
Implementation of malloc based allocator.
No \0 detected within the supplied length.
Definition: StringUtils.hpp:86
FwSizeType string_length(const CHAR *source, FwSizeType buffer_size)
get the length of the source string
Definition: StringUtils.cpp:32
#define U64(C)
Definition: sha.h:181