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
8 #include <FpConfig.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, FwSizeType source_size, const CHAR* sub_string, FwSizeType sub_size);
51 
59 };
60 
61 #if FW_HAS_64_BIT
62 
87 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, U64& output, char** next, U8 base=0);
88 
101 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, I64& output, char** next, U8 base=0);
102 #endif
103 #if FW_HAS_32_BIT
104 
116 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, U32& output, char** next, U8 base=0);
117 
130 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, I32& output, char** next, U8 base=0);
131 #endif
132 #if FW_HAS_16_BIT
133 
145 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, U16& output, char** next, U8 base=0);
146 
159 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, I16& output, char** next, U8 base=0);
160 #endif
161 
174 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, U8& output, char** next, U8 base=0);
175 
188 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, I8& output, char** next, U8 base=0);
189 
202 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, F32& output, char** next);
203 #if FW_HAS_F64
204 
216 StringToNumberStatus string_to_number(const CHAR* input, FwSizeType buffer_size, F64& output, char** next);
217 #endif
218 
219 
220 
221 } // namespace StringUtils
222 } // namespace Fw
223 #endif // FW_STRINGUTILS_HPP
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:29
PlatformSizeType FwSizeType
Definition: FpConfig.h:35
StringToNumberStatus string_to_number(const CHAR *input, FwSizeType buffer_size, U8 &output, char **next, U8 base=0)
converts a string to a U8
char CHAR
Definition: BasicTypes.h:32
float F32
32-bit floating point
Definition: BasicTypes.h:49
String did not contain a valid number matching supplied base.
Definition: StringUtils.hpp:57
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:56
C++-compatible configuration header for fprime configuration.
A null string was supplied.
Definition: StringUtils.hpp:54
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:30
PlatformSignedSizeType FwSignedSizeType
Definition: FpConfig.h:30
No \0 detected within the supplied length.
Definition: StringUtils.hpp:55
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