source: cpp/common/util-string.h @ 1276

Last change on this file since 1276 was 1276, checked in by Maciej Komosinski, 8 months ago

Added ends_with() for std::string

  • Property svn:eol-style set to native
File size: 1.3 KB
Line 
1// This file is a part of Framsticks SDK.  http://www.framsticks.com/
2// Copyright (C) 1999-2023  Maciej Komosinski and Szymon Ulatowski.
3// See LICENSE.txt for details.
4
5#ifndef _UTIL_STRINGS_H_
6#define _UTIL_STRINGS_H_
7
8#include "nonstd_stl.h"
9#include <stdarg.h>
10
11string repr(const char *str);
12
13char* strmove(char *a, char *b); //strcpy that works well for overlapping strings ("Source and destination overlap")
14bool str_starts_with(const char *str, const char *prefix);
15inline bool starts_with(const string& str, const char *prefix) { return str_starts_with(str.c_str(),prefix); } //std::string.starts_with(...) since c++20
16bool ends_with(std::string_view str, std::string_view suffix);
17
18string ssprintf(const char* format, ...);
19string ssprintf_va(const char* format, va_list ap);
20
21string stripExt(const string& filename); // strip extension from filename
22string getFileExt(const string& filename); // get extension (starting with ".") from filename
23string getFileDir(const string& filename); // get path component excluding filename ("" if no dir in file)
24string stripFileDir(const string& filename); // strip path component from filename
25
26void ltrim_inplace(string &s);
27void rtrim_inplace(string &s);
28void trim_inplace(string &s);
29string ltrim(string s);
30string rtrim(string s);
31string trim(string s);
32
33#endif
Note: See TracBrowser for help on using the repository browser.