2 #include <ossia/detail/string_view.hpp>
11 OSSIA_EXPORT std::string& sanitize_device_name(std::string& name);
12 OSSIA_EXPORT std::string& sanitize_name(std::string& name);
13 OSSIA_EXPORT std::string sanitize_name(
const std::string& s);
14 OSSIA_EXPORT std::string sanitize_name(std::string&& s);
15 OSSIA_EXPORT std::string sanitize_name(
const char* s);
16 OSSIA_EXPORT std::string
17 sanitize_name(std::string name_base,
const std::vector<std::string>& brethren);
22 template <
typename Char_T>
23 bool is_valid_character_for_device(Char_T c)
25 return (c >=
'a' && c <=
'z') || (c >=
'A' && c <=
'Z') || (c >=
'0' && c <=
'9')
26 || (c ==
'.') || (c ==
'~') || (c ==
'_') || (c ==
'(') || (c ==
')')
27 || (c ==
'-') || (c ==
' ') || (c ==
'=');
32 template <
typename Char_T>
33 bool is_valid_character_for_name(Char_T c)
35 return (c >=
'a' && c <=
'z') || (c >=
'A' && c <=
'Z') || (c >=
'0' && c <=
'9')
36 || (c ==
'.') || (c ==
'~') || (c ==
'_') || (c ==
'(') || (c ==
')')
37 || (c ==
'-') || (c ==
':') || (c ==
' ') || (c ==
'=');
43 constexpr std::string_view device_characters() noexcept
45 constexpr_return(ossia::make_string_view(
"a-zA-Z0-9_~() .-"));
51 constexpr std::string_view name_characters() noexcept
53 constexpr_return(ossia::make_string_view(
"a-zA-Z0-9_~(): .-"));
59 constexpr std::string_view path_characters() noexcept
61 constexpr_return(ossia::make_string_view(
"/a-zA-Z0-9_~(): .-"));
64 constexpr std::string_view name_characters_no_instance() noexcept
66 constexpr_return(ossia::make_string_view(
"a-zA-Z0-9_~(): -"));
75 constexpr std::string_view pattern_match_characters() noexcept
77 constexpr_return(ossia::make_string_view(
"a-zA-Z0-9_~(): .*?,{}\\[\\]-"));
88 bool is_brace_expansion(std::string_view);
97 OSSIA_EXPORT std::vector<std::string> address_parts(std::string_view src);