 
 
 
B.2  Decomposing ECLiPSe terms in C++
The following methods type-check an ECLiPSe term and
retrieve its contents if it is of the correct type.
The return code is EC_succeed for successful conversion,
an error code otherwise.
- 
int EC_word::is_atom(EC_atom *)
-  
 checks whether the ECLiPSe pword is an atom, and if so,
	return its atom identifier.
- int EC_word::is_string(char **)
-  
 checks whether the EC_word is a string (or atom) and converts
	it to a C++ string. This string is volatile, ie. it should be copied
	when it is required to survive resuming of ECLiPSe.
- int EC_word::is_string(char **, long *)
-  
 checks whether the EC_word is a string (or atom) and converts
	it to a C++ string. This string is volatile, ie. it should be copied
	when it is required to survive resuming of ECLiPSe.
	The string’s length is returned in the second argument.
- int EC_word::is_long(long *)
-  
 checks whether the EC_word is an integer that fits into
	a C++ long, and if so, stores it via the pointer provided.
- int EC_word::is_long_long(long long *)
-  
 checks whether the EC_word is an integer that fits into
	a C++ long long, and if so, stores it via the pointer provided.
- int EC_word::is_double(double *)
-  
 checks whether the EC_word is a floating point number,
	and if so, returns it as an C++ double.
- int EC_word::is_list(EC_word&,EC_word&)
-  
 checks whether the EC_word is a list and if so, returns its head and tail.
- int EC_word::is_nil()
-  
 checks whether the EC_word is nil, the empty list.
- int EC_word::functor(EC_functor *)
-  
 checks whether the EC_word is a compound term and if so,
	returns its functor.
- int EC_word::arg(const int,EC_word&)
-  
 checks whether the EC_word is a compound term and if so,
	returns its nth argument.
- int EC_word::arity()
-  
 returns the arity of an EC_word if it is a compound term,
	zero otherwise.
- int EC_word::is_handle(const t_ext_type *, t_ext_ptr *)
-  
 checks whether the EC_word is a handle whose method table
	matches the given one, and if so, the data pointer is returned.
- int EC_word::is_var()
-  
 checks whether the EC_word is a variable.
	Returns EC_succeed if so, EC_fail otherwise.
 
 
