1// Copyright 2014 The Android Open Source Project 2// 3// This software is licensed under the terms of the GNU General Public 4// License version 2, as published by the Free Software Foundation, and 5// may be copied, distributed, and modified under those terms. 6// 7// This program is distributed in the hope that it will be useful, 8// but WITHOUT ANY WARRANTY; without even the implied warranty of 9// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10// GNU General Public License for more details. 11 12#ifndef ANDROID_BASE_STRING_FORMAT_H 13#define ANDROID_BASE_STRING_FORMAT_H 14 15#include "android/base/String.h" 16 17#include <stdarg.h> 18 19namespace android { 20namespace base { 21 22// Create a new String instance that contains the printf-style formatted 23// output from |format| and potentially any following arguments. 24String StringFormat(const char* format, ...); 25 26// A variant of StringFormat() which uses a va_list to list formatting 27// parameters instead. 28String StringFormatWithArgs(const char* format, va_list args); 29 30// Appends a formatted string at the end of an existing string. 31// |string| is the target String instance, |format| the format string, 32// followed by any formatting parameters. This is more efficient than 33// appending the result of StringFormat(format,...) to |*string| directly. 34void StringAppendFormat(String* string, const char* format, ...); 35 36// A variant of StringAppendFormat() that takes a va_list to list 37// formatting parameters. 38void StringAppendFormatWithArgs(String* string, 39 const char* format, 40 va_list args); 41 42} // namespace base 43} // namespace android 44 45#endif // ANDROID_BASE_STRING_FORMAT_H 46