コード例 #1
0
ファイル: Merge.cs プロジェクト: nuxleus/Nuxleus
 private static IDiff[] makediffs (IList original, IList [] changed, IComparer comparer, IHashCodeProvider hashcoder)
 {
     IDiff[] diffs = new IDiff[changed.Length];
     for (int i = 0; i < changed.Length; i++)
         diffs [i] = new Diff (original, changed [i], comparer, hashcoder);
     return diffs;
 }
コード例 #2
0
 public Diff(IList left, IList right, IComparer comparer, IHashCodeProvider hashcoder)
 {
     this.left = left;
     this.right = right;
     this.comparer = comparer;
     this.hashcoder = hashcoder;
     init();
 }
コード例 #3
0
ファイル: Diff.cs プロジェクト: uQr/Visual-NHibernate
 public Diff(IList left, IList right, IComparer comparer, IHashCodeProvider hashcoder)
 {
     if (left == null) throw new ArgumentNullException("left");
     if (right == null) throw new ArgumentNullException("right");
     this.left = left;
     this.right = right;
     this.comparer = comparer;
     this.hashcoder = hashcoder;
     init();
 }
コード例 #4
0
ファイル: HashTable.cs プロジェクト: hjgode/iTextSharpCF
        public k_HashTable(int ai_Capacity, double ad_LoadFactor, IHashCodeProvider ak_HashProvider, IComparer ak_Comparer)
        {
            if (ad_LoadFactor <= .0 || ad_LoadFactor > 1.0)
                throw new ArgumentException("Load factor must be greater than .0 and smaller or equal to 1.0", "ad_LoadFactor");
            md_LoadFactor = ad_LoadFactor;

            double ld_Size = ai_Capacity/ad_LoadFactor;
            if (ld_Size > int.MaxValue)
                throw new ArgumentException("k_HashTable overflow");

            int li_TableSize = FindPrimeGreater((int)ld_Size);
            mk_Buckets = new r_Bucket[li_TableSize];
            mi_GrowSize = (md_LoadFactor < 1.0) ? (int)(md_LoadFactor * li_TableSize) : li_TableSize-1;

            mk_HashProvider = ak_HashProvider;
            mk_Comparer = ak_Comparer;

            mk_End = new k_PinnedBucketIterator(this, -1);
        }
コード例 #5
0
	protected NameObjectCollectionBase(int capacity,
									   IHashCodeProvider hashProvider,
									   IComparer comparer)
			{
				if(capacity < 0)
				{
					throw new ArgumentOutOfRangeException
						("capacity", S._("ArgRange_NonNegative"));
				}
				if(hashProvider == null)
				{
					hashProvider = CaseInsensitiveHashCodeProvider.Default;
				}
				if(comparer == null)
				{
					comparer = CaseInsensitiveComparer.Default;
				}
				table = new Entry [HashTableSize];
				hcp = hashProvider;
				cmp = comparer;
				entries = new ArrayList(capacity);
				readOnly = false;
			}
コード例 #6
0
ファイル: HashtableTests.cs プロジェクト: Corillian/corefx
 public ComparableHashtable(int capacity, IHashCodeProvider hcp, IComparer comparer) : base(capacity, hcp, comparer) { }
コード例 #7
0
		public UnitTestNameObjectCollectionBase (IHashCodeProvider provider, IComparer comparer)
			: base (provider, comparer)
		{
		}
コード例 #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DataTypeBaseDictionary"/> class.
 /// </summary>
 /// <param name="codeProvider">The code provider.</param>
 /// <param name="comparer">The comparer.</param>
 public DataTypeBaseDictionary(IHashCodeProvider codeProvider, IComparer comparer)
 {
     _innerHash = new Hashtable(codeProvider, comparer);
 }
コード例 #9
0
 public UnitTestNameObjectCollectionBase(int capacity, IHashCodeProvider provider, IComparer comparer)
     : base(capacity, provider, comparer)
 {
 }
