ISoundShaderPtr SoundManager::getSoundShader(const std::string& shaderName) { ensureShadersLoaded(); ShaderMap::const_iterator found = _shaders.find(shaderName); // If the name was found, return it, otherwise return an empty shader object return (found != _shaders.end()) ? found->second : _emptyShader; }
// Enumerate shaders void SoundManager::forEachShader(std::function<void(const ISoundShader&)> f) { ensureShadersLoaded(); for (const ShaderMap::value_type& pair : _shaders) { f(*pair.second); } }
// Enumerate shaders void SoundManager::forEachShader(boost::function<void(const ISoundShader&)> f) const { ensureShadersLoaded(); for (ShaderMap::const_iterator i = _shaders.begin(); i != _shaders.end(); ++i) { f(*i->second); } }