using System;
using System.Collections.Generic;
namespace Swan.Collections
{
///
/// Represents a generic collection of key/value pairs that does not store
/// null values.
///
/// The type of keys in the dictionary. This must be a reference type.
/// The type of values in the dictionary. This must be a reference type.
public interface IDataDictionary : IDictionary, IReadOnlyDictionary
where TKey : class
where TValue : class
{
///
/// Gets a value that indicates whether the is empty.
///
///
/// if the is empty; otherwise, .
///
bool IsEmpty { get; }
///
/// Attempts to remove and return the value that has the specified key from the .
///
/// The key of the element to remove and return.
/// When this method returns, the value removed from the ,
/// if the key is found; otherwise, . This parameter is passed uninitialized.
/// if the value was removed successfully; otherwise, .
/// is .
bool TryRemove(TKey key, out TValue value);
}
}