nhibernate 1.2.1.4000

Sign up to get free protection for your applications and to get access to all the features.
Files changed (175) hide show
  1. data/docs/nhibernate-configuration.xsd +79 -0
  2. data/docs/nhibernate-mapping.xsd +1197 -0
  3. data/docs/releasenotes.txt +978 -0
  4. data/lib/net-1.1/Bamboo.Prevalence.Util.dll +0 -0
  5. data/lib/net-1.1/Bamboo.Prevalence.dll +0 -0
  6. data/lib/net-1.1/Bamboo.Prevalence.license.txt +31 -0
  7. data/lib/net-1.1/Castle.DynamicProxy.dll +0 -0
  8. data/lib/net-1.1/Castle.DynamicProxy.license.txt +13 -0
  9. data/lib/net-1.1/Castle.DynamicProxy.xml +687 -0
  10. data/lib/net-1.1/HashCodeProvider.dll +0 -0
  11. data/lib/net-1.1/HashCodeProvider.license.txt +9 -0
  12. data/lib/net-1.1/ICSharpCode.SharpZipLib.dll +0 -0
  13. data/lib/net-1.1/Iesi.Collections.Test.dll +0 -0
  14. data/lib/net-1.1/Iesi.Collections.Test.dll-results.xml +125 -0
  15. data/lib/net-1.1/Iesi.Collections.dll +0 -0
  16. data/lib/net-1.1/Iesi.Collections.license.txt +9 -0
  17. data/lib/net-1.1/Iesi.Collections.xml +927 -0
  18. data/lib/net-1.1/Memcached.ClientLibrary.dll +0 -0
  19. data/lib/net-1.1/Memcached.ClientLibrary.license.txt +504 -0
  20. data/lib/net-1.1/NHibernate.Caches.MemCache.Tests.dll +0 -0
  21. data/lib/net-1.1/NHibernate.Caches.MemCache.Tests.dll.config +38 -0
  22. data/lib/net-1.1/NHibernate.Caches.MemCache.dll +0 -0
  23. data/lib/net-1.1/NHibernate.Caches.MemCache.xml +57 -0
  24. data/lib/net-1.1/NHibernate.Caches.Prevalence.Tests.dll +0 -0
  25. data/lib/net-1.1/NHibernate.Caches.Prevalence.Tests.dll-results.xml +50 -0
  26. data/lib/net-1.1/NHibernate.Caches.Prevalence.Tests.dll.config +46 -0
  27. data/lib/net-1.1/NHibernate.Caches.Prevalence.dll +0 -0
  28. data/lib/net-1.1/NHibernate.Caches.Prevalence.xml +149 -0
  29. data/lib/net-1.1/NHibernate.Caches.SysCache.Tests.dll +0 -0
  30. data/lib/net-1.1/NHibernate.Caches.SysCache.Tests.dll-results.xml +62 -0
  31. data/lib/net-1.1/NHibernate.Caches.SysCache.Tests.dll.config +36 -0
  32. data/lib/net-1.1/NHibernate.Caches.SysCache.dll +0 -0
  33. data/lib/net-1.1/NHibernate.Caches.SysCache.xml +144 -0
  34. data/lib/net-1.1/NHibernate.DomainModel.dll +0 -0
  35. data/lib/net-1.1/NHibernate.DomainModel.xml +1298 -0
  36. data/lib/net-1.1/NHibernate.Examples.dll +0 -0
  37. data/lib/net-1.1/NHibernate.Examples.dll.config +80 -0
  38. data/lib/net-1.1/NHibernate.JetDriver.dll +0 -0
  39. data/lib/net-1.1/NHibernate.JetDriver.xml +220 -0
  40. data/lib/net-1.1/NHibernate.Mapping.Attributes.Test.dll +0 -0
  41. data/lib/net-1.1/NHibernate.Mapping.Attributes.Test.dll-results.xml +31 -0
  42. data/lib/net-1.1/NHibernate.Mapping.Attributes.dll +0 -0
  43. data/lib/net-1.1/NHibernate.Mapping.Attributes.xml +2796 -0
  44. data/lib/net-1.1/NHibernate.Tasks.dll +0 -0
  45. data/lib/net-1.1/NHibernate.Tasks.xml +107 -0
  46. data/lib/net-1.1/NHibernate.Test.Performance.dll +0 -0
  47. data/lib/net-1.1/NHibernate.Test.Performance.dll.config +196 -0
  48. data/lib/net-1.1/NHibernate.Test.dll +0 -0
  49. data/lib/net-1.1/NHibernate.Test.dll-results.xml +2629 -0
  50. data/lib/net-1.1/NHibernate.Test.dll.config +255 -0
  51. data/lib/net-1.1/NHibernate.Tool.hbm2net.Console.exe +0 -0
  52. data/lib/net-1.1/NHibernate.Tool.hbm2net.Tests.dll +0 -0
  53. data/lib/net-1.1/NHibernate.Tool.hbm2net.Tests.dll-results.xml +52 -0
  54. data/lib/net-1.1/NHibernate.Tool.hbm2net.Tests.dll.config +23 -0
  55. data/lib/net-1.1/NHibernate.Tool.hbm2net.dll +0 -0
  56. data/lib/net-1.1/NHibernate.Tool.hbm2net.xml +1058 -0
  57. data/lib/net-1.1/NHibernate.UserTypes.Oracle.dll +0 -0
  58. data/lib/net-1.1/NHibernate.UserTypes.Oracle.xml +23 -0
  59. data/lib/net-1.1/NHibernate.UserTypes.SqlTypes.dll +0 -0
  60. data/lib/net-1.1/NHibernate.UserTypes.SqlTypes.xml +21 -0
  61. data/lib/net-1.1/NHibernate.UserTypes.Tests.dll +0 -0
  62. data/lib/net-1.1/NHibernate.UserTypes.Tests.dll-results.xml +85 -0
  63. data/lib/net-1.1/NHibernate.UserTypes.Tests.dll.config +67 -0
  64. data/lib/net-1.1/NHibernate.dll +0 -0
  65. data/lib/net-1.1/NHibernate.license.txt +460 -0
  66. data/lib/net-1.1/NHibernate.xml +29071 -0
  67. data/lib/net-1.1/NVelocity.dll +0 -0
  68. data/lib/net-1.1/NVelocity.license.txt +234 -0
  69. data/lib/net-1.1/Nullables.NHibernate.dll +0 -0
  70. data/lib/net-1.1/Nullables.NHibernate.xml +155 -0
  71. data/lib/net-1.1/Nullables.Tests.dll +0 -0
  72. data/lib/net-1.1/Nullables.Tests.dll-results.xml +139 -0
  73. data/lib/net-1.1/Nullables.Tests.dll.config +67 -0
  74. data/lib/net-1.1/Nullables.dll +0 -0
  75. data/lib/net-1.1/Nullables.xml +90 -0
  76. data/lib/net-1.1/hibernate.cfg.xml +24 -0
  77. data/lib/net-1.1/log.txt +0 -0
  78. data/lib/net-1.1/log4net.dll +0 -0
  79. data/lib/net-1.1/log4net.license.txt +201 -0
  80. data/lib/net-1.1/log4net.xml +28655 -0
  81. data/lib/net-1.1/nant/NAnt.Core.dll +0 -0
  82. data/lib/net-1.1/nant/NAnt.Core.license.txt +340 -0
  83. data/lib/net-1.1/nant/NAnt.Core.xml +14881 -0
  84. data/lib/net-1.1/nant/log4net.dll +0 -0
  85. data/lib/net-1.1/nmock.dll +0 -0
  86. data/lib/net-1.1/nmock.license.txt +34 -0
  87. data/lib/net-1.1/nunit.core.dll +0 -0
  88. data/lib/net-1.1/nunit.framework.dll +0 -0
  89. data/lib/net-1.1/nunit.framework.license.txt +14 -0
  90. data/lib/net-2.0/Bamboo.Prevalence.Util.dll +0 -0
  91. data/lib/net-2.0/Bamboo.Prevalence.dll +0 -0
  92. data/lib/net-2.0/Bamboo.Prevalence.license.txt +31 -0
  93. data/lib/net-2.0/Castle.DynamicProxy.dll +0 -0
  94. data/lib/net-2.0/Castle.DynamicProxy.license.txt +13 -0
  95. data/lib/net-2.0/Castle.DynamicProxy.xml +687 -0
  96. data/lib/net-2.0/ICSharpCode.SharpZipLib.dll +0 -0
  97. data/lib/net-2.0/Iesi.Collections.Test.dll +0 -0
  98. data/lib/net-2.0/Iesi.Collections.Test.dll-results.xml +211 -0
  99. data/lib/net-2.0/Iesi.Collections.dll +0 -0
  100. data/lib/net-2.0/Iesi.Collections.license.txt +9 -0
  101. data/lib/net-2.0/Iesi.Collections.xml +1887 -0
  102. data/lib/net-2.0/Lucene.Net.dll +0 -0
  103. data/lib/net-2.0/Lucene.Net.xml +6740 -0
  104. data/lib/net-2.0/Memcached.ClientLibrary.dll +0 -0
  105. data/lib/net-2.0/Memcached.ClientLibrary.license.txt +504 -0
  106. data/lib/net-2.0/NHibernate.Caches.MemCache.Tests.dll +0 -0
  107. data/lib/net-2.0/NHibernate.Caches.MemCache.Tests.dll.config +38 -0
  108. data/lib/net-2.0/NHibernate.Caches.MemCache.dll +0 -0
  109. data/lib/net-2.0/NHibernate.Caches.MemCache.xml +57 -0
  110. data/lib/net-2.0/NHibernate.Caches.Prevalence.Tests.dll +0 -0
  111. data/lib/net-2.0/NHibernate.Caches.Prevalence.Tests.dll-results.xml +50 -0
  112. data/lib/net-2.0/NHibernate.Caches.Prevalence.Tests.dll.config +46 -0
  113. data/lib/net-2.0/NHibernate.Caches.Prevalence.dll +0 -0
  114. data/lib/net-2.0/NHibernate.Caches.Prevalence.xml +149 -0
  115. data/lib/net-2.0/NHibernate.Caches.SysCache.Tests.dll +0 -0
  116. data/lib/net-2.0/NHibernate.Caches.SysCache.Tests.dll-results.xml +62 -0
  117. data/lib/net-2.0/NHibernate.Caches.SysCache.Tests.dll.config +36 -0
  118. data/lib/net-2.0/NHibernate.Caches.SysCache.dll +0 -0
  119. data/lib/net-2.0/NHibernate.Caches.SysCache.xml +144 -0
  120. data/lib/net-2.0/NHibernate.Caches.SysCache2.dll +0 -0
  121. data/lib/net-2.0/NHibernate.Caches.SysCache2.xml +805 -0
  122. data/lib/net-2.0/NHibernate.DomainModel.dll +0 -0
  123. data/lib/net-2.0/NHibernate.DomainModel.xml +1298 -0
  124. data/lib/net-2.0/NHibernate.Examples.dll +0 -0
  125. data/lib/net-2.0/NHibernate.Examples.dll.config +80 -0
  126. data/lib/net-2.0/NHibernate.JetDriver.dll +0 -0
  127. data/lib/net-2.0/NHibernate.JetDriver.xml +220 -0
  128. data/lib/net-2.0/NHibernate.Mapping.Attributes.Test.dll +0 -0
  129. data/lib/net-2.0/NHibernate.Mapping.Attributes.Test.dll-results.xml +31 -0
  130. data/lib/net-2.0/NHibernate.Mapping.Attributes.dll +0 -0
  131. data/lib/net-2.0/NHibernate.Mapping.Attributes.xml +2796 -0
  132. data/lib/net-2.0/NHibernate.Tasks.dll +0 -0
  133. data/lib/net-2.0/NHibernate.Tasks.xml +107 -0
  134. data/lib/net-2.0/NHibernate.Test.Performance.dll +0 -0
  135. data/lib/net-2.0/NHibernate.Test.Performance.dll.config +196 -0
  136. data/lib/net-2.0/NHibernate.Test.dll +0 -0
  137. data/lib/net-2.0/NHibernate.Test.dll-results.xml +2809 -0
  138. data/lib/net-2.0/NHibernate.Test.dll.config +255 -0
  139. data/lib/net-2.0/NHibernate.Tool.hbm2net.Console.exe +0 -0
  140. data/lib/net-2.0/NHibernate.Tool.hbm2net.Tests.dll +0 -0
  141. data/lib/net-2.0/NHibernate.Tool.hbm2net.Tests.dll-results.xml +52 -0
  142. data/lib/net-2.0/NHibernate.Tool.hbm2net.Tests.dll.config +23 -0
  143. data/lib/net-2.0/NHibernate.Tool.hbm2net.dll +0 -0
  144. data/lib/net-2.0/NHibernate.Tool.hbm2net.xml +1058 -0
  145. data/lib/net-2.0/NHibernate.UserTypes.Oracle.dll +0 -0
  146. data/lib/net-2.0/NHibernate.UserTypes.Oracle.xml +23 -0
  147. data/lib/net-2.0/NHibernate.UserTypes.SqlTypes.dll +0 -0
  148. data/lib/net-2.0/NHibernate.UserTypes.SqlTypes.xml +21 -0
  149. data/lib/net-2.0/NHibernate.UserTypes.Tests.dll +0 -0
  150. data/lib/net-2.0/NHibernate.UserTypes.Tests.dll-results.xml +85 -0
  151. data/lib/net-2.0/NHibernate.UserTypes.Tests.dll.config +67 -0
  152. data/lib/net-2.0/NHibernate.dll +0 -0
  153. data/lib/net-2.0/NHibernate.license.txt +460 -0
  154. data/lib/net-2.0/NHibernate.xml +29887 -0
  155. data/lib/net-2.0/NVelocity.dll +0 -0
  156. data/lib/net-2.0/NVelocity.license.txt +234 -0
  157. data/lib/net-2.0/Nullables.NHibernate.dll +0 -0
  158. data/lib/net-2.0/Nullables.NHibernate.xml +155 -0
  159. data/lib/net-2.0/Nullables.Tests.dll +0 -0
  160. data/lib/net-2.0/Nullables.Tests.dll-results.xml +139 -0
  161. data/lib/net-2.0/Nullables.Tests.dll.config +67 -0
  162. data/lib/net-2.0/Nullables.dll +0 -0
  163. data/lib/net-2.0/Nullables.xml +90 -0
  164. data/lib/net-2.0/hibernate.cfg.xml +24 -0
  165. data/lib/net-2.0/log.txt +0 -0
  166. data/lib/net-2.0/nant/NAnt.Core.dll +0 -0
  167. data/lib/net-2.0/nant/NAnt.Core.license.txt +340 -0
  168. data/lib/net-2.0/nant/NAnt.Core.xml +14881 -0
  169. data/lib/net-2.0/nant/log4net.dll +0 -0
  170. data/lib/net-2.0/nmock.dll +0 -0
  171. data/lib/net-2.0/nmock.license.txt +34 -0
  172. data/lib/net-2.0/nunit.core.dll +0 -0
  173. data/lib/net-2.0/nunit.framework.dll +0 -0
  174. data/lib/net-2.0/nunit.framework.license.txt +14 -0
  175. metadata +268 -0
