indexing description: "[ Strategies for computing several features of subsets. The computing strategy is optimized depending on the type of elements contained in the set. ]" status: "See notice at end of class" date: "$Date$" revision: "$Revision$" deferred class SUBSET_STRATEGY [G] feature -- Comparison disjoint (set1, set2: TRAVERSABLE_SUBSET [G]): BOOLEAN is -- Are `set1' and `set2' disjoint? require sets_exist: set1 /= Void and set2 /= Void same_rule: set1.object_comparison = set2.object_comparison deferred end feature -- Basic operations symdif (set1, set2: TRAVERSABLE_SUBSET [G]) is -- Remove all items of `set1' that are also in `set2', and add all -- items of `set2' not already present in `set1'. require sets_exist: set1 /= Void and set2 /= Void same_rule: set1.object_comparison = set2.object_comparison deferred end indexing library: "[ EiffelBase: Library of reusable components for Eiffel. ]" status: "[ Copyright 1986-2001 Interactive Software Engineering (ISE). For ISE customers the original versions are an ISE product covered by the ISE Eiffel license and support agreements. ]" license: "[ EiffelBase may now be used by anyone as FREE SOFTWARE to develop any product, public-domain or commercial, without payment to ISE, under the terms of the ISE Free Eiffel Library License (IFELL) at http://eiffel.com/products/base/license.html. ]" source: "[ Interactive Software Engineering Inc. ISE Building 360 Storke Road, Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Electronic mail Customer support http://support.eiffel.com ]" info: "[ For latest info see award-winning pages: http://eiffel.com ]" end -- class SUBSET_STRATEGY