SYNOPSIS:
	int mappingp(mixed arg)

DESCRIPTION:
	Return 1 if the argument is a mapping, or 0 if it is not. 

SEE ALSO:
	intp(E), stringp(E), objectp(E), pointerp(E), mkmapping(E),
	m_indices(E), m_values(E), m_delete(E), sizeof(E)
