Phosphor
string_utils.h
1 /* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2 /*
3  * Copyright 2016 Couchbase, Inc
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #include <string>
19 #include <vector>
20 
21 #include "phosphor/utils/string_utils.h"
22 
23 #pragma once
24 
25 namespace phosphor {
26  namespace utils {
27  /*
28  * Rough std::string version of sprintf
29  *
30  * @param fmt Format string
31  * @param args Variable arguments to format into format string
32  * @return Formatted string
33  */
34  std::string format_string(const char* fmt, ...);
35 
42  std::string to_json(const std::string& str);
43 
52  std::vector<std::string> split_string(const std::string& str,
53  char delim = ' ');
54 
55  std::string join_string(const std::vector<std::string>& strs,
56  const char delim = ' ');
57 
58  std::string& string_replace(std::string& str,
59  const std::string& from,
60  const std::string& to);
61 
75  bool glob_match(const std::string& glob, const std::string& match);
76  }
77 }
Definition: category_registry.h:32