コード例 #10
0
 /// <summary>
 ///     Initializes a new instance of 'AffixRuleCollection'.
 /// </summary>
 /// <param name="codeProvider" type="System.Collections.IHashCodeProvider">
 ///     <para>
 ///         The IHashCodeProvider that supplies the hash codes for all keys in the 'AffixRuleCollection'.
 ///     </para>
 /// </param>
 /// <param name="comparer" type="System.Collections.IComparer">
 ///     <para>
 ///         The IComparer to use to determine whether two keys are equal.
 ///     </para>
 /// </param>
 public AffixRuleCollection(IHashCodeProvider codeProvider, IComparer comparer)
 {
     innerHash = new Hashtable(codeProvider, comparer);
 }
コード例 #11
0
ファイル: Hashtable.cs プロジェクト: destinyclown/coreclr
 public Hashtable(IHashCodeProvider hcp, IComparer comparer) : this(0, 1.0f, hcp, comparer) {
 }
コード例 #12
0
 public FrameworkInfoDictionary(int capacity, float loadFactor, IHashCodeProvider codeProvider, IComparer comparer)
 {
     _innerHash = new Hashtable (capacity, loadFactor, codeProvider, comparer);
 }
コード例 #13
0
 public NameValueCollection(IHashCodeProvider hashProvider, IComparer comparer) 
     : base(hashProvider, comparer) {
 }
コード例 #14
0
        public virtual void OnDeserialization(object sender)
        {
            if (_keyComparer != null)
            {
                //Somebody had a dependency on this and fixed us up before the ObjectManager got to it.
                return;
            }

            if (_serializationInfo == null)
            {
                throw new SerializationException();
            }

            SerializationInfo info = _serializationInfo;

            _serializationInfo = null;

            bool readOnly = false;
            int  count    = 0;

            string[]          keys         = null;
            object[]          values       = null;
            IHashCodeProvider hashProvider = null;
            IComparer         comparer     = null;
            bool hasVersion        = false;
            int  serializedVersion = 0;

            SerializationInfoEnumerator enumerator = info.GetEnumerator();

            while (enumerator.MoveNext())
            {
                switch (enumerator.Name)
                {
                case ReadOnlyName:
                    readOnly = info.GetBoolean(ReadOnlyName);;
                    break;

                case HashCodeProviderName:
                    hashProvider = (IHashCodeProvider)info.GetValue(HashCodeProviderName, typeof(IHashCodeProvider));;
                    break;

                case ComparerName:
                    comparer = (IComparer)info.GetValue(ComparerName, typeof(IComparer));
                    break;

                case KeyComparerName:
                    _keyComparer = (IEqualityComparer)info.GetValue(KeyComparerName, typeof(IEqualityComparer));
                    break;

                case CountName:
                    count = info.GetInt32(CountName);
                    break;

                case KeysName:
                    keys = (String[])info.GetValue(KeysName, typeof(String[]));
                    break;

                case ValuesName:
                    values = (Object[])info.GetValue(ValuesName, typeof(Object[]));
                    break;

                case VersionName:
                    hasVersion        = true;
                    serializedVersion = info.GetInt32(VersionName);
                    break;
                }
            }

            if (_keyComparer == null)
            {
                if (comparer == null || hashProvider == null)
                {
                    throw new SerializationException();
                }
                else
                {
                    // create a new key comparer for V1 Object
                    _keyComparer = new CompatibleComparer(hashProvider, comparer);
                }
            }

            if (keys == null || values == null)
            {
                throw new SerializationException();
            }

            Reset(count);

            for (int i = 0; i < count; i++)
            {
                BaseAdd(keys[i], values[i]);
            }

            _readOnly = readOnly;  // after collection populated
            if (hasVersion)
            {
                _version = serializedVersion;
            }
        }
コード例 #15
0
 protected NameObjectCollectionBase(int capacity, IHashCodeProvider hashProvider, IComparer comparer)
 {
     _keyComparer = new CompatibleComparer(hashProvider, comparer);
     Reset(capacity);
 }
コード例 #16
0
ファイル: CompatibleComparer.cs プロジェクト: jnm2/corefx
 internal CompatibleComparer(IHashCodeProvider hashCodeProvider, IComparer comparer)
 {
     _hcp      = hashCodeProvider;
     _comparer = comparer;
 }
