diff options
Diffstat (limited to 'Swiften/Base/Algorithm.h')
| -rw-r--r-- | Swiften/Base/Algorithm.h | 11 | 
1 files changed, 11 insertions, 0 deletions
| diff --git a/Swiften/Base/Algorithm.h b/Swiften/Base/Algorithm.h index ea9530b..4d7f1de 100644 --- a/Swiften/Base/Algorithm.h +++ b/Swiften/Base/Algorithm.h @@ -93,6 +93,17 @@ namespace Swift {  		target.insert(target.end(), source.begin(), source.end());  	} +	template<typename A, typename B, typename C, typename D>  +	B get(const std::map<A, B, C, D>& map, const A& key, const B& defaultValue) { +		typename std::map<A, B, C, D>::const_iterator i = map.find(key); +		if (i != map.end()) { +			return i->second; +		} +		else { +			return defaultValue; +		} +	} +  	/*  	 * Functors  	 */ | 
 Swift
 Swift