MySQL 9.3.0
Source Code Documentation
generic.h
Go to the documentation of this file.
1/*
2 Copyright (c) 2023, 2025, Oracle and/or its affiliates.
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License, version 2.0,
6 as published by the Free Software Foundation.
7
8 This program is designed to work with certain software (including
9 but not limited to OpenSSL) that is licensed under separate terms,
10 as designated in a particular file or component or in included license
11 documentation. The authors of MySQL hereby grant you an additional
12 permission to link the program and your derivative works with the
13 separately licensed software that they have either included with
14 the program or referenced in the documentation.
15
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License for more details.
20
21 You should have received a copy of the GNU General Public License
22 along with this program; if not, write to the Free Software
23 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24*/
25
26#ifndef ROUTER_SRC_MYSQL_REST_SERVICE_INCLUDE_HELPER_STRING_GENERIC_H_
27#define ROUTER_SRC_MYSQL_REST_SERVICE_INCLUDE_HELPER_STRING_GENERIC_H_
28
29#include <string>
30
31namespace helper {
32namespace string {
33
34inline bool is_empty(const std::string &str) { return str.empty(); }
35inline bool is_empty(const char *str) { return *str == 0; }
36inline const char *cstr(const char *str) { return str; }
37inline const char *cstr(const std::string &str) { return str.c_str(); }
38inline size_t size(const char *str) { return strlen(str); }
39inline size_t size(const std::string &str) { return str.length(); }
40
41} // namespace string
42
43template <typename Container>
44inline std::string as_string(const Container &c) {
45 return std::string(c.begin(), c.end());
46}
47
48} // namespace helper
49
50#endif // ROUTER_SRC_MYSQL_REST_SERVICE_INCLUDE_HELPER_STRING_GENERIC_H_
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1084
const char * cstr(const char *str)
Definition: generic.h:36
bool is_empty(const std::string &str)
Definition: generic.h:34
size_t size(const char *str)
Definition: generic.h:38
Definition: cache.h:33
std::string as_string(const Container &c)
Definition: generic.h:44