コード例 #17
0
 /// <summary>
 ///     Initializes a new instance of 'AffixRuleCollection'.
 /// </summary>
 /// <param name="dictionary" type="System.Collections.IDictionary">
 ///     <para>
 ///         The IDictionary to copy to a new 'AffixRuleCollection'.
 ///     </para>
 /// </param>
 /// <param name="loadFactor" type="float">
 ///     <para>
 ///         A number in the range from 0.1 through 1.0 indicating the maximum ratio of elements to buckets.
 ///     </para>
 /// </param>
 /// <param name="codeProvider" type="System.Collections.IHashCodeProvider">
 ///     <para>
 ///         The IHashCodeProvider that supplies the hash codes for all keys in the 'AffixRuleCollection'.
 ///     </para>
 /// </param>
 /// <param name="comparer" type="System.Collections.IComparer">
 ///     <para>
 ///         The IComparer to use to determine whether two keys are equal.
 ///     </para>
 /// </param>
 public AffixRuleCollection(IDictionary dictionary, float loadFactor, IHashCodeProvider codeProvider, IComparer comparer)
 {
     innerHash = new Hashtable(dictionary, loadFactor, codeProvider, comparer);
 }
コード例 #18
0
 public NameValueCollection(int capacity, IHashCodeProvider hashProvider, IComparer comparer)
 {
     throw new NotImplementedException();
 }
コード例 #19
0
ファイル: HashtableTests.cs プロジェクト: Corillian/corefx
 public ComparableHashtable(IDictionary d, IHashCodeProvider hcp, IComparer comparer) : base(d, hcp, comparer) { }
コード例 #20
0
ファイル: Hashtable.cs プロジェクト: mattfrerichs/Templates
 public StringIntegerHashtable(IDictionary dictionary, float loadFactor, IHashCodeProvider codeProvider, IComparer comparer)
 {
     innerHash = new Hashtable (dictionary, loadFactor, codeProvider, comparer);
 }
コード例 #21
0
ファイル: HashtableTests.cs プロジェクト: Corillian/corefx
 public ComparableHashtable(int capacity, float loadFactor, IHashCodeProvider hcp, IComparer comparer) : base(capacity, loadFactor, hcp, comparer) { }
コード例 #22
0
 /// <summary>
 ///     Initializes a new instance of 'AffixRuleCollection'.
 /// </summary>
 /// <param name="capacity" type="int">
 ///     <para>
 ///         The approximate number of elements that the 'AffixRuleCollection' can initially contain.
 ///     </para>
 /// </param>
 /// <param name="loadFactor" type="float">
 ///     <para>
 ///         A number in the range from 0.1 through 1.0 indicating the maximum ratio of elements to buckets.
 ///     </para>
 /// </param>
 /// <param name="codeProvider" type="System.Collections.IHashCodeProvider">
 ///     <para>
 ///         The IHashCodeProvider that supplies the hash codes for all keys in the 'AffixRuleCollection'.
 ///     </para>
 /// </param>
 /// <param name="comparer" type="System.Collections.IComparer">
 ///     <para>
 ///         The IComparer to use to determine whether two keys are equal.
 ///     </para>
 /// </param>
 public AffixRuleCollection(int capacity, float loadFactor, IHashCodeProvider codeProvider, IComparer comparer)
 {
     innerHash = new Hashtable(capacity, loadFactor, codeProvider, comparer);
 }
コード例 #23
0
		public ReadOnlyNameValueCollection(IHashCodeProvider hcp, IComparer comp) : base(hcp, comp)
		{
		}
コード例 #24
0
ファイル: HashtableTests.cs プロジェクト: saucecontrol/corefx
 public ComparableHashtable(int capacity, IHashCodeProvider hcp, IComparer comparer) : base(capacity, hcp, comparer)
 {
 }
コード例 #25
0
ファイル: Hashtable.cs プロジェクト: mattfrerichs/Templates
 public IntegerHashtable(int capacity, IHashCodeProvider codeProvider, IComparer comparer)
 {
     innerHash = new Hashtable (capacity, codeProvider, comparer);
 }
コード例 #26
0
ファイル: HashtableTests.cs プロジェクト: saucecontrol/corefx
 public ComparableHashtable(IHashCodeProvider hcp, IComparer comparer) : base(hcp, comparer)
 {
 }
