diff --git a/source/graphics/ShaderDefines.cpp b/source/graphics/ShaderDefines.cpp index 19e178038c..28af3fbe8a 100644 --- a/source/graphics/ShaderDefines.cpp +++ b/source/graphics/ShaderDefines.cpp @@ -86,7 +86,7 @@ typename CShaderParams::SItems* CShaderParams::GetInterned(con { ENSURE(ThreadUtil::IsMainThread()); // s_InternedItems is not thread-safe - InternedItems_t::iterator it = s_InternedItems.find(items); + typename InternedItems_t::iterator it = s_InternedItems.find(items); if (it != s_InternedItems.end()) return it->second.get(); @@ -113,10 +113,10 @@ void CShaderParams::Set(CStrIntern name, const value_t& value) { SItems items = *m_Items; - SItems::Item addedItem = std::make_pair(name, value); + typename SItems::Item addedItem = std::make_pair(name, value); // Add the new item in a way that preserves the sortedness and uniqueness of item names - for (std::vector::iterator it = items.items.begin(); ; ++it) + for (typename std::vector::iterator it = items.items.begin(); ; ++it) { if (it == items.items.end() || addedItem.first < it->first) { @@ -234,8 +234,8 @@ void CShaderUniforms::BindUniforms(const CShaderProgramPtr& shader) const // Explicit instantiations: -boost::unordered_map::SItems, shared_ptr::SItems> > CShaderParams::s_InternedItems; -boost::unordered_map::SItems, shared_ptr::SItems> > CShaderParams::s_InternedItems; +template<> CShaderParams::InternedItems_t CShaderParams::s_InternedItems = CShaderParams::InternedItems_t(); +template<> CShaderParams::InternedItems_t CShaderParams::s_InternedItems = CShaderParams::InternedItems_t(); template class CShaderParams; template class CShaderParams;