git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@53 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
		
			
				
	
	
		
			93 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | |
| :- protocol(classp).
 | |
| 
 | |
| 
 | |
| 	:- info([
 | |
| 		version is 1.0,
 | |
| 		authors is 'Paulo Moura',
 | |
| 		date is 2000/7/24,
 | |
| 		comment is 'Default protocol for all instantiable classes.']).
 | |
| 
 | |
| 
 | |
| 	:- public(new/1).
 | |
| 
 | |
| 	:- mode(new(?object), zero_or_one).
 | |
| 
 | |
| 	:- info(new/1, [
 | |
| 		comment is 'Creates a new instance.',
 | |
| 		argnames is ['Instance']]).
 | |
| 
 | |
| 
 | |
| 	:- public(new/2).
 | |
| 
 | |
| 	:- mode(new(?object, +list), zero_or_one).
 | |
| 
 | |
| 	:- info(new/2, [
 | |
| 		comment is 'Creates a new instance using a list of initialization options.',
 | |
| 		argnames is ['Instance', 'Options']]).
 | |
| 
 | |
| 
 | |
| 	:- public(clone/2).
 | |
| 
 | |
| 	:- mode(clone(+object, ?object), zero_or_one).
 | |
| 
 | |
| 	:- info(clone/2, [
 | |
| 		comment is 'Clones an instance.',
 | |
| 		argnames is ['Instance', 'Clone']]).
 | |
| 
 | |
| 
 | |
| 	:- public(instance_base_name/1).
 | |
| 
 | |
| 	:- mode(instance_base_name(-atom), one).
 | |
| 
 | |
| 	:- info(instance_base_name/1, [
 | |
| 		comment is 'Base name to generated new instance names.',
 | |
| 		argnames is ['Name']]).
 | |
| 
 | |
| 
 | |
| 	:- public(delete/1).
 | |
| 
 | |
| 	:- mode(delete(+object), zero_or_one).
 | |
| 
 | |
| 	:- info(delete/1, [
 | |
| 		comment is 'Deletes a dynamic instance.',
 | |
| 		argnames is ['Instance']]).
 | |
| 
 | |
| 
 | |
| 	:- public(delete/2).
 | |
| 
 | |
| 	:- mode(delete(+object, +list), zero_or_one).
 | |
| 
 | |
| 	:- info(delete/2, [
 | |
| 		comment is 'Deletes a dynamic instance using a list of deleting options.',
 | |
| 		argnames is ['Instance', 'Options']]).
 | |
| 
 | |
| 
 | |
| 	:- public(delete_all/0).
 | |
| 
 | |
| 	:- mode(delete_all, zero_or_one).
 | |
| 
 | |
| 	:- info(delete_all/0, [
 | |
| 		comment is 'Deletes all dynamic instances. Fails if some dynamic instance can not be deleted.']).
 | |
| 
 | |
| 
 | |
| 	:- public(delete_all/1).
 | |
| 
 | |
| 	:- mode(delete_all(+list), zero_or_one).
 | |
| 
 | |
| 	:- info(delete_all/1, [
 | |
| 		comment is 'Deletes all dynamic instances using a list of deleting options. Fails if some dynamic instance can not be deleted.',
 | |
| 		argnames is ['Options']]).
 | |
| 
 | |
| 
 | |
| 	:- public(equals/2).
 | |
| 
 | |
| 	:- mode(equals(+object, +object), zero_or_one).
 | |
| 
 | |
| 	:- info(equals/2, [
 | |
| 		comment is 'The two instances represents the same object for some definition of equality.',
 | |
| 		argnames is ['Instance1', 'Instance2']]).
 | |
| 
 | |
| 
 | |
| :- end_protocol.
 |