コード例 #27
0
 internal CompatibleComparer(IComparer comparer, IHashCodeProvider hashCodeProvider) {
     _comparer = comparer;
     _hcp = hashCodeProvider;
 }
コード例 #28
0
ファイル: HashtableTests.cs プロジェクト: saucecontrol/corefx
 public ComparableHashtable(IDictionary d, IHashCodeProvider hcp, IComparer comparer) : base(d, hcp, comparer)
 {
 }
コード例 #29
0
ファイル: Hashtable.cs プロジェクト: destinyclown/coreclr
 public Hashtable(IDictionary d, IHashCodeProvider hcp, IComparer comparer) 
     : this(d, 1.0f, hcp, comparer)  {
 }
コード例 #30
0
ファイル: HashtableTests.cs プロジェクト: saucecontrol/corefx
 public ComparableHashtable(IDictionary d, float loadFactor, IHashCodeProvider hcp, IComparer comparer) : base(d, loadFactor, hcp, comparer)
 {
 }
コード例 #31
0
 public UnitTestNameObjectCollectionBase(IHashCodeProvider provider, IComparer comparer)
     : base(provider, comparer)
 {
 }
コード例 #32
0
ファイル: HashtableTests.cs プロジェクト: saucecontrol/corefx
 public ComparableHashtable(int capacity, float loadFactor, IHashCodeProvider hcp, IComparer comparer) : base(capacity, loadFactor, hcp, comparer)
 {
 }
コード例 #33
0
ファイル: Hashtable.cs プロジェクト: PlumpMath/CIL2Java
 public Hashtable(int capacity, IHashCodeProvider hcp, IComparer comparer)
 {
     throw new NotImplementedException();
 }
コード例 #34
0
 internal CompatibleComparer(IComparer comparer, IHashCodeProvider hashCodeProvider)
 {
     this._comparer = comparer;
     this._hcp      = hashCodeProvider;
 }
コード例 #35
0
 protected NameObjectCollectionBase(IHashCodeProvider hashProvider, IComparer comparer) {
     _keyComparer = new CompatibleComparer( comparer, hashProvider); 
     Reset();
 }
コード例 #36
0
 public NameValueCollection(int capacity, IHashCodeProvider hashProvider, IComparer comparer)
     : base(capacity, hashProvider, comparer)
 {
 }
コード例 #37
0
		public UnitTestNameObjectCollectionBase (int capacity, IHashCodeProvider provider, IComparer comparer)
			: base (capacity, provider, comparer)
		{
		}
コード例 #38
0
 public NameValueCollection(IHashCodeProvider hashProvider, IComparer comparer)
     : base(hashProvider, comparer)
 {
 }
コード例 #39
0
ファイル: HashtableTests.cs プロジェクト: Corillian/corefx
 public ComparableHashtable(IHashCodeProvider hcp, IComparer comparer) : base(hcp, comparer) { }
コード例 #40
0
#pragma warning disable CS0618 // Type or member is obsolete
        public MyNameObjectCollection(IHashCodeProvider hashProvider, IComparer comparer) : base(hashProvider, comparer)
        {
        }
コード例 #41
0
ファイル: HashtableTests.cs プロジェクト: Corillian/corefx
 public ComparableHashtable(IDictionary d, float loadFactor, IHashCodeProvider hcp, IComparer comparer) : base(d, loadFactor, hcp, comparer) { }
コード例 #42
0
 public MyNameObjectCollection(int capacity, IHashCodeProvider hashProvider, IComparer comparer) : base(capacity, hashProvider, comparer)
 {
 }
コード例 #43
0
 public FrameworkInfoDictionary(IDictionary dictionary, IHashCodeProvider codeProvider, IComparer comparer)
 {
     _innerHash = new Hashtable (dictionary, codeProvider, comparer);
 }
コード例 #44
0
 internal NameObjectCollectionBase(IEqualityComparer equalityComparer, IComparer comparer, IHashCodeProvider hcp)
 {
     equality_comparer = equalityComparer;
     m_comparer        = comparer;
     m_hashprovider    = hcp;
     m_readonly        = false;
     m_defCapacity     = 0;
     Init();
 }
