6 changed files with 66 additions and 29 deletions
			
			
		@ -0,0 +1,34 @@
					 | 
				
			||||
/*
 | 
				
			||||
 * Copyright (C) 2023 Riyyi | 
				
			||||
 * | 
				
			||||
 * SPDX-License-Identifier: MIT | 
				
			||||
 */ | 
				
			||||
 | 
				
			||||
#pragma once | 
				
			||||
 | 
				
			||||
#include <string> | 
				
			||||
#include <string_view> | 
				
			||||
 | 
				
			||||
namespace blaze { | 
				
			||||
 | 
				
			||||
template<typename It, typename C> | 
				
			||||
inline bool isLast(It it, const C& container) | 
				
			||||
{ | 
				
			||||
	return (it != container.end()) && (next(it) == container.end()); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
inline std::string replaceAll(std::string text, std::string_view search, std::string_view replace) | 
				
			||||
{ | 
				
			||||
	size_t search_length = search.length(); | 
				
			||||
	size_t replace_length = replace.length(); | 
				
			||||
	size_t position = text.find(search, 0); | 
				
			||||
	while (position != std::string::npos) { | 
				
			||||
		text.replace(position, search_length, replace); | 
				
			||||
		position += replace_length; | 
				
			||||
		position = text.find(search, position); | 
				
			||||
	} | 
				
			||||
 | 
				
			||||
	return text; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
} // namespace blaze
 | 
				
			||||
					Loading…
					
					
				
		Reference in new issue