blob: 40ffff881e0e9ff7a8fdd7269c49b824173ba449 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2007, 2012 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* QNX - Initial API and implementation
* Sergey Prigogin (Google)
* Markus Schorn (Wind River Systems)
*******************************************************************************/
package org.eclipse.cdt.internal.core.dom.parser.cpp;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateInstance;
/**
* Caches instances per template, the template definitions need to implement this interface
*/
public interface ICPPInstanceCache {
/**
* Attempts to cache an instance with this template
*/
public void addInstance(ICPPTemplateArgument[] arguments, ICPPTemplateInstance instance);
/**
* Attempts to get a cached instance from this template
*/
public ICPPTemplateInstance getInstance(ICPPTemplateArgument[] arguments);
/**
* Returns an array of all cached instances
*/
public ICPPTemplateInstance[] getAllInstances();
}