コード例 #45
0
 public Hashtable(IDictionary d, float loadFactor, IHashCodeProvider hcp, IComparer comparer) : this((d != null) ? d.Count : 0, loadFactor, hcp, comparer)
 {
     if (d == null)
     {
         throw new ArgumentNullException("d", Environment.GetResourceString("ArgumentNull_Dictionary"));
     }
     IDictionaryEnumerator enumerator = d.GetEnumerator();
     while (enumerator.MoveNext())
     {
         this.Add(enumerator.Key, enumerator.Value);
     }
 }
コード例 #46
0
 public Hashtable(int capacity,
                  IHashCodeProvider hcp,
                  IComparer comparer)
     : this(capacity, 1.0f, hcp, comparer)
 {
 }
コード例 #47
0
 public NameValueCollection(int capacity, IHashCodeProvider hashProvider, IComparer comparer) 
     : base(capacity, hashProvider, comparer) {
 }
コード例 #48
0
 public Hashtable(IDictionary d, IHashCodeProvider hcp, IComparer comparer)
     : this(d, 1.0f, hcp, comparer)
 {
 }
コード例 #49
0
ファイル: Hashtable.cs プロジェクト: mattfrerichs/Templates
 public IntegerHashtable(IDictionary dictionary, IHashCodeProvider codeProvider, IComparer comparer)
 {
     innerHash = new Hashtable (dictionary, codeProvider, comparer);
 }
コード例 #50
0
 public Hashtable(IHashCodeProvider hcp, IComparer comparer)
     : this(1, 1.0f, hcp, comparer)
 {
 }
コード例 #51
0
ファイル: Hashtable.cs プロジェクト: mattfrerichs/Templates
 public StringIntegerHashtable(IHashCodeProvider codeProvider, IComparer comparer)
 {
     innerHash = new Hashtable (codeProvider, comparer);
 }
コード例 #52
0
 public Hashtable(IHashCodeProvider hcp, IComparer comparer)
 {
 }
コード例 #53
0
ファイル: Hashtable.cs プロジェクト: mattfrerichs/Templates
 public StringIntegerHashtable(int capacity, float loadFactor, IHashCodeProvider codeProvider, IComparer comparer)
 {
     innerHash = new Hashtable (capacity, loadFactor, codeProvider, comparer);
 }
コード例 #54
0
 public Hashtable(IDictionary d, float loadFactor, IHashCodeProvider hcp, IComparer comparer)
 {
 }
コード例 #55
0
ファイル: Hashtable.cs プロジェクト: destinyclown/coreclr
 public Hashtable(int capacity, float loadFactor, IHashCodeProvider hcp, IComparer comparer) : this(capacity, loadFactor) {
     if (hcp == null && comparer == null) {
         this._keycomparer = null;
     }
     else {
         this._keycomparer = new CompatibleComparer(comparer,hcp);
     }
 }
コード例 #56
0
 public Hashtable(IDictionary d, IHashCodeProvider hcp, IComparer comparer)
 {
 }
コード例 #57
0
ファイル: Hashtable.cs プロジェクト: destinyclown/coreclr
 public Hashtable(int capacity, IHashCodeProvider hcp, IComparer comparer)   
     : this(capacity, 1.0f, hcp, comparer) {
 }
コード例 #58
0
 public Hashtable(int capacity, IHashCodeProvider hcp, IComparer comparer)
 {
 }
コード例 #59
0
ファイル: Hashtable.cs プロジェクト: destinyclown/coreclr
        public Hashtable(IDictionary d, float loadFactor, IHashCodeProvider hcp, IComparer comparer) 
            : this((d != null ? d.Count : 0), loadFactor, hcp, comparer) {
            if (d==null)
                throw new ArgumentNullException("d", Environment.GetResourceString("ArgumentNull_Dictionary"));
            Contract.EndContractBlock();
 
            IDictionaryEnumerator e = d.GetEnumerator();
            while (e.MoveNext()) Add(e.Key, e.Value);
        }
コード例 #60
0
 public Hashtable(int capacity, float loadFactor, IHashCodeProvider hcp, IComparer comparer)
 {
 }