RMW desert 1.0
Loading...
Searching...
No Matches
CStringHelper.h
Go to the documentation of this file.
1/****************************************************************************
2 * Copyright (C) 2024 Davide Costa *
3 * *
4 * This file is part of RMW desert. *
5 * *
6 * RMW desert is free software: you can redistribute it and/or modify it *
7 * under the terms of the GNU General Public License as published by the *
8 * Free Software Foundation, either version 3 of the License, or any *
9 * later version. *
10 * *
11 * RMW desert is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with RMW desert. If not, see <http://www.gnu.org/licenses/>. *
18 ****************************************************************************/
19
32#ifndef CSTRING_HELPER_H_
33#define CSTRING_HELPER_H_
34
37#include "rosidl_runtime_c/u16string.h"
38#include "rosidl_runtime_c/string.h"
39#include "rosidl_runtime_c/u16string_functions.h"
40#include "rosidl_runtime_c/string_functions.h"
41
42#include <stdexcept>
43#include <vector>
44#include <string>
45
56namespace CStringHelper
57{
66 std::string convert_to_std_string(void * str);
77 std::vector<std::string> convert_to_std_vector_string(void * str_array, size_t size);
87 std::vector<std::string> convert_sequence_to_std_vector_string(void * str_seq);
88
97 std::u16string convert_to_std_u16string(void * str);
108 std::vector<std::u16string> convert_to_std_vector_u16string(void * str_array, size_t size);
118 std::vector<std::u16string> convert_sequence_to_std_vector_u16string(void * str_seq);
119
129 void assign_string(std::string str, void * field);
140 void assign_vector_string(std::vector<std::string> cpp_string_vector, void * str_array, size_t size);
150 void assign_vector_string_to_sequence(std::vector<std::string> cpp_string_vector, void * str_seq);
151
161 void assign_u16string(std::u16string str, void * field);
172 void assign_vector_u16string(std::vector<std::u16string> cpp_string_vector, void * str_array, size_t size);
182 void assign_vector_u16string_to_sequence(std::vector<std::u16string> cpp_string_vector, void * str_seq);
183}
184
185
186#endif
Namespace containing C sequence handling functions.
void assign_vector_string(std::vector< std::string > cpp_string_vector, void *str_array, size_t size)
Assing to a rosidl_runtime_c__String the value contained in a vector of std::string.
Definition CStringHelper.cpp:69
void assign_vector_u16string_to_sequence(std::vector< std::u16string > cpp_string_vector, void *str_seq)
Assing to a rosidl_runtime_c__U16String__Sequence the value contained in a vector of std::u16string.
Definition CStringHelper.cpp:117
std::vector< std::string > convert_to_std_vector_string(void *str_array, size_t size)
Convert a rosidl_runtime_c__String into a vector of std::string.
Definition CStringHelper.cpp:9
std::u16string convert_to_std_u16string(void *str)
Convert a rosidl_runtime_c__U16String into std::u16string.
Definition CStringHelper.cpp:33
std::vector< std::u16string > convert_to_std_vector_u16string(void *str_array, size_t size)
Convert a rosidl_runtime_c__U16String into a vector of std::u16string.
Definition CStringHelper.cpp:39
void assign_vector_string_to_sequence(std::vector< std::string > cpp_string_vector, void *str_seq)
Assing to a rosidl_runtime_c__String__Sequence the value contained in a vector of std::string.
Definition CStringHelper.cpp:81
std::vector< std::u16string > convert_sequence_to_std_vector_u16string(void *str_seq)
Convert a rosidl_runtime_c__U16String__Sequence into a vector of std::u16string.
Definition CStringHelper.cpp:51
void assign_string(std::string str, void *field)
Assing to a rosidl_runtime_c__String the value contained in a std::string.
Definition CStringHelper.cpp:63
void assign_u16string(std::u16string str, void *field)
Assing to a rosidl_runtime_c__U16String the value contained in a std::u16string.
Definition CStringHelper.cpp:99
void assign_vector_u16string(std::vector< std::u16string > cpp_string_vector, void *str_array, size_t size)
Assing to a rosidl_runtime_c__U16String the value contained in a vector of std::u16string.
Definition CStringHelper.cpp:105
std::vector< std::string > convert_sequence_to_std_vector_string(void *str_seq)
Convert a rosidl_runtime_c__String__Sequence into a vector of std::string.
Definition CStringHelper.cpp:21
std::string convert_to_std_string(void *str)
Convert a rosidl_runtime_c__String into std::string.
Definition CStringHelper.cpp:3