Example #1
0
 /// <summary>Initialize the synchronized heap.</summary>
 /// <param name="heap">The heap to synchronize.</param>
 internal SyncBinaryHeap(BinaryHeap heap)
 {
     _heap = heap;
 }
Example #2
0
 /// <summary>Initialize the heap with another heap.</summary>
 /// <param name="heap">The heap on which to perform a shallow-copy.</param>
 public BinaryHeap(BinaryHeap heap)
 {
     // Clone the list (the only state we have)
     _list = (ArrayList)heap._list.Clone();
 }
Example #3
0
		/// <summary>Initialize the heap with another heap.</summary>
		/// <param name="heap">The heap on which to perform a shallow-copy.</param>
		public BinaryHeap(BinaryHeap heap)
		{
			// Clone the list (the only state we have)
			_list = (ArrayList)heap._list.Clone();
		}
Example #4
0
			/// <summary>Initialize the synchronized heap.</summary>
			/// <param name="heap">The heap to synchronize.</param>
			internal SyncBinaryHeap(BinaryHeap heap) { _heap = heap; }
Example #5
0
		/// <summary>Ensures that heap is wrapped in a synchronous wrapper.</summary>
		/// <param name="heap">The heap to be wrapped.</param>
		/// <returns>A synchronized wrapper for the heap.</returns>
		public static BinaryHeap Synchronize(BinaryHeap heap)
		{
			// Create a synchronization wrapper around the heap and return it.
			if (heap is SyncBinaryHeap) return heap;
			return new SyncBinaryHeap(heap);
		}