void HardwareBufferManagerBase::destroyAllDeclarations()
	{
		VertexDeclarationList::iterator decl;
		for (decl = mVertexDeclarations.begin(); decl != mVertexDeclarations.end(); ++decl)
		{
			destroyVertexDeclarationImpl(*decl);
		}
		mVertexDeclarations.clear();
	}
 //-----------------------------------------------------------------------
 void HardwareBufferManagerBase::destroyAllDeclarations(void)
 {
     OGRE_LOCK_MUTEX(mVertexDeclarationsMutex);
     VertexDeclarationList::iterator decl;
     for (decl = mVertexDeclarations.begin(); decl != mVertexDeclarations.end(); ++decl)
     {
         destroyVertexDeclarationImpl(*decl);
     }
     mVertexDeclarations.clear();
 }
    //-----------------------------------------------------------------------
    void HardwareBufferManagerBase::destroyVertexDeclaration(VertexDeclaration* decl)
    {
		OGRE_LOCK_MUTEX(mVertexDeclarationsMutex)
        mVertexDeclarations.erase(decl);
        destroyVertexDeclarationImpl(decl);
    }
	void HardwareBufferManagerBase::destroyVertexDeclaration(VertexDeclaration* decl)
	{
		mVertexDeclarations.erase(decl);
		destroyVertexDeclarationImpl(decl);
	}