1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. 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 #ifndef _LOG4CXX_HELPERS_STRING_HELPER_H 19 #define _LOG4CXX_HELPERS_STRING_HELPER_H 20 21 #include <log4cxx/logstring.h> 22 #include <vector> 23 24 25 namespace log4cxx 26 { 27 namespace helpers 28 { 29 class Pool; 30 /** 31 String manipulation routines 32 */ 33 class LOG4CXX_EXPORT StringHelper 34 { 35 public: 36 static LogString trim(const LogString& s); 37 static bool startsWith(const LogString& s, const LogString& suffix); 38 static bool endsWith(const LogString& s, const LogString& suffix); 39 static bool equalsIgnoreCase(const LogString& s1, 40 const logchar* upper, const logchar* lower); 41 static bool equalsIgnoreCase(const LogString& s1, 42 const LogString& upper, const LogString& lower); 43 44 45 static int toInt(const LogString& s); 46 static log4cxx_int64_t toInt64(const LogString& s); 47 48 static void toString(int i, log4cxx::helpers::Pool& pool, LogString& dst); 49 static void toString(log4cxx_int64_t i, log4cxx::helpers::Pool& pool, LogString& dst); 50 static void toString(size_t i, log4cxx::helpers::Pool& pool, LogString& dst); 51 52 static void toString(bool val, LogString& dst); 53 54 static LogString toLowerCase(const LogString& s); 55 56 static LogString format(const LogString& pattern, const std::vector<LogString>& params); 57 }; 58 } 59 } 60 61 #endif //_LOG4CXX_HELPERS_STRING_HELPER_H 62