parameters: (task)
return_statement: return (tmp.nodes, tmp.names)
docstring: Get the dependencies using a c/c++ preprocessor, this is required for finding dependencies of the kind::
  
  		#include some_macro()
  
  	This function is bound as a task method on :py:class:`waflib.Tools.c.c` and :py:class:`waflib.Tools.cxx.cxx` for example
docstring_summary: Get the dependencies using a c/c++ preprocessor, this is required for finding dependencies of the kind::
docstring_tokens: Get the dependencies using a c / c ++ preprocessor this is required for finding dependencies of the kind ::
function: def scan(task):
  	"""
  	Get the dependencies using a c/c++ preprocessor, this is required for finding dependencies of the kind::
  
  		#include some_macro()
  
  	This function is bound as a task method on :py:class:`waflib.Tools.c.c` and :py:class:`waflib.Tools.cxx.cxx` for example
  	"""
  
  	global go_absolute
  
  	try:
  		incn = task.generator.includes_nodes
  	except AttributeError:
  		raise Errors.WafError('%r is missing a feature such as "c", "cxx" or "includes": ' % task.generator)
  
  	if go_absolute:
  		nodepaths = incn + [task.generator.bld.root.find_dir(x) for x in standard_includes]
  	else:
  		nodepaths = [x for x in incn if x.is_child_of(x.ctx.srcnode) or x.is_child_of(x.ctx.bldnode)]
  		
  	tmp = c_parser(nodepaths)	
  	tmp.start(task.inputs[0], task.env)
  		
  	if Logs.verbose:
  		debug('deps: deps for %r: %r; unresolved %r' % (task.inputs, tmp.nodes, tmp.names))
  	return (tmp.nodes, tmp.names)
function_tokens: def scan ( task ) : global go_absolute try : incn = task . generator . includes_nodes except AttributeError : raise Errors . WafError ( '%r is missing a feature such as "c", "cxx" or "includes": ' % task . generator ) if go_absolute : nodepaths = incn + [ task . generator . bld . root . find_dir ( x ) for x in standard_includes ] else : nodepaths = [ x for x in incn if x . is_child_of ( x . ctx . srcnode ) or x . is_child_of ( x . ctx . bldnode ) ] tmp = c_parser ( nodepaths ) tmp . start ( task . inputs [ 0 ] , task . env ) if Logs . verbose : debug ( 'deps: deps for %r: %r; unresolved %r' % ( task . inputs , tmp . nodes , tmp . names ) ) return ( tmp . nodes , tmp . names )