Twitch SDK (Internal)
stringutilities.h
Go to the documentation of this file.
1 /********************************************************************************************
2 * Twitch Broadcasting SDK
3 *
4 * This software is supplied under the terms of a license agreement with Twitch Interactive, Inc. and
5 * may not be copied or used except in accordance with the terms of that agreement
6 * Copyright (c) 2012-2016 Twitch Interactive, Inc.
7 *********************************************************************************************/
8 
9 #pragma once
10 
12 
13 #include <vector>
14 
15 
16 namespace ttv
17 {
18  bool IsValidChannelName(const std::string& channelName);
19  bool IsValidUserName(const std::string& userName);
20  bool IsValidOAuthToken(const std::string& oauthToken);
21  int IsWhitespace(int ch);
22  std::string ToLowerCase(const std::string& str);
23  void Trim(std::string& str);
24  void Split(const std::string& str, std::vector<std::string>& result, char sep, bool includeEmpty);
25  void Split(const std::string& str, const std::string& delim, std::vector<std::string>& result);
26  bool StartsWith(const std::string& str, const std::string& prefix);
27  bool EndsWith(const std::string& str, const std::string& suffix);
28  bool RFC3339TimeToUnixTimestamp(const std::string& str, Timestamp& result);
29  std::string UnixTimestampToRFC3339String(Timestamp timestamp);
30 
35  void SafeStringCopy(char* dst, const char* src, size_t maxLen);
36 
40  std::string GetGuid();
41 
42  std::vector<std::string> ParseArguments(std::string args);
43 
51  bool ParseNum(const std::string& str, int& out);
52  bool ParseNum(const std::string& str, signed char& out);
53  bool ParseNum(const std::string& str, short int& out);
54  bool ParseNum(const std::string& str, long int& out);
55  bool ParseNum(const std::string& str, long long int& out);
56  bool ParseNum(const std::string& str, unsigned int& out);
57  bool ParseNum(const std::string& str, unsigned char& out);
58  bool ParseNum(const std::string& str, unsigned short int& out);
59  bool ParseNum(const std::string& str, unsigned long int& out);
60  bool ParseNum(const std::string& str, unsigned long long int& out);
61  bool ParseNum(const std::string& str, float& out);
62  bool ParseNum(const std::string& str, double& out);
63  bool ParseNum(const std::string& str, long double& out);
64  bool ParseNum(const std::string& str, char& out);
65 }
bool IsValidOAuthToken(const std::string &oauthToken)
bool ParseNum(const std::string &str, int &out)
int IsWhitespace(int ch)
bool RFC3339TimeToUnixTimestamp(const std::string &str, Timestamp &result)
bool StartsWith(const std::string &str, const std::string &prefix)
void Split(const std::string &str, std::vector< std::string > &result, char sep, bool includeEmpty)
void SafeStringCopy(char *dst, const char *src, size_t maxLen)
std::string GetGuid()
uint32_t Timestamp
Definition: coretypes.h:27
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
bool IsValidUserName(const std::string &userName)
std::vector< std::string > ParseArguments(std::string args)
std::string UnixTimestampToRFC3339String(Timestamp timestamp)
bool EndsWith(const std::string &str, const std::string &suffix)
bool IsValidChannelName(const std::string &channelName)
void Trim(std::string &str)
std::string ToLowerCase(const std::string &str)