/*! \brief Sets the Types for the Kernel objects.
  *
  * Note that this Progam should not be built.
*/
void ocl::Program::setTypes(const utl::Types& types)
{
    TRUE_ASSERT(!types.empty(), "Types should not be empty");
    TRUE_ASSERT(!this->isBuilt(), "Program already built.");
    _types = types;

}
/*! \brief Sets the Types for the Kernel objects.
  *
  * Note that this Progam should not be built.
*/
void ocl::Program::setTypes(const utl::Types& types)
{
	if(types.empty()) throw std::runtime_error( "Types should not be empty");
	if(this->isBuilt()) throw std::runtime_error( "Program already built.");
	_types = types;
}