/*
 * This file is part of the Cforall project
 *
 * $Id: ImplementationType.h,v 1.3 2005/08/29 20:14:17 rcbilson Exp $
 *
 */

#ifndef SYMTAB_IMPLEMENTATIONTYPE_H
#define SYMTAB_IMPLEMENTATIONTYPE_H

#include "SynTree/SynTree.h"
#include "SymTab/Indexer.h"

namespace SymTab {

Type *implementationType( Type *, const SymTab::Indexer &indexer );

template< typename InputIterator, typename OutputIterator >
void
implementationTypeList( InputIterator begin, InputIterator end, OutputIterator out, const SymTab::Indexer &indexer )
{
  while( begin != end ) {
    *out++ = implementationType( *begin++, indexer );
  }
}

} // namespace SymTab

#endif /* #ifndef SYMTAB_IMPLEMENTATIONTYPE_H */