@@ -0,0 +1,211 @@
1
+ <?xml version="1.0" encoding="utf-8" standalone="no"?>
2
+ <!--This file represents the results of running a test suite-->
3
+ <test-results name="C:\DATA\Projects\nhibernate\1.2.x\NH-spare1\build\NHibernate-1.2.1.GA\bin\net-2.0\Iesi.Collections.Test.dll" total="153" failures="0" not-run="0" date="2007-11-24" time="05:24:01">
4
+ <environment nunit-version="2.2.8.0" clr-version="2.0.50727.832" os-version="Microsoft Windows NT 5.1.2600 Service Pack 2" platform="Win32NT" cwd="C:\DATA\Projects\nhibernate\1.2.x\NH-spare1" machine-name="CORP-2B5TWB1" user="kchu" user-domain="LIFEMARK" />
5
+ <culture-info current-culture="en-CA" current-uiculture="en-US" />
6
+ <test-suite name="C:\DATA\Projects\nhibernate\1.2.x\NH-spare1\build\NHibernate-1.2.1.GA\bin\net-2.0\Iesi.Collections.Test.dll" success="True" time="0.313" asserts="0">
7
+ <results>
8
+ <test-suite name="Iesi" success="True" time="0.297" asserts="0">
9
+ <results>
10
+ <test-suite name="Iesi.Collections" success="True" time="0.297" asserts="0">
11
+ <results>
12
+ <test-suite name="Iesi.Collections.Generic" success="True" time="0.219" asserts="0">
13
+ <results>
14
+ <test-suite name="Iesi.Collections.Generic.Test" success="True" time="0.203" asserts="0">
15
+ <results>
16
+ <test-suite name="Iesi.Collections.Generic.Test.HashedSetFixture" success="True" time="0.109" asserts="0">
17
+ <results>
18
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.Serialization" executed="True" success="True" time="0.078" asserts="4" />
19
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.Clone" executed="True" success="True" time="0.000" asserts="6" />
20
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.CopyTo" executed="True" success="True" time="0.000" asserts="4" />
21
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.Count" executed="True" success="True" time="0.000" asserts="2" />
22
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.CtorWithDefaults" executed="True" success="True" time="0.000" asserts="4" />
23
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.Add" executed="True" success="True" time="0.000" asserts="4" />
24
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.AddAll" executed="True" success="True" time="0.000" asserts="3" />
25
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.Clear" executed="True" success="True" time="0.000" asserts="1" />
26
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.Contains" executed="True" success="True" time="0.000" asserts="2" />
27
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.ContainsAll" executed="True" success="True" time="0.000" asserts="2" />
28
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.ExclusiveOr" executed="True" success="True" time="0.016" asserts="11" />
29
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.Intersect" executed="True" success="True" time="0.000" asserts="8" />
30
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.IsEmpty" executed="True" success="True" time="0.000" asserts="2" />
31
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.Minus" executed="True" success="True" time="0.000" asserts="8" />
32
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.Remove" executed="True" success="True" time="0.000" asserts="4" />
33
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.RemoveAll" executed="True" success="True" time="0.000" asserts="3" />
34
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.RetainAll" executed="True" success="True" time="0.000" asserts="3" />
35
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.Union" executed="True" success="True" time="0.000" asserts="13" />
36
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.ExclusiveOrOperator" executed="True" success="True" time="0.000" asserts="6" />
37
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.IntersectOperator" executed="True" success="True" time="0.016" asserts="3" />
38
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.MinusOperator" executed="True" success="True" time="0.000" asserts="5" />
39
+ <test-case name="Iesi.Collections.Generic.Test.HashedSetFixture.GenericSetFixture.UnionOperator" executed="True" success="True" time="0.000" asserts="8" />
40
+ </results>
41
+ </test-suite>
42
+ <test-suite name="Iesi.Collections.Generic.Test.ImmutableSetFixture" success="True" time="0.016" asserts="0">
43
+ <results>
44
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.Clone" executed="True" success="True" time="0.000" asserts="5" />
45
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.CopyTo" executed="True" success="True" time="0.000" asserts="4" />
46
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.Count" executed="True" success="True" time="0.000" asserts="2" />
47
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.CtorWithDefaults" executed="True" success="True" time="0.000" asserts="4" />
48
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.Add" executed="True" success="True" time="0.000" asserts="0" />
49
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.AddAll" executed="True" success="True" time="0.000" asserts="0" />
50
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.Clear" executed="True" success="True" time="0.000" asserts="0" />
51
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.Contains" executed="True" success="True" time="0.000" asserts="2" />
52
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.ContainsAll" executed="True" success="True" time="0.000" asserts="2" />
53
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.ExclusiveOr" executed="True" success="True" time="0.016" asserts="11" />
54
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.Intersect" executed="True" success="True" time="0.000" asserts="8" />
55
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.IsEmpty" executed="True" success="True" time="0.000" asserts="2" />
56
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.Minus" executed="True" success="True" time="0.000" asserts="8" />
57
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.Remove" executed="True" success="True" time="0.000" asserts="0" />
58
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.RemoveAll" executed="True" success="True" time="0.000" asserts="0" />
59
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.RetainAll" executed="True" success="True" time="0.000" asserts="0" />
60
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.Union" executed="True" success="True" time="0.000" asserts="13" />
61
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.ExclusiveOrOperator" executed="True" success="True" time="0.000" asserts="6" />
62
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.IntersectOperator" executed="True" success="True" time="0.000" asserts="3" />
63
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.MinusOperator" executed="True" success="True" time="0.000" asserts="5" />
64
+ <test-case name="Iesi.Collections.Generic.Test.ImmutableSetFixture.GenericSetFixture.UnionOperator" executed="True" success="True" time="0.000" asserts="8" />
65
+ </results>
66
+ </test-suite>
67
+ <test-suite name="Iesi.Collections.Generic.Test.SortedSetFixture" success="True" time="0.078" asserts="0">
68
+ <results>
69
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.OrderedEnumeration" executed="True" success="True" time="0.047" asserts="3" />
70
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.OrderedCaseInsensitiveEnumeration" executed="True" success="True" time="0.016" asserts="3" />
71
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.Clone" executed="True" success="True" time="0.000" asserts="6" />
72
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.CopyTo" executed="True" success="True" time="0.000" asserts="4" />
73
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.Count" executed="True" success="True" time="0.000" asserts="2" />
74
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.CtorWithDefaults" executed="True" success="True" time="0.000" asserts="4" />
75
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.Add" executed="True" success="True" time="0.000" asserts="4" />
76
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.AddAll" executed="True" success="True" time="0.000" asserts="3" />
77
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.Clear" executed="True" success="True" time="0.000" asserts="1" />
78
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.Contains" executed="True" success="True" time="0.000" asserts="2" />
79
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.ContainsAll" executed="True" success="True" time="0.000" asserts="2" />
80
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.ExclusiveOr" executed="True" success="True" time="0.016" asserts="11" />
81
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.Intersect" executed="True" success="True" time="0.000" asserts="8" />
82
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.IsEmpty" executed="True" success="True" time="0.000" asserts="2" />
83
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.Minus" executed="True" success="True" time="0.000" asserts="8" />
84
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.Remove" executed="True" success="True" time="0.000" asserts="4" />
85
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.RemoveAll" executed="True" success="True" time="0.000" asserts="3" />
86
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.RetainAll" executed="True" success="True" time="0.000" asserts="3" />
87
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.Union" executed="True" success="True" time="0.000" asserts="13" />
88
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.ExclusiveOrOperator" executed="True" success="True" time="0.000" asserts="6" />
89
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.IntersectOperator" executed="True" success="True" time="0.000" asserts="3" />
90
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.MinusOperator" executed="True" success="True" time="0.000" asserts="5" />
91
+ <test-case name="Iesi.Collections.Generic.Test.SortedSetFixture.GenericSetFixture.UnionOperator" executed="True" success="True" time="0.000" asserts="8" />
92
+ </results>
93
+ </test-suite>
94
+ </results>
95
+ </test-suite>
96
+ </results>
97
+ </test-suite>
98
+ <test-suite name="Iesi.Collections.Test" success="True" time="0.078" asserts="0">
99
+ <results>
100
+ <test-suite name="Iesi.Collections.Test.HashedSetFixture" success="True" time="0.016" asserts="0">
101
+ <results>
102
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.Serialization" executed="True" success="True" time="0.000" asserts="4" />
103
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.Clone" executed="True" success="True" time="0.000" asserts="6" />
104
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.CopyTo" executed="True" success="True" time="0.000" asserts="4" />
105
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.Count" executed="True" success="True" time="0.000" asserts="2" />
106
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.CtorWithDefaults" executed="True" success="True" time="0.016" asserts="4" />
107
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.Add" executed="True" success="True" time="0.000" asserts="4" />
108
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.AddAll" executed="True" success="True" time="0.000" asserts="3" />
109
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.Clear" executed="True" success="True" time="0.000" asserts="1" />
110
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.Contains" executed="True" success="True" time="0.000" asserts="2" />
111
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.ContainsAll" executed="True" success="True" time="0.000" asserts="2" />
112
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.ExclusiveOr" executed="True" success="True" time="0.000" asserts="11" />
113
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.Intersect" executed="True" success="True" time="0.000" asserts="8" />
114
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.IsEmpty" executed="True" success="True" time="0.000" asserts="2" />
115
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.Minus" executed="True" success="True" time="0.000" asserts="8" />
116
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.Remove" executed="True" success="True" time="0.000" asserts="4" />
117
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.RemoveAll" executed="True" success="True" time="0.000" asserts="3" />
118
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.RetainAll" executed="True" success="True" time="0.000" asserts="3" />
119
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.Union" executed="True" success="True" time="0.000" asserts="13" />
120
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.ExclusiveOrOperator" executed="True" success="True" time="0.000" asserts="6" />
121
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.IntersectOperator" executed="True" success="True" time="0.000" asserts="3" />
122
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.MinusOperator" executed="True" success="True" time="0.000" asserts="5" />
123
+ <test-case name="Iesi.Collections.Test.HashedSetFixture.SetFixture.UnionOperator" executed="True" success="True" time="0.000" asserts="8" />
124
+ </results>
125
+ </test-suite>
126
+ <test-suite name="Iesi.Collections.Test.HybridSetFixture" success="True" time="0.016" asserts="0">
127
+ <results>
128
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.Clone" executed="True" success="True" time="0.000" asserts="6" />
129
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.CopyTo" executed="True" success="True" time="0.000" asserts="4" />
130
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.Count" executed="True" success="True" time="0.000" asserts="2" />
131
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.CtorWithDefaults" executed="True" success="True" time="0.000" asserts="4" />
132
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.Add" executed="True" success="True" time="0.000" asserts="4" />
133
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.AddAll" executed="True" success="True" time="0.000" asserts="3" />
134
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.Clear" executed="True" success="True" time="0.000" asserts="1" />
135
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.Contains" executed="True" success="True" time="0.000" asserts="2" />
136
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.ContainsAll" executed="True" success="True" time="0.000" asserts="2" />
137
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.ExclusiveOr" executed="True" success="True" time="0.000" asserts="11" />
138
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.Intersect" executed="True" success="True" time="0.000" asserts="8" />
139
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.IsEmpty" executed="True" success="True" time="0.000" asserts="2" />
140
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.Minus" executed="True" success="True" time="0.000" asserts="8" />
141
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.Remove" executed="True" success="True" time="0.000" asserts="4" />
142
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.RemoveAll" executed="True" success="True" time="0.000" asserts="3" />
143
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.RetainAll" executed="True" success="True" time="0.000" asserts="3" />
144
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.Union" executed="True" success="True" time="0.000" asserts="13" />
145
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.ExclusiveOrOperator" executed="True" success="True" time="0.000" asserts="6" />
146
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.IntersectOperator" executed="True" success="True" time="0.000" asserts="3" />
147
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.MinusOperator" executed="True" success="True" time="0.000" asserts="5" />
148
+ <test-case name="Iesi.Collections.Test.HybridSetFixture.SetFixture.UnionOperator" executed="True" success="True" time="0.000" asserts="8" />
149
+ </results>
150
+ </test-suite>
151
+ <test-suite name="Iesi.Collections.Test.ListSetFixture" success="True" time="0.016" asserts="0">
152
+ <results>
153
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.Clone" executed="True" success="True" time="0.000" asserts="6" />
154
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.CopyTo" executed="True" success="True" time="0.000" asserts="4" />
155
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.Count" executed="True" success="True" time="0.000" asserts="2" />
156
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.CtorWithDefaults" executed="True" success="True" time="0.000" asserts="4" />
157
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.Add" executed="True" success="True" time="0.000" asserts="4" />
158
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.AddAll" executed="True" success="True" time="0.000" asserts="3" />
159
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.Clear" executed="True" success="True" time="0.000" asserts="1" />
160
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.Contains" executed="True" success="True" time="0.000" asserts="2" />
161
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.ContainsAll" executed="True" success="True" time="0.000" asserts="2" />
162
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.ExclusiveOr" executed="True" success="True" time="0.000" asserts="11" />
163
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.Intersect" executed="True" success="True" time="0.000" asserts="8" />
164
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.IsEmpty" executed="True" success="True" time="0.000" asserts="2" />
165
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.Minus" executed="True" success="True" time="0.000" asserts="8" />
166
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.Remove" executed="True" success="True" time="0.000" asserts="4" />
167
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.RemoveAll" executed="True" success="True" time="0.000" asserts="3" />
168
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.RetainAll" executed="True" success="True" time="0.000" asserts="3" />
169
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.Union" executed="True" success="True" time="0.000" asserts="13" />
170
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.ExclusiveOrOperator" executed="True" success="True" time="0.000" asserts="6" />
171
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.IntersectOperator" executed="True" success="True" time="0.000" asserts="3" />
172
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.MinusOperator" executed="True" success="True" time="0.000" asserts="5" />
173
+ <test-case name="Iesi.Collections.Test.ListSetFixture.SetFixture.UnionOperator" executed="True" success="True" time="0.000" asserts="8" />
174
+ </results>
175
+ </test-suite>
176
+ <test-suite name="Iesi.Collections.Test.SortedSetFixture" success="True" time="0.031" asserts="0">
177
+ <results>
178
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.OrderedEnumeration" executed="True" success="True" time="0.000" asserts="3" />
179
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.OrderedCaseInsensitiveEnumeration" executed="True" success="True" time="0.000" asserts="3" />
180
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.Clone" executed="True" success="True" time="0.000" asserts="6" />
181
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.CopyTo" executed="True" success="True" time="0.000" asserts="4" />
182
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.Count" executed="True" success="True" time="0.000" asserts="2" />
183
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.CtorWithDefaults" executed="True" success="True" time="0.000" asserts="4" />
184
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.Add" executed="True" success="True" time="0.000" asserts="4" />
185
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.AddAll" executed="True" success="True" time="0.000" asserts="3" />
186
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.Clear" executed="True" success="True" time="0.000" asserts="1" />
187
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.Contains" executed="True" success="True" time="0.000" asserts="2" />
188
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.ContainsAll" executed="True" success="True" time="0.000" asserts="2" />
189
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.ExclusiveOr" executed="True" success="True" time="0.000" asserts="11" />
190
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.Intersect" executed="True" success="True" time="0.000" asserts="8" />
191
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.IsEmpty" executed="True" success="True" time="0.000" asserts="2" />
192
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.Minus" executed="True" success="True" time="0.000" asserts="8" />
193
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.Remove" executed="True" success="True" time="0.000" asserts="4" />
194
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.RemoveAll" executed="True" success="True" time="0.000" asserts="3" />
195
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.RetainAll" executed="True" success="True" time="0.000" asserts="3" />
196
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.Union" executed="True" success="True" time="0.000" asserts="13" />
197
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.ExclusiveOrOperator" executed="True" success="True" time="0.000" asserts="6" />
198
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.IntersectOperator" executed="True" success="True" time="0.000" asserts="3" />
199
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.MinusOperator" executed="True" success="True" time="0.000" asserts="5" />
200
+ <test-case name="Iesi.Collections.Test.SortedSetFixture.SetFixture.UnionOperator" executed="True" success="True" time="0.000" asserts="8" />
201
+ </results>
202
+ </test-suite>
203
+ </results>
204
+ </test-suite>
205
+ </results>
206
+ </test-suite>
207
+ </results>
208
+ </test-suite>
209
+ </results>
210
+ </test-suite>
211
+ </test-results>
@@ -0,0 +1,9 @@
1
+ Copyright � 2002-2004 by Aidant Systems, Inc., and by Jason Smith.
2
+
3
+ Copied from http://www.codeproject.com/csharp/sets.asp#xx703510xx that was posted by JasonSmith 12:13 2 Jan '04
4
+
5
+ Feel free to use this code any way you want to. As a favor to me, you can leave the copyright in there. You never know when someone might recognize your name!
6
+
7
+ If you do use the code in a commercial product, I would appreciate hearing about it. This message serves as legal notice that I won't be suing you for royalties! The code is in the public domain.
8
+
9
+ On the other hand, I don't provide support. The code is actually simple enough that it shouldn't need it.
@@ -0,0 +1,1887 @@
1
+ <?xml version="1.0"?>
2
+ <doc>
3
+ <assembly>
4
+ <name>Iesi.Collections</name>
5
+ </assembly>
6
+ <members>
7
+ <member name="T:Iesi.Collections.Generic.DictionarySet`1">
8
+ <summary>
9
+ <p><c>DictionarySet</c> is an abstract class that supports the creation of new <c>Set</c>
10
+ types where the underlying data store is an <c>IDictionary</c> instance.</p>
11
+
12
+ <p>You can use any object that implements the <c>IDictionary</c> interface to hold set data.
13
+ You can define your own, or you can use one of the objects provided in the Framework.
14
+ The type of <c>IDictionary</c> you choose will affect both the performance and the behavior
15
+ of the <c>Set</c> using it. </p>
16
+
17
+ <p>To make a <c>Set</c> typed based on your own <c>IDictionary</c>, simply derive a
18
+ new class with a constructor that takes no parameters. Some <c>Set</c> implmentations
19
+ cannot be defined with a default constructor. If this is the case for your class,
20
+ you will need to override <c>Clone()</c> as well.</p>
21
+
22
+ <p>It is also standard practice that at least one of your constructors takes an <c>ICollection</c> or
23
+ an <c>ISet</c> as an argument.</p>
24
+ </summary>
25
+ </member>
26
+ <member name="T:Iesi.Collections.Generic.Set`1">
27
+ <summary><p>A collection that contains no duplicate elements. This class models the mathematical
28
+ <c>Set</c> abstraction, and is the base class for all other <c>Set</c> implementations.
29
+ The order of elements in a set is dependant on (a)the data-structure implementation, and
30
+ (b)the implementation of the various <c>Set</c> methods, and thus is not guaranteed.</p>
31
+
32
+ <p>None of the <c>Set</c> implementations in this library are guranteed to be thread-safe
33
+ in any way unless wrapped in a <c>SynchronizedSet</c>.</p>
34
+
35
+ <p>The following table summarizes the binary operators that are supported by the <c>Set</c> class.</p>
36
+ <list type="table">
37
+ <listheader>
38
+ <term>Operation</term>
39
+ <term>Description</term>
40
+ <term>Method</term>
41
+ <term>Operator</term>
42
+ </listheader>
43
+ <item>
44
+ <term>Union (OR)</term>
45
+ <term>Element included in result if it exists in either <c>A</c> OR <c>B</c>.</term>
46
+ <term><c>Union()</c></term>
47
+ <term><c>|</c></term>
48
+ </item>
49
+ <item>
50
+ <term>Intersection (AND)</term>
51
+ <term>Element included in result if it exists in both <c>A</c> AND <c>B</c>.</term>
52
+ <term><c>InterSect()</c></term>
53
+ <term><c>&amp;</c></term>
54
+ </item>
55
+ <item>
56
+ <term>Exclusive Or (XOR)</term>
57
+ <term>Element included in result if it exists in one, but not both, of <c>A</c> and <c>B</c>.</term>
58
+ <term><c>ExclusiveOr()</c></term>
59
+ <term><c>^</c></term>
60
+ </item>
61
+ <item>
62
+ <term>Minus (n/a)</term>
63
+ <term>Take all the elements in <c>A</c>. Now, if any of them exist in <c>B</c>, remove
64
+ them. Note that unlike the other operators, <c>A - B</c> is not the same as <c>B - A</c>.</term>
65
+ <term><c>Minus()</c></term>
66
+ <term><c>-</c></term>
67
+ </item>
68
+ </list>
69
+ </summary>
70
+ </member>
71
+ <member name="T:Iesi.Collections.Generic.ISet`1">
72
+ <summary>
73
+ <p>A collection that contains no duplicate elements. This interface models the mathematical
74
+ <c>Set</c> abstraction.
75
+ The order of elements in a set is dependant on (a)the data-structure implementation, and
76
+ (b)the implementation of the various <c>Set</c> methods, and thus is not guaranteed.</p>
77
+
78
+ <p>None of the <c>Set</c> implementations in this library are guranteed to be thread-safe
79
+ in any way unless wrapped in a <c>SynchronizedSet</c>.</p>
80
+
81
+ <p>The following table summarizes the binary operators that are supported by the <c>Set</c> class.</p>
82
+ <list type="table">
83
+ <listheader>
84
+ <term>Operation</term>
85
+ <term>Description</term>
86
+ <term>Method</term>
87
+ </listheader>
88
+ <item>
89
+ <term>Union (OR)</term>
90
+ <term>Element included in result if it exists in either <c>A</c> OR <c>B</c>.</term>
91
+ <term><c>Union()</c></term>
92
+ </item>
93
+ <item>
94
+ <term>Intersection (AND)</term>
95
+ <term>Element included in result if it exists in both <c>A</c> AND <c>B</c>.</term>
96
+ <term><c>InterSect()</c></term>
97
+ </item>
98
+ <item>
99
+ <term>Exclusive Or (XOR)</term>
100
+ <term>Element included in result if it exists in one, but not both, of <c>A</c> and <c>B</c>.</term>
101
+ <term><c>ExclusiveOr()</c></term>
102
+ </item>
103
+ <item>
104
+ <term>Minus (n/a)</term>
105
+ <term>Take all the elements in <c>A</c>. Now, if any of them exist in <c>B</c>, remove
106
+ them. Note that unlike the other operators, <c>A - B</c> is not the same as <c>B - A</c>.</term>
107
+ <term><c>Minus()</c></term>
108
+ </item>
109
+ </list>
110
+ </summary>
111
+ </member>
112
+ <member name="M:Iesi.Collections.Generic.ISet`1.Union(Iesi.Collections.Generic.ISet{`0})">
113
+ <summary>
114
+ Performs a "union" of the two sets, where all the elements
115
+ in both sets are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
116
+ Neither this set nor the input set are modified during the operation. The return value
117
+ is a <c>Clone()</c> of this set with the extra elements added in.
118
+ </summary>
119
+ <param name="a">A collection of elements.</param>
120
+ <returns>A new <c>Set</c> containing the union of this <c>Set</c> with the specified collection.
121
+ Neither of the input objects is modified by the union.</returns>
122
+ </member>
123
+ <member name="M:Iesi.Collections.Generic.ISet`1.Intersect(Iesi.Collections.Generic.ISet{`0})">
124
+ <summary>
125
+ Performs an "intersection" of the two sets, where only the elements
126
+ that are present in both sets remain. That is, the element is included if it exists in
127
+ both sets. The <c>Intersect()</c> operation does not modify the input sets. It returns
128
+ a <c>Clone()</c> of this set with the appropriate elements removed.
129
+ </summary>
130
+ <param name="a">A set of elements.</param>
131
+ <returns>The intersection of this set with <c>a</c>.</returns>
132
+ </member>
133
+ <member name="M:Iesi.Collections.Generic.ISet`1.Minus(Iesi.Collections.Generic.ISet{`0})">
134
+ <summary>
135
+ Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
136
+ the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
137
+ The original sets are not modified during this operation. The result set is a <c>Clone()</c>
138
+ of this <c>Set</c> containing the elements from the operation.
139
+ </summary>
140
+ <param name="a">A set of elements.</param>
141
+ <returns>A set containing the elements from this set with the elements in <c>a</c> removed.</returns>
142
+ </member>
143
+ <member name="M:Iesi.Collections.Generic.ISet`1.ExclusiveOr(Iesi.Collections.Generic.ISet{`0})">
144
+ <summary>
145
+ Performs an "exclusive-or" of the two sets, keeping only the elements that
146
+ are in one of the sets, but not in both. The original sets are not modified
147
+ during this operation. The result set is a <c>Clone()</c> of this set containing
148
+ the elements from the exclusive-or operation.
149
+ </summary>
150
+ <param name="a">A set of elements.</param>
151
+ <returns>A set containing the result of <c>a ^ b</c>.</returns>
152
+ </member>
153
+ <member name="M:Iesi.Collections.Generic.ISet`1.ContainsAll(System.Collections.Generic.ICollection{`0})">
154
+ <summary>
155
+ Returns <see langword="true" /> if the set contains all the elements in the specified collection.
156
+ </summary>
157
+ <param name="c">A collection of objects.</param>
158
+ <returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
159
+ </member>
160
+ <member name="M:Iesi.Collections.Generic.ISet`1.Add(`0)">
161
+ <summary>
162
+ Adds the specified element to this set if it is not already present.
163
+ </summary>
164
+ <param name="o">The object to add to the set.</param>
165
+ <returns><see langword="true" /> is the object was added, <see langword="false" /> if it was already present.</returns>
166
+ </member>
167
+ <member name="M:Iesi.Collections.Generic.ISet`1.AddAll(System.Collections.Generic.ICollection{`0})">
168
+ <summary>
169
+ Adds all the elements in the specified collection to the set if they are not already present.
170
+ </summary>
171
+ <param name="c">A collection of objects to add to the set.</param>
172
+ <returns><see langword="true" /> is the set changed as a result of this operation, <see langword="false" /> if not.</returns>
173
+ </member>
174
+ <member name="M:Iesi.Collections.Generic.ISet`1.RemoveAll(System.Collections.Generic.ICollection{`0})">
175
+ <summary>
176
+ Remove all the specified elements from this set, if they exist in this set.
177
+ </summary>
178
+ <param name="c">A collection of elements to remove.</param>
179
+ <returns><see langword="true" /> if the set was modified as a result of this operation.</returns>
180
+ </member>
181
+ <member name="M:Iesi.Collections.Generic.ISet`1.RetainAll(System.Collections.Generic.ICollection{`0})">
182
+ <summary>
183
+ Retains only the elements in this set that are contained in the specified collection.
184
+ </summary>
185
+ <param name="c">Collection that defines the set of elements to be retained.</param>
186
+ <returns><see langword="true" /> if this set changed as a result of this operation.</returns>
187
+ </member>
188
+ <member name="P:Iesi.Collections.Generic.ISet`1.IsEmpty">
189
+ <summary>
190
+ Returns <see langword="true" /> if this set contains no elements.
191
+ </summary>
192
+ </member>
193
+ <member name="T:Iesi.Collections.ISet">
194
+ <summary>
195
+ <p>A collection that contains no duplicate elements. This interface models the mathematical
196
+ <c>Set</c> abstraction.
197
+ The order of elements in a set is dependant on (a)the data-structure implementation, and
198
+ (b)the implementation of the various <c>Set</c> methods, and thus is not guaranteed.</p>
199
+
200
+ <p>None of the <c>Set</c> implementations in this library are guranteed to be thread-safe
201
+ in any way unless wrapped in a <c>SynchronizedSet</c>.</p>
202
+
203
+ <p>The following table summarizes the binary operators that are supported by the <c>Set</c> class.</p>
204
+ <list type="table">
205
+ <listheader>
206
+ <term>Operation</term>
207
+ <term>Description</term>
208
+ <term>Method</term>
209
+ </listheader>
210
+ <item>
211
+ <term>Union (OR)</term>
212
+ <term>Element included in result if it exists in either <c>A</c> OR <c>B</c>.</term>
213
+ <term><c>Union()</c></term>
214
+ </item>
215
+ <item>
216
+ <term>Intersection (AND)</term>
217
+ <term>Element included in result if it exists in both <c>A</c> AND <c>B</c>.</term>
218
+ <term><c>InterSect()</c></term>
219
+ </item>
220
+ <item>
221
+ <term>Exclusive Or (XOR)</term>
222
+ <term>Element included in result if it exists in one, but not both, of <c>A</c> and <c>B</c>.</term>
223
+ <term><c>ExclusiveOr()</c></term>
224
+ </item>
225
+ <item>
226
+ <term>Minus (n/a)</term>
227
+ <term>Take all the elements in <c>A</c>. Now, if any of them exist in <c>B</c>, remove
228
+ them. Note that unlike the other operators, <c>A - B</c> is not the same as <c>B - A</c>.</term>
229
+ <term><c>Minus()</c></term>
230
+ </item>
231
+ </list>
232
+ </summary>
233
+ </member>
234
+ <member name="M:Iesi.Collections.ISet.Union(Iesi.Collections.ISet)">
235
+ <summary>
236
+ Performs a "union" of the two sets, where all the elements
237
+ in both sets are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
238
+ Neither this set nor the input set are modified during the operation. The return value
239
+ is a <c>Clone()</c> of this set with the extra elements added in.
240
+ </summary>
241
+ <param name="a">A collection of elements.</param>
242
+ <returns>A new <c>Set</c> containing the union of this <c>Set</c> with the specified collection.
243
+ Neither of the input objects is modified by the union.</returns>
244
+ </member>
245
+ <member name="M:Iesi.Collections.ISet.Intersect(Iesi.Collections.ISet)">
246
+ <summary>
247
+ Performs an "intersection" of the two sets, where only the elements
248
+ that are present in both sets remain. That is, the element is included if it exists in
249
+ both sets. The <c>Intersect()</c> operation does not modify the input sets. It returns
250
+ a <c>Clone()</c> of this set with the appropriate elements removed.
251
+ </summary>
252
+ <param name="a">A set of elements.</param>
253
+ <returns>The intersection of this set with <c>a</c>.</returns>
254
+ </member>
255
+ <member name="M:Iesi.Collections.ISet.Minus(Iesi.Collections.ISet)">
256
+ <summary>
257
+ Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
258
+ the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
259
+ The original sets are not modified during this operation. The result set is a <c>Clone()</c>
260
+ of this <c>Set</c> containing the elements from the operation.
261
+ </summary>
262
+ <param name="a">A set of elements.</param>
263
+ <returns>A set containing the elements from this set with the elements in <c>a</c> removed.</returns>
264
+ </member>
265
+ <member name="M:Iesi.Collections.ISet.ExclusiveOr(Iesi.Collections.ISet)">
266
+ <summary>
267
+ Performs an "exclusive-or" of the two sets, keeping only the elements that
268
+ are in one of the sets, but not in both. The original sets are not modified
269
+ during this operation. The result set is a <c>Clone()</c> of this set containing
270
+ the elements from the exclusive-or operation.
271
+ </summary>
272
+ <param name="a">A set of elements.</param>
273
+ <returns>A set containing the result of <c>a ^ b</c>.</returns>
274
+ </member>
275
+ <member name="M:Iesi.Collections.ISet.Contains(System.Object)">
276
+ <summary>
277
+ Returns <see langword="true" /> if this set contains the specified element.
278
+ </summary>
279
+ <param name="o">The element to look for.</param>
280
+ <returns><see langword="true" /> if this set contains the specified element, <see langword="false" /> otherwise.</returns>
281
+ </member>
282
+ <member name="M:Iesi.Collections.ISet.ContainsAll(System.Collections.ICollection)">
283
+ <summary>
284
+ Returns <see langword="true" /> if the set contains all the elements in the specified collection.
285
+ </summary>
286
+ <param name="c">A collection of objects.</param>
287
+ <returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
288
+ </member>
289
+ <member name="M:Iesi.Collections.ISet.Add(System.Object)">
290
+ <summary>
291
+ Adds the specified element to this set if it is not already present.
292
+ </summary>
293
+ <param name="o">The object to add to the set.</param>
294
+ <returns><see langword="true" /> is the object was added, <see langword="false" /> if it was already present.</returns>
295
+ </member>
296
+ <member name="M:Iesi.Collections.ISet.AddAll(System.Collections.ICollection)">
297
+ <summary>
298
+ Adds all the elements in the specified collection to the set if they are not already present.
299
+ </summary>
300
+ <param name="c">A collection of objects to add to the set.</param>
301
+ <returns><see langword="true" /> is the set changed as a result of this operation, <see langword="false" /> if not.</returns>
302
+ </member>
303
+ <member name="M:Iesi.Collections.ISet.Remove(System.Object)">
304
+ <summary>
305
+ Removes the specified element from the set.
306
+ </summary>
307
+ <param name="o">The element to be removed.</param>
308
+ <returns><see langword="true" /> if the set contained the specified element, <see langword="false" /> otherwise.</returns>
309
+ </member>
310
+ <member name="M:Iesi.Collections.ISet.RemoveAll(System.Collections.ICollection)">
311
+ <summary>
312
+ Remove all the specified elements from this set, if they exist in this set.
313
+ </summary>
314
+ <param name="c">A collection of elements to remove.</param>
315
+ <returns><see langword="true" /> if the set was modified as a result of this operation.</returns>
316
+ </member>
317
+ <member name="M:Iesi.Collections.ISet.RetainAll(System.Collections.ICollection)">
318
+ <summary>
319
+ Retains only the elements in this set that are contained in the specified collection.
320
+ </summary>
321
+ <param name="c">Collection that defines the set of elements to be retained.</param>
322
+ <returns><see langword="true" /> if this set changed as a result of this operation.</returns>
323
+ </member>
324
+ <member name="M:Iesi.Collections.ISet.Clear">
325
+ <summary>
326
+ Removes all objects from the set.
327
+ </summary>
328
+ </member>
329
+ <member name="P:Iesi.Collections.ISet.IsEmpty">
330
+ <summary>
331
+ Returns <see langword="true" /> if this set contains no elements.
332
+ </summary>
333
+ </member>
334
+ <member name="M:Iesi.Collections.Generic.Set`1.Union(Iesi.Collections.Generic.ISet{`0})">
335
+ <summary>
336
+ Performs a "union" of the two sets, where all the elements
337
+ in both sets are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
338
+ Neither this set nor the input set are modified during the operation. The return value
339
+ is a <c>Clone()</c> of this set with the extra elements added in.
340
+ </summary>
341
+ <param name="a">A collection of elements.</param>
342
+ <returns>A new <c>Set</c> containing the union of this <c>Set</c> with the specified collection.
343
+ Neither of the input objects is modified by the union.</returns>
344
+ </member>
345
+ <member name="M:Iesi.Collections.Generic.Set`1.Union(Iesi.Collections.Generic.ISet{`0},Iesi.Collections.Generic.ISet{`0})">
346
+ <summary>
347
+ Performs a "union" of two sets, where all the elements
348
+ in both are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
349
+ The return value is a <c>Clone()</c> of one of the sets (<c>a</c> if it is not <see langword="null" />) with elements of the other set
350
+ added in. Neither of the input sets is modified by the operation.
351
+ </summary>
352
+ <param name="a">A set of elements.</param>
353
+ <param name="b">A set of elements.</param>
354
+ <returns>A set containing the union of the input sets. <see langword="null" /> if both sets are <see langword="null" />.</returns>
355
+ </member>
356
+ <member name="M:Iesi.Collections.Generic.Set`1.op_BitwiseOr(Iesi.Collections.Generic.Set{`0},Iesi.Collections.Generic.Set{`0})">
357
+ <summary>
358
+ Performs a "union" of two sets, where all the elements
359
+ in both are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
360
+ The return value is a <c>Clone()</c> of one of the sets (<c>a</c> if it is not <see langword="null" />) with elements of the other set
361
+ added in. Neither of the input sets is modified by the operation.
362
+ </summary>
363
+ <param name="a">A set of elements.</param>
364
+ <param name="b">A set of elements.</param>
365
+ <returns>A set containing the union of the input sets. <see langword="null" /> if both sets are <see langword="null" />.</returns>
366
+ </member>
367
+ <member name="M:Iesi.Collections.Generic.Set`1.Intersect(Iesi.Collections.Generic.ISet{`0})">
368
+ <summary>
369
+ Performs an "intersection" of the two sets, where only the elements
370
+ that are present in both sets remain. That is, the element is included if it exists in
371
+ both sets. The <c>Intersect()</c> operation does not modify the input sets. It returns
372
+ a <c>Clone()</c> of this set with the appropriate elements removed.
373
+ </summary>
374
+ <param name="a">A set of elements.</param>
375
+ <returns>The intersection of this set with <c>a</c>.</returns>
376
+ </member>
377
+ <member name="M:Iesi.Collections.Generic.Set`1.Intersect(Iesi.Collections.Generic.ISet{`0},Iesi.Collections.Generic.ISet{`0})">
378
+ <summary>
379
+ Performs an "intersection" of the two sets, where only the elements
380
+ that are present in both sets remain. That is, the element is included only if it exists in
381
+ both <c>a</c> and <c>b</c>. Neither input object is modified by the operation.
382
+ The result object is a <c>Clone()</c> of one of the input objects (<c>a</c> if it is not <see langword="null" />) containing the
383
+ elements from the intersect operation.
384
+ </summary>
385
+ <param name="a">A set of elements.</param>
386
+ <param name="b">A set of elements.</param>
387
+ <returns>The intersection of the two input sets. <see langword="null" /> if both sets are <see langword="null" />.</returns>
388
+ </member>
389
+ <member name="M:Iesi.Collections.Generic.Set`1.op_BitwiseAnd(Iesi.Collections.Generic.Set{`0},Iesi.Collections.Generic.Set{`0})">
390
+ <summary>
391
+ Performs an "intersection" of the two sets, where only the elements
392
+ that are present in both sets remain. That is, the element is included only if it exists in
393
+ both <c>a</c> and <c>b</c>. Neither input object is modified by the operation.
394
+ The result object is a <c>Clone()</c> of one of the input objects (<c>a</c> if it is not <see langword="null" />) containing the
395
+ elements from the intersect operation.
396
+ </summary>
397
+ <param name="a">A set of elements.</param>
398
+ <param name="b">A set of elements.</param>
399
+ <returns>The intersection of the two input sets. <see langword="null" /> if both sets are <see langword="null" />.</returns>
400
+ </member>
401
+ <member name="M:Iesi.Collections.Generic.Set`1.Minus(Iesi.Collections.Generic.ISet{`0})">
402
+ <summary>
403
+ Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
404
+ the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
405
+ The original sets are not modified during this operation. The result set is a <c>Clone()</c>
406
+ of this <c>Set</c> containing the elements from the operation.
407
+ </summary>
408
+ <param name="a">A set of elements.</param>
409
+ <returns>A set containing the elements from this set with the elements in <c>a</c> removed.</returns>
410
+ </member>
411
+ <member name="M:Iesi.Collections.Generic.Set`1.Minus(Iesi.Collections.Generic.ISet{`0},Iesi.Collections.Generic.ISet{`0})">
412
+ <summary>
413
+ Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
414
+ the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
415
+ The original sets are not modified during this operation. The result set is a <c>Clone()</c>
416
+ of set <c>a</c> containing the elements from the operation.
417
+ </summary>
418
+ <param name="a">A set of elements.</param>
419
+ <param name="b">A set of elements.</param>
420
+ <returns>A set containing <c>A - B</c> elements. <see langword="null" /> if <c>a</c> is <see langword="null" />.</returns>
421
+ </member>
422
+ <member name="M:Iesi.Collections.Generic.Set`1.op_Subtraction(Iesi.Collections.Generic.Set{`0},Iesi.Collections.Generic.Set{`0})">
423
+ <summary>
424
+ Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
425
+ the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
426
+ The original sets are not modified during this operation. The result set is a <c>Clone()</c>
427
+ of set <c>a</c> containing the elements from the operation.
428
+ </summary>
429
+ <param name="a">A set of elements.</param>
430
+ <param name="b">A set of elements.</param>
431
+ <returns>A set containing <c>A - B</c> elements. <see langword="null" /> if <c>a</c> is <see langword="null" />.</returns>
432
+ </member>
433
+ <member name="M:Iesi.Collections.Generic.Set`1.ExclusiveOr(Iesi.Collections.Generic.ISet{`0})">
434
+ <summary>
435
+ Performs an "exclusive-or" of the two sets, keeping only the elements that
436
+ are in one of the sets, but not in both. The original sets are not modified
437
+ during this operation. The result set is a <c>Clone()</c> of this set containing
438
+ the elements from the exclusive-or operation.
439
+ </summary>
440
+ <param name="a">A set of elements.</param>
441
+ <returns>A set containing the result of <c>a ^ b</c>.</returns>
442
+ </member>
443
+ <member name="M:Iesi.Collections.Generic.Set`1.ExclusiveOr(Iesi.Collections.Generic.ISet{`0},Iesi.Collections.Generic.ISet{`0})">
444
+ <summary>
445
+ Performs an "exclusive-or" of the two sets, keeping only the elements that
446
+ are in one of the sets, but not in both. The original sets are not modified
447
+ during this operation. The result set is a <c>Clone()</c> of one of the sets
448
+ (<c>a</c> if it is not <see langword="null" />) containing
449
+ the elements from the exclusive-or operation.
450
+ </summary>
451
+ <param name="a">A set of elements.</param>
452
+ <param name="b">A set of elements.</param>
453
+ <returns>A set containing the result of <c>a ^ b</c>. <see langword="null" /> if both sets are <see langword="null" />.</returns>
454
+ </member>
455
+ <member name="M:Iesi.Collections.Generic.Set`1.op_ExclusiveOr(Iesi.Collections.Generic.Set{`0},Iesi.Collections.Generic.Set{`0})">
456
+ <summary>
457
+ Performs an "exclusive-or" of the two sets, keeping only the elements that
458
+ are in one of the sets, but not in both. The original sets are not modified
459
+ during this operation. The result set is a <c>Clone()</c> of one of the sets
460
+ (<c>a</c> if it is not <see langword="null" />) containing
461
+ the elements from the exclusive-or operation.
462
+ </summary>
463
+ <param name="a">A set of elements.</param>
464
+ <param name="b">A set of elements.</param>
465
+ <returns>A set containing the result of <c>a ^ b</c>. <see langword="null" /> if both sets are <see langword="null" />.</returns>
466
+ </member>
467
+ <member name="M:Iesi.Collections.Generic.Set`1.Add(`0)">
468
+ <summary>
469
+ Adds the specified element to this set if it is not already present.
470
+ </summary>
471
+ <param name="o">The object to add to the set.</param>
472
+ <returns><see langword="true" /> is the object was added, <see langword="false" /> if it was already present.</returns>
473
+ </member>
474
+ <member name="M:Iesi.Collections.Generic.Set`1.AddAll(System.Collections.Generic.ICollection{`0})">
475
+ <summary>
476
+ Adds all the elements in the specified collection to the set if they are not already present.
477
+ </summary>
478
+ <param name="c">A collection of objects to add to the set.</param>
479
+ <returns><see langword="true" /> is the set changed as a result of this operation, <see langword="false" /> if not.</returns>
480
+ </member>
481
+ <member name="M:Iesi.Collections.Generic.Set`1.Clear">
482
+ <summary>
483
+ Removes all objects from the set.
484
+ </summary>
485
+ </member>
486
+ <member name="M:Iesi.Collections.Generic.Set`1.Contains(`0)">
487
+ <summary>
488
+ Returns <see langword="true" /> if this set contains the specified element.
489
+ </summary>
490
+ <param name="o">The element to look for.</param>
491
+ <returns><see langword="true" /> if this set contains the specified element, <see langword="false" /> otherwise.</returns>
492
+ </member>
493
+ <member name="M:Iesi.Collections.Generic.Set`1.ContainsAll(System.Collections.Generic.ICollection{`0})">
494
+ <summary>
495
+ Returns <see langword="true" /> if the set contains all the elements in the specified collection.
496
+ </summary>
497
+ <param name="c">A collection of objects.</param>
498
+ <returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
499
+ </member>
500
+ <member name="M:Iesi.Collections.Generic.Set`1.Remove(`0)">
501
+ <summary>
502
+ Removes the specified element from the set.
503
+ </summary>
504
+ <param name="o">The element to be removed.</param>
505
+ <returns><see langword="true" /> if the set contained the specified element, <see langword="false" /> otherwise.</returns>
506
+ </member>
507
+ <member name="M:Iesi.Collections.Generic.Set`1.RemoveAll(System.Collections.Generic.ICollection{`0})">
508
+ <summary>
509
+ Remove all the specified elements from this set, if they exist in this set.
510
+ </summary>
511
+ <param name="c">A collection of elements to remove.</param>
512
+ <returns><see langword="true" /> if the set was modified as a result of this operation.</returns>
513
+ </member>
514
+ <member name="M:Iesi.Collections.Generic.Set`1.RetainAll(System.Collections.Generic.ICollection{`0})">
515
+ <summary>
516
+ Retains only the elements in this set that are contained in the specified collection.
517
+ </summary>
518
+ <param name="c">Collection that defines the set of elements to be retained.</param>
519
+ <returns><see langword="true" /> if this set changed as a result of this operation.</returns>
520
+ </member>
521
+ <member name="M:Iesi.Collections.Generic.Set`1.Clone">
522
+ <summary>
523
+ Returns a clone of the <c>Set</c> instance. This will work for derived <c>Set</c>
524
+ classes if the derived class implements a constructor that takes no arguments.
525
+ </summary>
526
+ <returns>A clone of this object.</returns>
527
+ </member>
528
+ <member name="M:Iesi.Collections.Generic.Set`1.CopyTo(`0[],System.Int32)">
529
+ <summary>
530
+ Copies the elements in the <c>Set</c> to an array. The type of array needs
531
+ to be compatible with the objects in the <c>Set</c>, obviously.
532
+ </summary>
533
+ <param name="array">An array that will be the target of the copy operation.</param>
534
+ <param name="index">The zero-based index where copying will start.</param>
535
+ </member>
536
+ <member name="M:Iesi.Collections.Generic.Set`1.GetEnumerator">
537
+ <summary>
538
+ Gets an enumerator for the elements in the <c>Set</c>.
539
+ </summary>
540
+ <returns>An <c>IEnumerator</c> over the elements in the <c>Set</c>.</returns>
541
+ </member>
542
+ <member name="M:Iesi.Collections.Generic.Set`1.NonGenericCopyTo(System.Array,System.Int32)">
543
+ <summary>
544
+ Performs CopyTo when called trhough non-generic ISet (ICollection) interface
545
+ </summary>
546
+ <param name="array"></param>
547
+ <param name="index"></param>
548
+ </member>
549
+ <member name="M:Iesi.Collections.Generic.Set`1.NonGenericUnion(Iesi.Collections.ISet)">
550
+ <summary>
551
+ Performs Union when called trhough non-generic ISet interface
552
+ </summary>
553
+ <param name="a"></param>
554
+ <returns></returns>
555
+ </member>
556
+ <member name="M:Iesi.Collections.Generic.Set`1.NonGenericMinus(Iesi.Collections.ISet)">
557
+ <summary>
558
+ Performs Minus when called trhough non-generic ISet interface
559
+ </summary>
560
+ <param name="a"></param>
561
+ <returns></returns>
562
+ </member>
563
+ <member name="M:Iesi.Collections.Generic.Set`1.NonGenericIntersect(Iesi.Collections.ISet)">
564
+ <summary>
565
+ Performs Intersect when called trhough non-generic ISet interface
566
+ </summary>
567
+ <param name="a"></param>
568
+ <returns></returns>
569
+ </member>
570
+ <member name="M:Iesi.Collections.Generic.Set`1.NonGenericExclusiveOr(Iesi.Collections.ISet)">
571
+ <summary>
572
+ Performs ExclusiveOr when called trhough non-generic ISet interface
573
+ </summary>
574
+ <param name="a"></param>
575
+ <returns></returns>
576
+ </member>
577
+ <member name="P:Iesi.Collections.Generic.Set`1.IsEmpty">
578
+ <summary>
579
+ Returns <see langword="true" /> if this set contains no elements.
580
+ </summary>
581
+ </member>
582
+ <member name="P:Iesi.Collections.Generic.Set`1.Count">
583
+ <summary>
584
+ The number of elements currently contained in this collection.
585
+ </summary>
586
+ </member>
587
+ <member name="P:Iesi.Collections.Generic.Set`1.IsSynchronized">
588
+ <summary>
589
+ Returns <see langword="true" /> if the <c>Set</c> is synchronized across threads. Note that
590
+ enumeration is inherently not thread-safe. Use the <c>SyncRoot</c> to lock the
591
+ object during enumeration.
592
+ </summary>
593
+ </member>
594
+ <member name="P:Iesi.Collections.Generic.Set`1.SyncRoot">
595
+ <summary>
596
+ An object that can be used to synchronize this collection to make it thread-safe.
597
+ When implementing this, if your object uses a base object, like an <c>IDictionary</c>,
598
+ or anything that has a <c>SyncRoot</c>, return that object instead of "<c>this</c>".
599
+ </summary>
600
+ </member>
601
+ <member name="P:Iesi.Collections.Generic.Set`1.IsReadOnly">
602
+ <summary>
603
+ Indicates whether the given instance is read-only or not
604
+ </summary>
605
+ <value>
606
+ <see langword="true" /> if the ISet is read-only; otherwise, <see langword="false" />.
607
+ In the default implementation of Set, this property always returns false.
608
+ </value>
609
+ </member>
610
+ <member name="F:Iesi.Collections.Generic.DictionarySet`1.InternalDictionary">
611
+ <summary>
612
+ Provides the storage for elements in the <c>Set</c>, stored as the key-set
613
+ of the <c>IDictionary</c> object. Set this object in the constructor
614
+ if you create your own <c>Set</c> class.
615
+ </summary>
616
+ </member>
617
+ <member name="M:Iesi.Collections.Generic.DictionarySet`1.Add(`0)">
618
+ <summary>
619
+ Adds the specified element to this set if it is not already present.
620
+ </summary>
621
+ <param name="o">The <typeparamref name="T"/> to add to the set.</param>
622
+ <returns><see langword="true" /> is the object was added, <see langword="false" /> if it was already present.</returns>
623
+ </member>
624
+ <member name="M:Iesi.Collections.Generic.DictionarySet`1.AddAll(System.Collections.Generic.ICollection{`0})">
625
+ <summary>
626
+ Adds all the elements in the specified collection to the set if they are not already present.
627
+ </summary>
628
+ <param name="c">A collection of objects to add to the set.</param>
629
+ <returns><see langword="true" /> is the set changed as a result of this operation, <see langword="false" /> if not.</returns>
630
+ </member>
631
+ <member name="M:Iesi.Collections.Generic.DictionarySet`1.Clear">
632
+ <summary>
633
+ Removes all objects from the set.
634
+ </summary>
635
+ </member>
636
+ <member name="M:Iesi.Collections.Generic.DictionarySet`1.Contains(`0)">
637
+ <summary>
638
+ Returns <see langword="true" /> if this set contains the specified element.
639
+ </summary>
640
+ <param name="o">The element to look for.</param>
641
+ <returns><see langword="true" /> if this set contains the specified element, <see langword="false" /> otherwise.</returns>
642
+ </member>
643
+ <member name="M:Iesi.Collections.Generic.DictionarySet`1.ContainsAll(System.Collections.Generic.ICollection{`0})">
644
+ <summary>
645
+ Returns <see langword="true" /> if the set contains all the elements in the specified collection.
646
+ </summary>
647
+ <param name="c">A collection of objects.</param>
648
+ <returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
649
+ </member>
650
+ <member name="M:Iesi.Collections.Generic.DictionarySet`1.Remove(`0)">
651
+ <summary>
652
+ Removes the specified element from the set.
653
+ </summary>
654
+ <param name="o">The element to be removed.</param>
655
+ <returns><see langword="true" /> if the set contained the specified element, <see langword="false" /> otherwise.</returns>
656
+ </member>
657
+ <member name="M:Iesi.Collections.Generic.DictionarySet`1.RemoveAll(System.Collections.Generic.ICollection{`0})">
658
+ <summary>
659
+ Remove all the specified elements from this set, if they exist in this set.
660
+ </summary>
661
+ <param name="c">A collection of elements to remove.</param>
662
+ <returns><see langword="true" /> if the set was modified as a result of this operation.</returns>
663
+ </member>
664
+ <member name="M:Iesi.Collections.Generic.DictionarySet`1.RetainAll(System.Collections.Generic.ICollection{`0})">
665
+ <summary>
666
+ Retains only the elements in this set that are contained in the specified collection.
667
+ </summary>
668
+ <param name="c">Collection that defines the set of elements to be retained.</param>
669
+ <returns><see langword="true" /> if this set changed as a result of this operation.</returns>
670
+ </member>
671
+ <member name="M:Iesi.Collections.Generic.DictionarySet`1.CopyTo(`0[],System.Int32)">
672
+ <summary>
673
+ Copies the elements in the <c>Set</c> to an array of T. The type of array needs
674
+ to be compatible with the objects in the <c>Set</c>, obviously.
675
+ </summary>
676
+ <param name="array">An array that will be the target of the copy operation.</param>
677
+ <param name="index">The zero-based index where copying will start.</param>
678
+ </member>
679
+ <member name="M:Iesi.Collections.Generic.DictionarySet`1.GetEnumerator">
680
+ <summary>
681
+ Gets an enumerator for the elements in the <c>Set</c>.
682
+ </summary>
683
+ <returns>An <c>IEnumerator</c> over the elements in the <c>Set</c>.</returns>
684
+ </member>
685
+ <member name="M:Iesi.Collections.Generic.DictionarySet`1.NonGenericCopyTo(System.Array,System.Int32)">
686
+ <summary>
687
+ Copies the elements in the <c>Set</c> to an array. The type of array needs
688
+ to be compatible with the objects in the <c>Set</c>, obviously. Needed for
689
+ non-generic ISet methods implementation
690
+ </summary>
691
+ <param name="array">An array that will be the target of the copy operation.</param>
692
+ <param name="index">The zero-based index where copying will start.</param>
693
+ </member>
694
+ <member name="P:Iesi.Collections.Generic.DictionarySet`1.Placeholder">
695
+ <summary>
696
+ The placeholder object used as the value for the <c>IDictionary</c> instance.
697
+ </summary>
698
+ <remarks>
699
+ There is a single instance of this object globally, used for all <c>Sets</c>.
700
+ </remarks>
701
+ </member>
702
+ <member name="P:Iesi.Collections.Generic.DictionarySet`1.IsEmpty">
703
+ <summary>
704
+ Returns <see langword="true" /> if this set contains no elements.
705
+ </summary>
706
+ </member>
707
+ <member name="P:Iesi.Collections.Generic.DictionarySet`1.Count">
708
+ <summary>
709
+ The number of elements contained in this collection.
710
+ </summary>
711
+ </member>
712
+ <member name="P:Iesi.Collections.Generic.DictionarySet`1.IsSynchronized">
713
+ <summary>
714
+ None of the objects based on <c>DictionarySet</c> are synchronized. Use the
715
+ <c>SyncRoot</c> property instead.
716
+ </summary>
717
+ </member>
718
+ <member name="P:Iesi.Collections.Generic.DictionarySet`1.SyncRoot">
719
+ <summary>
720
+ Returns an object that can be used to synchronize the <c>Set</c> between threads.
721
+ </summary>
722
+ </member>
723
+ <member name="P:Iesi.Collections.Generic.DictionarySet`1.IsReadOnly">
724
+ <summary>
725
+ Indicates wether the <c>Set</c> is read-only or not
726
+ </summary>
727
+ </member>
728
+ <member name="T:Iesi.Collections.Generic.HashedSet`1">
729
+ <summary>
730
+ Implements a <c>Set</c> based on a Dictionary (which is equivalent of
731
+ non-genric <c>HashTable</c>) This will give the best lookup, add, and remove
732
+ performance for very large data-sets, but iteration will occur in no particular order.
733
+ </summary>
734
+ </member>
735
+ <member name="M:Iesi.Collections.Generic.HashedSet`1.#ctor">
736
+ <summary>
737
+ Creates a new set instance based on a Dictinary.
738
+ </summary>
739
+ </member>
740
+ <member name="M:Iesi.Collections.Generic.HashedSet`1.#ctor(System.Collections.Generic.ICollection{`0})">
741
+ <summary>
742
+ Creates a new set instance based on a Dictinary and
743
+ initializes it based on a collection of elements.
744
+ </summary>
745
+ <param name="initialValues">A collection of elements that defines the initial set contents.</param>
746
+ </member>
747
+ <member name="T:Iesi.Collections.Generic.ImmutableSet`1">
748
+ <summary>
749
+ <p>Implements an immutable (read-only) <c>Set</c> wrapper.</p>
750
+ <p>Although this is advertised as immutable, it really isn't. Anyone with access to the
751
+ <c>basisSet</c> can still change the data-set. So <c>GetHashCode()</c> is not implemented
752
+ for this <c>Set</c>, as is the case for all <c>Set</c> implementations in this library.
753
+ This design decision was based on the efficiency of not having to <c>Clone()</c> the
754
+ <c>basisSet</c> every time you wrap a mutable <c>Set</c>.</p>
755
+ </summary>
756
+ </member>
757
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.#ctor(Iesi.Collections.Generic.ISet{`0})">
758
+ <summary>
759
+ Constructs an immutable (read-only) <c>Set</c> wrapper.
760
+ </summary>
761
+ <param name="basisSet">The <c>Set</c> that is wrapped.</param>
762
+ </member>
763
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.Add(`0)">
764
+ <summary>
765
+ Adds the specified element to this set if it is not already present.
766
+ </summary>
767
+ <param name="o">The object to add to the set.</param>
768
+ <returns>nothing</returns>
769
+ <exception cref="T:System.NotSupportedException"> is always thrown</exception>
770
+ </member>
771
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.AddAll(System.Collections.Generic.ICollection{`0})">
772
+ <summary>
773
+ Adds all the elements in the specified collection to the set if they are not already present.
774
+ </summary>
775
+ <param name="c">A collection of objects to add to the set.</param>
776
+ <returns>nothing</returns>
777
+ <exception cref="T:System.NotSupportedException"> is always thrown</exception>
778
+ </member>
779
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.Clear">
780
+ <summary>
781
+ Removes all objects from the set.
782
+ </summary>
783
+ <exception cref="T:System.NotSupportedException"> is always thrown</exception>
784
+ </member>
785
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.Contains(`0)">
786
+ <summary>
787
+ Returns <see langword="true" /> if this set contains the specified element.
788
+ </summary>
789
+ <param name="o">The element to look for.</param>
790
+ <returns><see langword="true" /> if this set contains the specified element, <see langword="false" /> otherwise.</returns>
791
+ </member>
792
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.ContainsAll(System.Collections.Generic.ICollection{`0})">
793
+ <summary>
794
+ Returns <see langword="true" /> if the set contains all the elements in the specified collection.
795
+ </summary>
796
+ <param name="c">A collection of objects.</param>
797
+ <returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
798
+ </member>
799
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.Remove(`0)">
800
+ <summary>
801
+ Removes the specified element from the set.
802
+ </summary>
803
+ <param name="o">The element to be removed.</param>
804
+ <returns>nothing</returns>
805
+ <exception cref="T:System.NotSupportedException"> is always thrown</exception>
806
+ </member>
807
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.RemoveAll(System.Collections.Generic.ICollection{`0})">
808
+ <summary>
809
+ Remove all the specified elements from this set, if they exist in this set.
810
+ </summary>
811
+ <param name="c">A collection of elements to remove.</param>
812
+ <returns>nothing</returns>
813
+ <exception cref="T:System.NotSupportedException"> is always thrown</exception>
814
+ </member>
815
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.RetainAll(System.Collections.Generic.ICollection{`0})">
816
+ <summary>
817
+ Retains only the elements in this set that are contained in the specified collection.
818
+ </summary>
819
+ <param name="c">Collection that defines the set of elements to be retained.</param>
820
+ <returns>nothing</returns>
821
+ <exception cref="T:System.NotSupportedException"> is always thrown</exception>
822
+ </member>
823
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.CopyTo(`0[],System.Int32)">
824
+ <summary>
825
+ Copies the elements in the <c>Set</c> to an array of T. The type of array needs
826
+ to be compatible with the objects in the <c>Set</c>, obviously.
827
+ </summary>
828
+ <param name="array">An array that will be the target of the copy operation.</param>
829
+ <param name="index">The zero-based index where copying will start.</param>
830
+ </member>
831
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.GetEnumerator">
832
+ <summary>
833
+ Gets an enumerator for the elements in the <c>Set</c>.
834
+ </summary>
835
+ <returns>An <c>IEnumerator</c> over the elements in the <c>Set</c>.</returns>
836
+ </member>
837
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.Clone">
838
+ <summary>
839
+ Returns a clone of the <c>Set</c> instance.
840
+ </summary>
841
+ <returns>A clone of this object.</returns>
842
+ </member>
843
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.Union(Iesi.Collections.Generic.ISet{`0})">
844
+ <summary>
845
+ Performs a "union" of the two sets, where all the elements
846
+ in both sets are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
847
+ Neither this set nor the input set are modified during the operation. The return value
848
+ is a <c>Clone()</c> of this set with the extra elements added in.
849
+ </summary>
850
+ <param name="a">A collection of elements.</param>
851
+ <returns>A new <c>Set</c> containing the union of this <c>Set</c> with the specified collection.
852
+ Neither of the input objects is modified by the union.</returns>
853
+ </member>
854
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.Intersect(Iesi.Collections.Generic.ISet{`0})">
855
+ <summary>
856
+ Performs an "intersection" of the two sets, where only the elements
857
+ that are present in both sets remain. That is, the element is included if it exists in
858
+ both sets. The <c>Intersect()</c> operation does not modify the input sets. It returns
859
+ a <c>Clone()</c> of this set with the appropriate elements removed.
860
+ </summary>
861
+ <param name="a">A set of elements.</param>
862
+ <returns>The intersection of this set with <c>a</c>.</returns>
863
+ </member>
864
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.Minus(Iesi.Collections.Generic.ISet{`0})">
865
+ <summary>
866
+ Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
867
+ the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
868
+ The original sets are not modified during this operation. The result set is a <c>Clone()</c>
869
+ of this <c>Set</c> containing the elements from the operation.
870
+ </summary>
871
+ <param name="a">A set of elements.</param>
872
+ <returns>A set containing the elements from this set with the elements in <c>a</c> removed.</returns>
873
+ </member>
874
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.ExclusiveOr(Iesi.Collections.Generic.ISet{`0})">
875
+ <summary>
876
+ Performs an "exclusive-or" of the two sets, keeping only the elements that
877
+ are in one of the sets, but not in both. The original sets are not modified
878
+ during this operation. The result set is a <c>Clone()</c> of this set containing
879
+ the elements from the exclusive-or operation.
880
+ </summary>
881
+ <param name="a">A set of elements.</param>
882
+ <returns>A set containing the result of <c>a ^ b</c>.</returns>
883
+ </member>
884
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.NonGenericCopyTo(System.Array,System.Int32)">
885
+ <summary>
886
+ Performs CopyTo when called trhough non-generic ISet (ICollection) interface
887
+ </summary>
888
+ <param name="array"></param>
889
+ <param name="index"></param>
890
+ </member>
891
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.NonGenericUnion(Iesi.Collections.ISet)">
892
+ <summary>
893
+ Performs Union when called trhough non-generic ISet interface
894
+ </summary>
895
+ <param name="a"></param>
896
+ <returns></returns>
897
+ </member>
898
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.NonGenericMinus(Iesi.Collections.ISet)">
899
+ <summary>
900
+ Performs Minus when called trhough non-generic ISet interface
901
+ </summary>
902
+ <param name="a"></param>
903
+ <returns></returns>
904
+ </member>
905
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.NonGenericIntersect(Iesi.Collections.ISet)">
906
+ <summary>
907
+ Performs Intersect when called trhough non-generic ISet interface
908
+ </summary>
909
+ <param name="a"></param>
910
+ <returns></returns>
911
+ </member>
912
+ <member name="M:Iesi.Collections.Generic.ImmutableSet`1.NonGenericExclusiveOr(Iesi.Collections.ISet)">
913
+ <summary>
914
+ Performs ExclusiveOr when called trhough non-generic ISet interface
915
+ </summary>
916
+ <param name="a"></param>
917
+ <returns></returns>
918
+ </member>
919
+ <member name="P:Iesi.Collections.Generic.ImmutableSet`1.IsEmpty">
920
+ <summary>
921
+ Returns <see langword="true" /> if this set contains no elements.
922
+ </summary>
923
+ </member>
924
+ <member name="P:Iesi.Collections.Generic.ImmutableSet`1.Count">
925
+ <summary>
926
+ The number of elements contained in this collection.
927
+ </summary>
928
+ </member>
929
+ <member name="P:Iesi.Collections.Generic.ImmutableSet`1.IsSynchronized">
930
+ <summary>
931
+ Returns an object that can be used to synchronize use of the <c>Set</c> across threads.
932
+ </summary>
933
+ </member>
934
+ <member name="P:Iesi.Collections.Generic.ImmutableSet`1.SyncRoot">
935
+ <summary>
936
+ Returns an object that can be used to synchronize the <c>Set</c> between threads.
937
+ </summary>
938
+ </member>
939
+ <member name="P:Iesi.Collections.Generic.ImmutableSet`1.IsReadOnly">
940
+ <summary>
941
+ Indicates that the given instance is read-only
942
+ </summary>
943
+ </member>
944
+ <member name="T:Iesi.Collections.Generic.SortedSet`1">
945
+ <summary>
946
+ Implements a <c>Set</c> based on a sorted tree. This gives good performance for operations on very
947
+ large data-sets, though not as good - asymptotically - as a <c>HashedSet</c>. However, iteration
948
+ occurs in order. Elements that you put into this type of collection must implement <c>IComparable</c>,
949
+ and they must actually be comparable. You can't mix <c>string</c> and <c>int</c> values, for example.
950
+ </summary>
951
+ </member>
952
+ <member name="M:Iesi.Collections.Generic.SortedSet`1.#ctor">
953
+ <summary>
954
+ Creates a new set instance based on a sorted tree.
955
+ </summary>
956
+ </member>
957
+ <member name="M:Iesi.Collections.Generic.SortedSet`1.#ctor(System.Collections.Generic.IComparer{`0})">
958
+ <summary>
959
+ Creates a new set instance based on a sorted tree.
960
+ </summary>
961
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IComparer`1"/> to use for sorting.</param>
962
+ </member>
963
+ <member name="M:Iesi.Collections.Generic.SortedSet`1.#ctor(System.Collections.Generic.ICollection{`0})">
964
+ <summary>
965
+ Creates a new set instance based on a sorted tree and
966
+ initializes it based on a collection of elements.
967
+ </summary>
968
+ <param name="initialValues">A collection of elements that defines the initial set contents.</param>
969
+ </member>
970
+ <member name="M:Iesi.Collections.Generic.SortedSet`1.#ctor(System.Collections.ICollection)">
971
+ <summary>
972
+ Creates a new set instance based on a sorted tree and
973
+ initializes it based on a collection of elements.
974
+ </summary>
975
+ <param name="initialValues">A collection of elements that defines the initial set contents.</param>
976
+ </member>
977
+ <member name="M:Iesi.Collections.Generic.SortedSet`1.#ctor(System.Collections.Generic.ICollection{`0},System.Collections.Generic.IComparer{`0})">
978
+ <summary>
979
+ Creates a new set instance based on a sorted tree and
980
+ initializes it based on a collection of elements.
981
+ </summary>
982
+ <param name="initialValues">A collection of elements that defines the initial set contents.</param>
983
+ <param name="comparer">The <see cref="T:System.Collections.Generic.IComparer`1"/> to use for sorting.</param>
984
+ </member>
985
+ <member name="T:Iesi.Collections.Generic.SynchronizedSet`1">
986
+ <summary>
987
+ <p>Implements a thread-safe <c>Set</c> wrapper. The implementation is extremely conservative,
988
+ serializing critical sections to prevent possible deadlocks, and locking on everything.
989
+ The one exception is for enumeration, which is inherently not thread-safe. For this, you
990
+ have to <c>lock</c> the <c>SyncRoot</c> object for the duration of the enumeration.</p>
991
+ </summary>
992
+ </member>
993
+ <member name="M:Iesi.Collections.Generic.SynchronizedSet`1.#ctor(Iesi.Collections.Generic.ISet{`0})">
994
+ <summary>
995
+ Constructs a thread-safe <c>Set</c> wrapper.
996
+ </summary>
997
+ <param name="basisSet">The <c>Set</c> object that this object will wrap.</param>
998
+ </member>
999
+ <member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Add(`0)">
1000
+ <summary>
1001
+ Adds the specified element to this set if it is not already present.
1002
+ </summary>
1003
+ <param name="o">The object to add to the set.</param>
1004
+ <returns><see langword="true" /> is the object was added, <see langword="false" /> if it was already present.</returns>
1005
+ </member>
1006
+ <member name="M:Iesi.Collections.Generic.SynchronizedSet`1.AddAll(System.Collections.Generic.ICollection{`0})">
1007
+ <summary>
1008
+ Adds all the elements in the specified collection to the set if they are not already present.
1009
+ </summary>
1010
+ <param name="c">A collection of objects to add to the set.</param>
1011
+ <returns><see langword="true" /> is the set changed as a result of this operation, <see langword="false" /> if not.</returns>
1012
+ </member>
1013
+ <member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Clear">
1014
+ <summary>
1015
+ Removes all objects from the set.
1016
+ </summary>
1017
+ </member>
1018
+ <member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Contains(`0)">
1019
+ <summary>
1020
+ Returns <see langword="true" /> if this set contains the specified element.
1021
+ </summary>
1022
+ <param name="o">The element to look for.</param>
1023
+ <returns><see langword="true" /> if this set contains the specified element, <see langword="false" /> otherwise.</returns>
1024
+ </member>
1025
+ <member name="M:Iesi.Collections.Generic.SynchronizedSet`1.ContainsAll(System.Collections.Generic.ICollection{`0})">
1026
+ <summary>
1027
+ Returns <see langword="true" /> if the set contains all the elements in the specified collection.
1028
+ </summary>
1029
+ <param name="c">A collection of objects.</param>
1030
+ <returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
1031
+ </member>
1032
+ <member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Remove(`0)">
1033
+ <summary>
1034
+ Removes the specified element from the set.
1035
+ </summary>
1036
+ <param name="o">The element to be removed.</param>
1037
+ <returns><see langword="true" /> if the set contained the specified element, <see langword="false" /> otherwise.</returns>
1038
+ </member>
1039
+ <member name="M:Iesi.Collections.Generic.SynchronizedSet`1.RemoveAll(System.Collections.Generic.ICollection{`0})">
1040
+ <summary>
1041
+ Remove all the specified elements from this set, if they exist in this set.
1042
+ </summary>
1043
+ <param name="c">A collection of elements to remove.</param>
1044
+ <returns><see langword="true" /> if the set was modified as a result of this operation.</returns>
1045
+ </member>
1046
+ <member name="M:Iesi.Collections.Generic.SynchronizedSet`1.RetainAll(System.Collections.Generic.ICollection{`0})">
1047
+ <summary>
1048
+ Retains only the elements in this set that are contained in the specified collection.
1049
+ </summary>
1050
+ <param name="c">Collection that defines the set of elements to be retained.</param>
1051
+ <returns><see langword="true" /> if this set changed as a result of this operation.</returns>
1052
+ </member>
1053
+ <member name="M:Iesi.Collections.Generic.SynchronizedSet`1.CopyTo(`0[],System.Int32)">
1054
+ <summary>
1055
+ Copies the elements in the <c>Set</c> to an array. The type of array needs
1056
+ to be compatible with the objects in the <c>Set</c>, obviously.
1057
+ </summary>
1058
+ <param name="array">An array that will be the target of the copy operation.</param>
1059
+ <param name="index">The zero-based index where copying will start.</param>
1060
+ </member>
1061
+ <member name="M:Iesi.Collections.Generic.SynchronizedSet`1.GetEnumerator">
1062
+ <summary>
1063
+ Enumeration is, by definition, not thread-safe. Use a <c>lock</c> on the <c>SyncRoot</c>
1064
+ to synchronize the entire enumeration process.
1065
+ </summary>
1066
+ <returns></returns>
1067
+ </member>
1068
+ <member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Clone">
1069
+ <summary>
1070
+ Returns a clone of the <c>Set</c> instance.
1071
+ </summary>
1072
+ <returns>A clone of this object.</returns>
1073
+ </member>
1074
+ <member name="M:Iesi.Collections.Generic.SynchronizedSet`1.NonGenericCopyTo(System.Array,System.Int32)">
1075
+ <summary>
1076
+ Performs CopyTo when called trhough non-generic ISet (ICollection) interface
1077
+ </summary>
1078
+ <param name="array"></param>
1079
+ <param name="index"></param>
1080
+ </member>
1081
+ <member name="P:Iesi.Collections.Generic.SynchronizedSet`1.IsEmpty">
1082
+ <summary>
1083
+ Returns <see langword="true" /> if this set contains no elements.
1084
+ </summary>
1085
+ </member>
1086
+ <member name="P:Iesi.Collections.Generic.SynchronizedSet`1.Count">
1087
+ <summary>
1088
+ The number of elements contained in this collection.
1089
+ </summary>
1090
+ </member>
1091
+ <member name="P:Iesi.Collections.Generic.SynchronizedSet`1.IsSynchronized">
1092
+ <summary>
1093
+ Returns <see langword="true" />, indicating that this object is thread-safe. The exception to this
1094
+ is enumeration, which is inherently not thread-safe. Use the <c>SyncRoot</c> object to
1095
+ lock this object for the entire duration of the enumeration.
1096
+ </summary>
1097
+ </member>
1098
+ <member name="P:Iesi.Collections.Generic.SynchronizedSet`1.SyncRoot">
1099
+ <summary>
1100
+ Returns an object that can be used to synchronize the <c>Set</c> between threads.
1101
+ </summary>
1102
+ </member>
1103
+ <member name="P:Iesi.Collections.Generic.SynchronizedSet`1.IsReadOnly">
1104
+ <summary>
1105
+ Indicates whether given instace is read-only or not
1106
+ </summary>
1107
+ </member>
1108
+ <member name="T:Iesi.Collections.DictionarySet">
1109
+ <summary>
1110
+ <p><c>DictionarySet</c> is an abstract class that supports the creation of new <c>Set</c>
1111
+ types where the underlying data store is an <c>IDictionary</c> instance.</p>
1112
+
1113
+ <p>You can use any object that implements the <c>IDictionary</c> interface to hold set data.
1114
+ You can define your own, or you can use one of the objects provided in the Framework.
1115
+ The type of <c>IDictionary</c> you choose will affect both the performance and the behavior
1116
+ of the <c>Set</c> using it. </p>
1117
+
1118
+ <p>To make a <c>Set</c> typed based on your own <c>IDictionary</c>, simply derive a
1119
+ new class with a constructor that takes no parameters. Some <c>Set</c> implmentations
1120
+ cannot be defined with a default constructor. If this is the case for your class,
1121
+ you will need to override <c>Clone()</c> as well.</p>
1122
+
1123
+ <p>It is also standard practice that at least one of your constructors takes an <c>ICollection</c> or
1124
+ an <c>ISet</c> as an argument.</p>
1125
+ </summary>
1126
+ </member>
1127
+ <member name="T:Iesi.Collections.Set">
1128
+ <summary>A collection that contains no duplicate elements.</summary>
1129
+ <remarks>
1130
+ <para>
1131
+ This class models the mathematical set abstraction, and is the base class for all
1132
+ other set implementations. The order of elements in a set is dependant on
1133
+ (a) the data-structure implementation, and (b) the implementation of the various
1134
+ methods, and thus is not guaranteed.
1135
+ </para>
1136
+ <para>
1137
+ None of the <see cref="T:Iesi.Collections.ISet"/> implementations in this library are guranteed to be thread-safe
1138
+ in any way unless wrapped in a <see cref="T:Iesi.Collections.SynchronizedSet"/>.
1139
+ </para>
1140
+ <para>
1141
+ The following table summarizes the binary operators that are supported by the <see cref="T:Iesi.Collections.ISet"/>
1142
+ type.
1143
+ </para>
1144
+ <list type="table">
1145
+ <listheader>
1146
+ <term>Operation</term>
1147
+ <term>Description</term>
1148
+ <term>Method</term>
1149
+ <term>Operator</term>
1150
+ </listheader>
1151
+ <item>
1152
+ <term>Union (OR)</term>
1153
+ <term>Element included in result if it exists in either <c>A</c> OR <c>B</c>.</term>
1154
+ <term><c>Union()</c></term>
1155
+ <term><c>|</c></term>
1156
+ </item>
1157
+ <item>
1158
+ <term>Intersection (AND)</term>
1159
+ <term>Element included in result if it exists in both <c>A</c> AND <c>B</c>.</term>
1160
+ <term><c>InterSect()</c></term>
1161
+ <term><c>&amp;</c></term>
1162
+ </item>
1163
+ <item>
1164
+ <term>Exclusive Or (XOR)</term>
1165
+ <term>Element included in result if it exists in one, but not both, of <c>A</c> and <c>B</c>.</term>
1166
+ <term><c>ExclusiveOr()</c></term>
1167
+ <term><c>^</c></term>
1168
+ </item>
1169
+ <item>
1170
+ <term>Minus (n/a)</term>
1171
+ <term>Take all the elements in <c>A</c>. Now, if any of them exist in <c>B</c>, remove
1172
+ them. Note that unlike the other operators, <c>A - B</c> is not the same as <c>B - A</c>.</term>
1173
+ <term><c>Minus()</c></term>
1174
+ <term><c>-</c></term>
1175
+ </item>
1176
+ </list>
1177
+ </remarks>
1178
+ </member>
1179
+ <member name="M:Iesi.Collections.Set.Union(Iesi.Collections.ISet)">
1180
+ <summary>
1181
+ Performs a "union" of the two sets, where all the elements
1182
+ in both sets are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
1183
+ Neither this set nor the input set are modified during the operation. The return value
1184
+ is a clone of this set with the extra elements added in.
1185
+ </summary>
1186
+ <param name="a">A collection of elements.</param>
1187
+ <returns>A new <see cref="T:Iesi.Collections.ISet"/> instance containing the union of this instance with the specified collection.
1188
+ Neither of the input objects is modified by the union.</returns>
1189
+ </member>
1190
+ <member name="M:Iesi.Collections.Set.Union(Iesi.Collections.ISet,Iesi.Collections.ISet)">
1191
+ <summary>
1192
+ Performs a "union" of two sets, where all the elements
1193
+ in both are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
1194
+ The return value is a clone of one of the sets (<c>a</c> if it is not <see langword="null" />) with elements of the other set
1195
+ added in. Neither of the input sets is modified by the operation.
1196
+ </summary>
1197
+ <param name="a">A set of elements.</param>
1198
+ <param name="b">A set of elements.</param>
1199
+ <returns>A set containing the union of the input sets. <see langword="null" /> if both sets are <see langword="null" />.</returns>
1200
+ </member>
1201
+ <member name="M:Iesi.Collections.Set.op_BitwiseOr(Iesi.Collections.Set,Iesi.Collections.Set)">
1202
+ <summary>
1203
+ Performs a "union" of two sets, where all the elements
1204
+ in both are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
1205
+ The return value is a clone of one of the sets (<c>a</c> if it is not <see langword="null" />) with elements of the other set
1206
+ added in. Neither of the input sets is modified by the operation.
1207
+ </summary>
1208
+ <param name="a">A set of elements.</param>
1209
+ <param name="b">A set of elements.</param>
1210
+ <returns>A set containing the union of the input sets. <see langword="null" /> if both sets are <see langword="null" />.</returns>
1211
+ </member>
1212
+ <member name="M:Iesi.Collections.Set.Intersect(Iesi.Collections.ISet)">
1213
+ <summary>
1214
+ Performs an "intersection" of the two sets, where only the elements
1215
+ that are present in both sets remain. That is, the element is included if it exists in
1216
+ both sets. The <c>Intersect()</c> operation does not modify the input sets. It returns
1217
+ a <c>Clone()</c> of this set with the appropriate elements removed.
1218
+ </summary>
1219
+ <param name="a">A set of elements.</param>
1220
+ <returns>The intersection of this set with <c>a</c>.</returns>
1221
+ </member>
1222
+ <member name="M:Iesi.Collections.Set.Intersect(Iesi.Collections.ISet,Iesi.Collections.ISet)">
1223
+ <summary>
1224
+ Performs an "intersection" of the two sets, where only the elements
1225
+ that are present in both sets remain. That is, the element is included only if it exists in
1226
+ both <c>a</c> and <c>b</c>. Neither input object is modified by the operation.
1227
+ The result object is a <c>Clone()</c> of one of the input objects (<c>a</c> if it is not <see langword="null" />) containing the
1228
+ elements from the intersect operation.
1229
+ </summary>
1230
+ <param name="a">A set of elements.</param>
1231
+ <param name="b">A set of elements.</param>
1232
+ <returns>The intersection of the two input sets. <see langword="null" /> if both sets are <see langword="null" />.</returns>
1233
+ </member>
1234
+ <member name="M:Iesi.Collections.Set.op_BitwiseAnd(Iesi.Collections.Set,Iesi.Collections.Set)">
1235
+ <summary>
1236
+ Performs an "intersection" of the two sets, where only the elements
1237
+ that are present in both sets remain. That is, the element is included only if it exists in
1238
+ both <c>a</c> and <c>b</c>. Neither input object is modified by the operation.
1239
+ The result object is a <c>Clone()</c> of one of the input objects (<c>a</c> if it is not <see langword="null" />) containing the
1240
+ elements from the intersect operation.
1241
+ </summary>
1242
+ <param name="a">A set of elements.</param>
1243
+ <param name="b">A set of elements.</param>
1244
+ <returns>The intersection of the two input sets. <see langword="null" /> if both sets are <see langword="null" />.</returns>
1245
+ </member>
1246
+ <member name="M:Iesi.Collections.Set.Minus(Iesi.Collections.ISet)">
1247
+ <summary>
1248
+ Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
1249
+ the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
1250
+ The original sets are not modified during this operation. The result set is a <c>Clone()</c>
1251
+ of this <c>Set</c> containing the elements from the operation.
1252
+ </summary>
1253
+ <param name="a">A set of elements.</param>
1254
+ <returns>A set containing the elements from this set with the elements in <c>a</c> removed.</returns>
1255
+ </member>
1256
+ <member name="M:Iesi.Collections.Set.Minus(Iesi.Collections.ISet,Iesi.Collections.ISet)">
1257
+ <summary>
1258
+ Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
1259
+ the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
1260
+ The original sets are not modified during this operation. The result set is a <c>Clone()</c>
1261
+ of set <c>a</c> containing the elements from the operation.
1262
+ </summary>
1263
+ <param name="a">A set of elements.</param>
1264
+ <param name="b">A set of elements.</param>
1265
+ <returns>A set containing <c>A - B</c> elements. <see langword="null" /> if <c>a</c> is <see langword="null" />.</returns>
1266
+ </member>
1267
+ <member name="M:Iesi.Collections.Set.op_Subtraction(Iesi.Collections.Set,Iesi.Collections.Set)">
1268
+ <summary>
1269
+ Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
1270
+ the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
1271
+ The original sets are not modified during this operation. The result set is a <c>Clone()</c>
1272
+ of set <c>a</c> containing the elements from the operation.
1273
+ </summary>
1274
+ <param name="a">A set of elements.</param>
1275
+ <param name="b">A set of elements.</param>
1276
+ <returns>A set containing <c>A - B</c> elements. <see langword="null" /> if <c>a</c> is <see langword="null" />.</returns>
1277
+ </member>
1278
+ <member name="M:Iesi.Collections.Set.ExclusiveOr(Iesi.Collections.ISet)">
1279
+ <summary>
1280
+ Performs an "exclusive-or" of the two sets, keeping only the elements that
1281
+ are in one of the sets, but not in both. The original sets are not modified
1282
+ during this operation. The result set is a clone of this set containing
1283
+ the elements from the exclusive-or operation.
1284
+ </summary>
1285
+ <param name="a">A set of elements.</param>
1286
+ <returns>A set containing the result of <c>a ^ b</c>.</returns>
1287
+ </member>
1288
+ <member name="M:Iesi.Collections.Set.ExclusiveOr(Iesi.Collections.ISet,Iesi.Collections.ISet)">
1289
+ <summary>
1290
+ Performs an "exclusive-or" of the two sets, keeping only the elements that
1291
+ are in one of the sets, but not in both. The original sets are not modified
1292
+ during this operation. The result set is a clone of one of the sets
1293
+ (<c>a</c> if it is not <see langword="null" />) containing
1294
+ the elements from the exclusive-or operation.
1295
+ </summary>
1296
+ <param name="a">A set of elements.</param>
1297
+ <param name="b">A set of elements.</param>
1298
+ <returns>A set containing the result of <c>a ^ b</c>. <see langword="null" /> if both sets are <see langword="null" />.</returns>
1299
+ </member>
1300
+ <member name="M:Iesi.Collections.Set.op_ExclusiveOr(Iesi.Collections.Set,Iesi.Collections.Set)">
1301
+ <summary>
1302
+ Performs an "exclusive-or" of the two sets, keeping only the elements that
1303
+ are in one of the sets, but not in both. The original sets are not modified
1304
+ during this operation. The result set is a clone of one of the sets
1305
+ (<c>a</c> if it is not <see langword="null" />) containing
1306
+ the elements from the exclusive-or operation.
1307
+ </summary>
1308
+ <param name="a">A set of elements.</param>
1309
+ <param name="b">A set of elements.</param>
1310
+ <returns>A set containing the result of <c>a ^ b</c>. <see langword="null" /> if both sets are <see langword="null" />.</returns>
1311
+ </member>
1312
+ <member name="M:Iesi.Collections.Set.Add(System.Object)">
1313
+ <summary>
1314
+ Adds the specified element to this set if it is not already present.
1315
+ </summary>
1316
+ <param name="o">The object to add to the set.</param>
1317
+ <returns><see langword="true" /> is the object was added, <see langword="false" /> if it was already present.</returns>
1318
+ </member>
1319
+ <member name="M:Iesi.Collections.Set.AddAll(System.Collections.ICollection)">
1320
+ <summary>
1321
+ Adds all the elements in the specified collection to the set if they are not already present.
1322
+ </summary>
1323
+ <param name="c">A collection of objects to add to the set.</param>
1324
+ <returns><see langword="true" /> is the set changed as a result of this operation, <see langword="false" /> if not.</returns>
1325
+ </member>
1326
+ <member name="M:Iesi.Collections.Set.Clear">
1327
+ <summary>
1328
+ Removes all objects from the set.
1329
+ </summary>
1330
+ </member>
1331
+ <member name="M:Iesi.Collections.Set.Contains(System.Object)">
1332
+ <summary>
1333
+ Returns <see langword="true" /> if this set contains the specified element.
1334
+ </summary>
1335
+ <param name="o">The element to look for.</param>
1336
+ <returns><see langword="true" /> if this set contains the specified element, <see langword="false" /> otherwise.</returns>
1337
+ </member>
1338
+ <member name="M:Iesi.Collections.Set.ContainsAll(System.Collections.ICollection)">
1339
+ <summary>
1340
+ Returns <see langword="true" /> if the set contains all the elements in the specified collection.
1341
+ </summary>
1342
+ <param name="c">A collection of objects.</param>
1343
+ <returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
1344
+ </member>
1345
+ <member name="M:Iesi.Collections.Set.Remove(System.Object)">
1346
+ <summary>
1347
+ Removes the specified element from the set.
1348
+ </summary>
1349
+ <param name="o">The element to be removed.</param>
1350
+ <returns><see langword="true" /> if the set contained the specified element, <see langword="false" /> otherwise.</returns>
1351
+ </member>
1352
+ <member name="M:Iesi.Collections.Set.RemoveAll(System.Collections.ICollection)">
1353
+ <summary>
1354
+ Remove all the specified elements from this set, if they exist in this set.
1355
+ </summary>
1356
+ <param name="c">A collection of elements to remove.</param>
1357
+ <returns><see langword="true" /> if the set was modified as a result of this operation.</returns>
1358
+ </member>
1359
+ <member name="M:Iesi.Collections.Set.RetainAll(System.Collections.ICollection)">
1360
+ <summary>
1361
+ Retains only the elements in this set that are contained in the specified collection.
1362
+ </summary>
1363
+ <param name="c">Collection that defines the set of elements to be retained.</param>
1364
+ <returns><see langword="true" /> if this set changed as a result of this operation.</returns>
1365
+ </member>
1366
+ <member name="M:Iesi.Collections.Set.Clone">
1367
+ <summary>
1368
+ Returns a clone of the set instance. This will work for derived set
1369
+ classes if the derived class implements a constructor that takes no arguments.
1370
+ </summary>
1371
+ <returns>A clone of this object.</returns>
1372
+ </member>
1373
+ <member name="M:Iesi.Collections.Set.CopyTo(System.Array,System.Int32)">
1374
+ <summary>
1375
+ Copies the elements in the set to an array. The type of array needs
1376
+ to be compatible with the objects in the set, obviously.
1377
+ </summary>
1378
+ <param name="array">An array that will be the target of the copy operation.</param>
1379
+ <param name="index">The zero-based index where copying will start.</param>
1380
+ </member>
1381
+ <member name="M:Iesi.Collections.Set.GetEnumerator">
1382
+ <summary>
1383
+ Returns an enumerator that iterates through the set.
1384
+ </summary>
1385
+ <returns>
1386
+ An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the set.
1387
+ </returns>
1388
+ </member>
1389
+ <member name="P:Iesi.Collections.Set.IsEmpty">
1390
+ <summary>
1391
+ Returns <see langword="true" /> if this set contains no elements.
1392
+ </summary>
1393
+ </member>
1394
+ <member name="P:Iesi.Collections.Set.Count">
1395
+ <summary>
1396
+ The number of elements currently contained in this collection.
1397
+ </summary>
1398
+ </member>
1399
+ <member name="P:Iesi.Collections.Set.IsSynchronized">
1400
+ <summary>
1401
+ Returns <see langword="true"/> if the set is synchronized across threads. Note that
1402
+ enumeration is inherently not thread-safe. Use the <see cref="P:Iesi.Collections.Set.SyncRoot"/> to lock the
1403
+ object during enumeration.
1404
+ </summary>
1405
+ </member>
1406
+ <member name="P:Iesi.Collections.Set.SyncRoot">
1407
+ <summary>
1408
+ An object that can be used to synchronize this collection to make it thread-safe.
1409
+ When implementing this, if your object uses a base object, like an <see cref="T:System.Collections.IDictionary"/>,
1410
+ or anything that has a <see cref="P:Iesi.Collections.Set.SyncRoot"/>, return that object instead
1411
+ of <see langword="this"/>.
1412
+ </summary>
1413
+ </member>
1414
+ <member name="F:Iesi.Collections.DictionarySet.InternalDictionary">
1415
+ <summary>
1416
+ Provides the storage for elements in the <c>Set</c>, stored as the key-set
1417
+ of the <c>IDictionary</c> object. Set this object in the constructor
1418
+ if you create your own <c>Set</c> class.
1419
+ </summary>
1420
+ </member>
1421
+ <member name="M:Iesi.Collections.DictionarySet.Add(System.Object)">
1422
+ <summary>
1423
+ Adds the specified element to this set if it is not already present.
1424
+ </summary>
1425
+ <param name="o">The object to add to the set.</param>
1426
+ <returns><see langword="true" /> is the object was added, <see langword="false" /> if it was already present.</returns>
1427
+ </member>
1428
+ <member name="M:Iesi.Collections.DictionarySet.AddAll(System.Collections.ICollection)">
1429
+ <summary>
1430
+ Adds all the elements in the specified collection to the set if they are not already present.
1431
+ </summary>
1432
+ <param name="c">A collection of objects to add to the set.</param>
1433
+ <returns><see langword="true" /> is the set changed as a result of this operation, <see langword="false" /> if not.</returns>
1434
+ </member>
1435
+ <member name="M:Iesi.Collections.DictionarySet.Clear">
1436
+ <summary>
1437
+ Removes all objects from the set.
1438
+ </summary>
1439
+ </member>
1440
+ <member name="M:Iesi.Collections.DictionarySet.Contains(System.Object)">
1441
+ <summary>
1442
+ Returns <see langword="true" /> if this set contains the specified element.
1443
+ </summary>
1444
+ <param name="o">The element to look for.</param>
1445
+ <returns><see langword="true" /> if this set contains the specified element, <see langword="false" /> otherwise.</returns>
1446
+ </member>
1447
+ <member name="M:Iesi.Collections.DictionarySet.ContainsAll(System.Collections.ICollection)">
1448
+ <summary>
1449
+ Returns <see langword="true" /> if the set contains all the elements in the specified collection.
1450
+ </summary>
1451
+ <param name="c">A collection of objects.</param>
1452
+ <returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
1453
+ </member>
1454
+ <member name="M:Iesi.Collections.DictionarySet.Remove(System.Object)">
1455
+ <summary>
1456
+ Removes the specified element from the set.
1457
+ </summary>
1458
+ <param name="o">The element to be removed.</param>
1459
+ <returns><see langword="true" /> if the set contained the specified element, <see langword="false" /> otherwise.</returns>
1460
+ </member>
1461
+ <member name="M:Iesi.Collections.DictionarySet.RemoveAll(System.Collections.ICollection)">
1462
+ <summary>
1463
+ Remove all the specified elements from this set, if they exist in this set.
1464
+ </summary>
1465
+ <param name="c">A collection of elements to remove.</param>
1466
+ <returns><see langword="true" /> if the set was modified as a result of this operation.</returns>
1467
+ </member>
1468
+ <member name="M:Iesi.Collections.DictionarySet.RetainAll(System.Collections.ICollection)">
1469
+ <summary>
1470
+ Retains only the elements in this set that are contained in the specified collection.
1471
+ </summary>
1472
+ <param name="c">Collection that defines the set of elements to be retained.</param>
1473
+ <returns><see langword="true" /> if this set changed as a result of this operation.</returns>
1474
+ </member>
1475
+ <member name="M:Iesi.Collections.DictionarySet.CopyTo(System.Array,System.Int32)">
1476
+ <summary>
1477
+ Copies the elements in the <c>Set</c> to an array. The type of array needs
1478
+ to be compatible with the objects in the <c>Set</c>, obviously.
1479
+ </summary>
1480
+ <param name="array">An array that will be the target of the copy operation.</param>
1481
+ <param name="index">The zero-based index where copying will start.</param>
1482
+ </member>
1483
+ <member name="M:Iesi.Collections.DictionarySet.GetEnumerator">
1484
+ <summary>
1485
+ Gets an enumerator for the elements in the <c>Set</c>.
1486
+ </summary>
1487
+ <returns>An <c>IEnumerator</c> over the elements in the <c>Set</c>.</returns>
1488
+ </member>
1489
+ <member name="P:Iesi.Collections.DictionarySet.Placeholder">
1490
+ <summary>
1491
+ The placeholder object used as the value for the <c>IDictionary</c> instance.
1492
+ </summary>
1493
+ <remarks>
1494
+ There is a single instance of this object globally, used for all <c>Sets</c>.
1495
+ </remarks>
1496
+ </member>
1497
+ <member name="P:Iesi.Collections.DictionarySet.IsEmpty">
1498
+ <summary>
1499
+ Returns <see langword="true" /> if this set contains no elements.
1500
+ </summary>
1501
+ </member>
1502
+ <member name="P:Iesi.Collections.DictionarySet.Count">
1503
+ <summary>
1504
+ The number of elements contained in this collection.
1505
+ </summary>
1506
+ </member>
1507
+ <member name="P:Iesi.Collections.DictionarySet.IsSynchronized">
1508
+ <summary>
1509
+ None of the objects based on <c>DictionarySet</c> are synchronized. Use the
1510
+ <c>SyncRoot</c> property instead.
1511
+ </summary>
1512
+ </member>
1513
+ <member name="P:Iesi.Collections.DictionarySet.SyncRoot">
1514
+ <summary>
1515
+ Returns an object that can be used to synchronize the <c>Set</c> between threads.
1516
+ </summary>
1517
+ </member>
1518
+ <member name="T:Iesi.Collections.HashedSet">
1519
+ <summary>
1520
+ Implements a <c>Set</c> based on a hash table. This will give the best lookup, add, and remove
1521
+ performance for very large data-sets, but iteration will occur in no particular order.
1522
+ </summary>
1523
+ </member>
1524
+ <member name="M:Iesi.Collections.HashedSet.#ctor">
1525
+ <summary>
1526
+ Creates a new set instance based on a hash table.
1527
+ </summary>
1528
+ </member>
1529
+ <member name="M:Iesi.Collections.HashedSet.#ctor(System.Collections.ICollection)">
1530
+ <summary>
1531
+ Creates a new set instance based on a hash table and
1532
+ initializes it based on a collection of elements.
1533
+ </summary>
1534
+ <param name="initialValues">A collection of elements that defines the initial set contents.</param>
1535
+ </member>
1536
+ <member name="T:Iesi.Collections.HybridSet">
1537
+ <summary>
1538
+ Implements a <c>Set</c> that automatically changes from a list to a hash table
1539
+ when the size reaches a certain threshold. This is good if you are unsure about
1540
+ whether you data-set will be tiny or huge. Because this uses a dual implementation,
1541
+ iteration order is not guaranteed!
1542
+ </summary>
1543
+ </member>
1544
+ <member name="M:Iesi.Collections.HybridSet.#ctor">
1545
+ <summary>
1546
+ Creates a new set instance based on either a list or a hash table, depending on which
1547
+ will be more efficient based on the data-set size.
1548
+ </summary>
1549
+ </member>
1550
+ <member name="M:Iesi.Collections.HybridSet.#ctor(System.Collections.ICollection)">
1551
+ <summary>
1552
+ Creates a new set instance based on either a list or a hash table, depending on which
1553
+ will be more efficient based on the data-set size, and
1554
+ initializes it based on a collection of elements.
1555
+ </summary>
1556
+ <param name="initialValues">A collection of elements that defines the initial set contents.</param>
1557
+ </member>
1558
+ <member name="T:Iesi.Collections.ImmutableSet">
1559
+ <summary>
1560
+ <p>Implements an immutable (read-only) <c>Set</c> wrapper.</p>
1561
+ <p>Although this is advertised as immutable, it really isn't. Anyone with access to the
1562
+ <c>basisSet</c> can still change the data-set. So <c>GetHashCode()</c> is not implemented
1563
+ for this <c>Set</c>, as is the case for all <c>Set</c> implementations in this library.
1564
+ This design decision was based on the efficiency of not having to <c>Clone()</c> the
1565
+ <c>basisSet</c> every time you wrap a mutable <c>Set</c>.</p>
1566
+ </summary>
1567
+ </member>
1568
+ <member name="M:Iesi.Collections.ImmutableSet.#ctor(Iesi.Collections.ISet)">
1569
+ <summary>
1570
+ Constructs an immutable (read-only) <c>Set</c> wrapper.
1571
+ </summary>
1572
+ <param name="basisSet">The <c>Set</c> that is wrapped.</param>
1573
+ </member>
1574
+ <member name="M:Iesi.Collections.ImmutableSet.Add(System.Object)">
1575
+ <summary>
1576
+ Adds the specified element to this set if it is not already present.
1577
+ </summary>
1578
+ <param name="o">The object to add to the set.</param>
1579
+ <returns><see langword="true" /> is the object was added, <see langword="false" /> if it was already present.</returns>
1580
+ </member>
1581
+ <member name="M:Iesi.Collections.ImmutableSet.AddAll(System.Collections.ICollection)">
1582
+ <summary>
1583
+ Adds all the elements in the specified collection to the set if they are not already present.
1584
+ </summary>
1585
+ <param name="c">A collection of objects to add to the set.</param>
1586
+ <returns><see langword="true" /> is the set changed as a result of this operation, <see langword="false" /> if not.</returns>
1587
+ </member>
1588
+ <member name="M:Iesi.Collections.ImmutableSet.Clear">
1589
+ <summary>
1590
+ Removes all objects from the set.
1591
+ </summary>
1592
+ </member>
1593
+ <member name="M:Iesi.Collections.ImmutableSet.Contains(System.Object)">
1594
+ <summary>
1595
+ Returns <see langword="true" /> if this set contains the specified element.
1596
+ </summary>
1597
+ <param name="o">The element to look for.</param>
1598
+ <returns><see langword="true" /> if this set contains the specified element, <see langword="false" /> otherwise.</returns>
1599
+ </member>
1600
+ <member name="M:Iesi.Collections.ImmutableSet.ContainsAll(System.Collections.ICollection)">
1601
+ <summary>
1602
+ Returns <see langword="true" /> if the set contains all the elements in the specified collection.
1603
+ </summary>
1604
+ <param name="c">A collection of objects.</param>
1605
+ <returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
1606
+ </member>
1607
+ <member name="M:Iesi.Collections.ImmutableSet.Remove(System.Object)">
1608
+ <summary>
1609
+ Removes the specified element from the set.
1610
+ </summary>
1611
+ <param name="o">The element to be removed.</param>
1612
+ <returns><see langword="true" /> if the set contained the specified element, <see langword="false" /> otherwise.</returns>
1613
+ </member>
1614
+ <member name="M:Iesi.Collections.ImmutableSet.RemoveAll(System.Collections.ICollection)">
1615
+ <summary>
1616
+ Remove all the specified elements from this set, if they exist in this set.
1617
+ </summary>
1618
+ <param name="c">A collection of elements to remove.</param>
1619
+ <returns><see langword="true" /> if the set was modified as a result of this operation.</returns>
1620
+ </member>
1621
+ <member name="M:Iesi.Collections.ImmutableSet.RetainAll(System.Collections.ICollection)">
1622
+ <summary>
1623
+ Retains only the elements in this set that are contained in the specified collection.
1624
+ </summary>
1625
+ <param name="c">Collection that defines the set of elements to be retained.</param>
1626
+ <returns><see langword="true" /> if this set changed as a result of this operation.</returns>
1627
+ </member>
1628
+ <member name="M:Iesi.Collections.ImmutableSet.CopyTo(System.Array,System.Int32)">
1629
+ <summary>
1630
+ Copies the elements in the <c>Set</c> to an array. The type of array needs
1631
+ to be compatible with the objects in the <c>Set</c>, obviously.
1632
+ </summary>
1633
+ <param name="array">An array that will be the target of the copy operation.</param>
1634
+ <param name="index">The zero-based index where copying will start.</param>
1635
+ </member>
1636
+ <member name="M:Iesi.Collections.ImmutableSet.GetEnumerator">
1637
+ <summary>
1638
+ Gets an enumerator for the elements in the <c>Set</c>.
1639
+ </summary>
1640
+ <returns>An <c>IEnumerator</c> over the elements in the <c>Set</c>.</returns>
1641
+ </member>
1642
+ <member name="M:Iesi.Collections.ImmutableSet.Clone">
1643
+ <summary>
1644
+ Returns a clone of the <c>Set</c> instance.
1645
+ </summary>
1646
+ <returns>A clone of this object.</returns>
1647
+ </member>
1648
+ <member name="M:Iesi.Collections.ImmutableSet.Union(Iesi.Collections.ISet)">
1649
+ <summary>
1650
+ Performs a "union" of the two sets, where all the elements
1651
+ in both sets are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
1652
+ Neither this set nor the input set are modified during the operation. The return value
1653
+ is a <c>Clone()</c> of this set with the extra elements added in.
1654
+ </summary>
1655
+ <param name="a">A collection of elements.</param>
1656
+ <returns>A new <c>Set</c> containing the union of this <c>Set</c> with the specified collection.
1657
+ Neither of the input objects is modified by the union.</returns>
1658
+ </member>
1659
+ <member name="M:Iesi.Collections.ImmutableSet.Intersect(Iesi.Collections.ISet)">
1660
+ <summary>
1661
+ Performs an "intersection" of the two sets, where only the elements
1662
+ that are present in both sets remain. That is, the element is included if it exists in
1663
+ both sets. The <c>Intersect()</c> operation does not modify the input sets. It returns
1664
+ a <c>Clone()</c> of this set with the appropriate elements removed.
1665
+ </summary>
1666
+ <param name="a">A set of elements.</param>
1667
+ <returns>The intersection of this set with <c>a</c>.</returns>
1668
+ </member>
1669
+ <member name="M:Iesi.Collections.ImmutableSet.Minus(Iesi.Collections.ISet)">
1670
+ <summary>
1671
+ Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
1672
+ the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
1673
+ The original sets are not modified during this operation. The result set is a <c>Clone()</c>
1674
+ of this <c>Set</c> containing the elements from the operation.
1675
+ </summary>
1676
+ <param name="a">A set of elements.</param>
1677
+ <returns>A set containing the elements from this set with the elements in <c>a</c> removed.</returns>
1678
+ </member>
1679
+ <member name="M:Iesi.Collections.ImmutableSet.ExclusiveOr(Iesi.Collections.ISet)">
1680
+ <summary>
1681
+ Performs an "exclusive-or" of the two sets, keeping only the elements that
1682
+ are in one of the sets, but not in both. The original sets are not modified
1683
+ during this operation. The result set is a <c>Clone()</c> of this set containing
1684
+ the elements from the exclusive-or operation.
1685
+ </summary>
1686
+ <param name="a">A set of elements.</param>
1687
+ <returns>A set containing the result of <c>a ^ b</c>.</returns>
1688
+ </member>
1689
+ <member name="P:Iesi.Collections.ImmutableSet.IsEmpty">
1690
+ <summary>
1691
+ Returns <see langword="true" /> if this set contains no elements.
1692
+ </summary>
1693
+ </member>
1694
+ <member name="P:Iesi.Collections.ImmutableSet.Count">
1695
+ <summary>
1696
+ The number of elements contained in this collection.
1697
+ </summary>
1698
+ </member>
1699
+ <member name="P:Iesi.Collections.ImmutableSet.IsSynchronized">
1700
+ <summary>
1701
+ Returns an object that can be used to synchronize use of the <c>Set</c> across threads.
1702
+ </summary>
1703
+ </member>
1704
+ <member name="P:Iesi.Collections.ImmutableSet.SyncRoot">
1705
+ <summary>
1706
+ Returns an object that can be used to synchronize the <c>Set</c> between threads.
1707
+ </summary>
1708
+ </member>
1709
+ <member name="T:Iesi.Collections.ListSet">
1710
+ <summary>
1711
+ Implements a <c>Set</c> based on a list. Performance is much better for very small lists
1712
+ than either <c>HashedSet</c> or <c>SortedSet</c>. However, performance degrades rapidly as
1713
+ the data-set gets bigger. Use a <c>HybridSet</c> instead if you are not sure your data-set
1714
+ will always remain very small. Iteration produces elements in the order they were added.
1715
+ However, element order is not guaranteed to be maintained by the various <c>Set</c>
1716
+ mathematical operators.
1717
+ </summary>
1718
+ </member>
1719
+ <member name="M:Iesi.Collections.ListSet.#ctor">
1720
+ <summary>
1721
+ Creates a new set instance based on a list.
1722
+ </summary>
1723
+ </member>
1724
+ <member name="M:Iesi.Collections.ListSet.#ctor(System.Collections.ICollection)">
1725
+ <summary>
1726
+ Creates a new set instance based on a list and
1727
+ initializes it based on a collection of elements.
1728
+ </summary>
1729
+ <param name="initialValues">A collection of elements that defines the initial set contents.</param>
1730
+ </member>
1731
+ <member name="T:Iesi.Collections.SortedSet">
1732
+ <summary>
1733
+ Implements a set based on a sorted tree. This gives good performance for operations on very
1734
+ large data-sets, though not as good - asymptotically - as a <see cref="T:Iesi.Collections.HashedSet"/>.
1735
+ However, iteration occurs in order. Elements that you put into this type of collection must
1736
+ implement <see cref="T:System.IComparable"/>, and they must actually be comparable. You can't mix
1737
+ <see cref="T:System.String"/> and <see cref="T:System.Int32"/> values, for example.
1738
+ </summary>
1739
+ </member>
1740
+ <member name="M:Iesi.Collections.SortedSet.#ctor">
1741
+ <summary>
1742
+ Creates a new set instance based on a sorted tree.
1743
+ </summary>
1744
+ </member>
1745
+ <member name="M:Iesi.Collections.SortedSet.#ctor(System.Collections.IComparer)">
1746
+ <summary>
1747
+ Creates a new set instance based on a sorted tree.
1748
+ </summary>
1749
+ <param name="comparer">The <see cref="T:System.Collections.IComparer"/> to use for sorting.</param>
1750
+ </member>
1751
+ <member name="M:Iesi.Collections.SortedSet.#ctor(System.Collections.ICollection)">
1752
+ <summary>
1753
+ Creates a new set instance based on a sorted tree and
1754
+ initializes it based on a collection of elements.
1755
+ </summary>
1756
+ <param name="initialValues">A collection of elements that defines the initial set contents.</param>
1757
+ </member>
1758
+ <member name="M:Iesi.Collections.SortedSet.#ctor(System.Collections.ICollection,System.Collections.IComparer)">
1759
+ <summary>
1760
+ Creates a new set instance based on a sorted tree and
1761
+ initializes it based on a collection of elements.
1762
+ </summary>
1763
+ <param name="initialValues">A collection of elements that defines the initial set contents.</param>
1764
+ <param name="comparer">The <see cref="T:System.Collections.IComparer"/> to use for sorting.</param>
1765
+ </member>
1766
+ <member name="T:Iesi.Collections.SynchronizedSet">
1767
+ <summary>
1768
+ Implements a thread-safe <see cref="T:Iesi.Collections.ISet"/> wrapper.
1769
+ </summary>
1770
+ <remarks>
1771
+ The implementation is extremely conservative, serializing critical sections
1772
+ to prevent possible deadlocks, and locking on everything. The one exception
1773
+ is for enumeration, which is inherently not thread-safe. For this, you have
1774
+ to <see langword="lock"/> the <see cref="P:Iesi.Collections.SynchronizedSet.SyncRoot"/> object for the duration
1775
+ of the enumeration.
1776
+ </remarks>
1777
+ </member>
1778
+ <member name="M:Iesi.Collections.SynchronizedSet.#ctor(Iesi.Collections.ISet)">
1779
+ <summary>
1780
+ Constructs a thread-safe <see cref="T:Iesi.Collections.ISet"/> wrapper.
1781
+ </summary>
1782
+ <param name="basisSet">The <see cref="T:Iesi.Collections.ISet"/> object that this object will wrap.</param>
1783
+ </member>
1784
+ <member name="M:Iesi.Collections.SynchronizedSet.Add(System.Object)">
1785
+ <summary>
1786
+ Adds the specified element to this set if it is not already present.
1787
+ </summary>
1788
+ <param name="o">The object to add to the set.</param>
1789
+ <returns><see langword="true" /> is the object was added, <see langword="false" /> if it was already present.</returns>
1790
+ </member>
1791
+ <member name="M:Iesi.Collections.SynchronizedSet.AddAll(System.Collections.ICollection)">
1792
+ <summary>
1793
+ Adds all the elements in the specified collection to the set if they are not already present.
1794
+ </summary>
1795
+ <param name="c">A collection of objects to add to the set.</param>
1796
+ <returns><see langword="true" /> is the set changed as a result of this operation, <see langword="false" /> if not.</returns>
1797
+ </member>
1798
+ <member name="M:Iesi.Collections.SynchronizedSet.Clear">
1799
+ <summary>
1800
+ Removes all objects from the set.
1801
+ </summary>
1802
+ </member>
1803
+ <member name="M:Iesi.Collections.SynchronizedSet.Contains(System.Object)">
1804
+ <summary>
1805
+ Returns <see langword="true" /> if this set contains the specified element.
1806
+ </summary>
1807
+ <param name="o">The element to look for.</param>
1808
+ <returns><see langword="true" /> if this set contains the specified element, <see langword="false" /> otherwise.</returns>
1809
+ </member>
1810
+ <member name="M:Iesi.Collections.SynchronizedSet.ContainsAll(System.Collections.ICollection)">
1811
+ <summary>
1812
+ Returns <see langword="true" /> if the set contains all the elements in the specified collection.
1813
+ </summary>
1814
+ <param name="c">A collection of objects.</param>
1815
+ <returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
1816
+ </member>
1817
+ <member name="M:Iesi.Collections.SynchronizedSet.Remove(System.Object)">
1818
+ <summary>
1819
+ Removes the specified element from the set.
1820
+ </summary>
1821
+ <param name="o">The element to be removed.</param>
1822
+ <returns><see langword="true" /> if the set contained the specified element, <see langword="false" /> otherwise.</returns>
1823
+ </member>
1824
+ <member name="M:Iesi.Collections.SynchronizedSet.RemoveAll(System.Collections.ICollection)">
1825
+ <summary>
1826
+ Remove all the specified elements from this set, if they exist in this set.
1827
+ </summary>
1828
+ <param name="c">A collection of elements to remove.</param>
1829
+ <returns><see langword="true" /> if the set was modified as a result of this operation.</returns>
1830
+ </member>
1831
+ <member name="M:Iesi.Collections.SynchronizedSet.RetainAll(System.Collections.ICollection)">
1832
+ <summary>
1833
+ Retains only the elements in this set that are contained in the specified collection.
1834
+ </summary>
1835
+ <param name="c">Collection that defines the set of elements to be retained.</param>
1836
+ <returns><see langword="true" /> if this set changed as a result of this operation.</returns>
1837
+ </member>
1838
+ <member name="M:Iesi.Collections.SynchronizedSet.CopyTo(System.Array,System.Int32)">
1839
+ <summary>
1840
+ Copies the elements in the set to an array. The type of array needs
1841
+ to be compatible with the objects in the set, obviously.
1842
+ </summary>
1843
+ <param name="array">An array that will be the target of the copy operation.</param>
1844
+ <param name="index">The zero-based index where copying will start.</param>
1845
+ </member>
1846
+ <member name="M:Iesi.Collections.SynchronizedSet.GetEnumerator">
1847
+ <summary>
1848
+ Returns an enumerator that iterates through the set.
1849
+ </summary>
1850
+ <returns>
1851
+ An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the set.
1852
+ </returns>
1853
+ <remarks>
1854
+ Enumeration is, by definition, not thread-safe. Use a <see langword="lock"/> on the <see cref="P:Iesi.Collections.SynchronizedSet.SyncRoot"/>
1855
+ to synchronize the entire enumeration process.
1856
+ </remarks>
1857
+ </member>
1858
+ <member name="M:Iesi.Collections.SynchronizedSet.Clone">
1859
+ <summary>
1860
+ Returns a clone of this instance.
1861
+ </summary>
1862
+ <returns>A clone of this object.</returns>
1863
+ </member>
1864
+ <member name="P:Iesi.Collections.SynchronizedSet.IsEmpty">
1865
+ <summary>
1866
+ Returns <see langword="true" /> if this set contains no elements.
1867
+ </summary>
1868
+ </member>
1869
+ <member name="P:Iesi.Collections.SynchronizedSet.Count">
1870
+ <summary>
1871
+ The number of elements contained in this collection.
1872
+ </summary>
1873
+ </member>
1874
+ <member name="P:Iesi.Collections.SynchronizedSet.IsSynchronized">
1875
+ <summary>
1876
+ Returns <see langword="true"/>, indicating that this object is thread-safe. The exception to this
1877
+ is enumeration, which is inherently not thread-safe. Use the <see cref="P:Iesi.Collections.SynchronizedSet.SyncRoot"/> object to
1878
+ lock this object for the entire duration of the enumeration.
1879
+ </summary>
1880
+ </member>
1881
+ <member name="P:Iesi.Collections.SynchronizedSet.SyncRoot">
1882
+ <summary>
1883
+ Returns an object that can be used to synchronize the set between threads.
1884
+ </summary>
1885
+ </member>
1886
+ </members>
1887
+ </doc>