/// <summary>
        /// Creates a new <see cref="IMetroHash128"/> instance with given configuration.
        /// </summary>
        /// <param name="config">The configuration to use.</param>
        /// <returns>
        /// A <see cref="IMetroHash128" /> instance.
        /// </returns>
        /// <exception cref="ArgumentNullException"><paramref name="config"/></exception>
        public override IMetroHash128 Create(IMetroHashConfig config)
        {
            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            return(new MetroHash128_Implementation(config));
        }
        public MetroHash64_Implementation(IMetroHashConfig config)
        {
            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            _config = config.Clone();
        }
Esempio n. 3
0
 /// <summary>
 /// Creates a new <typeparamref name="TMetroHash"/> instance with given configuration.
 /// </summary>
 /// <param name="config">The configuration to use.</param>
 /// <returns>
 /// A <see cref="IMetroHash" /> instance.
 /// </returns>
 /// <exception cref="ArgumentNullException"><paramref name="config"/></exception>
 public abstract TMetroHash Create(IMetroHashConfig config);
Esempio n. 4
0
 /// <summary>
 /// Creates a new <see cref="IMetroHash"/> instance with given configuration.
 /// </summary>
 /// <param name="config">The configuration to use.</param>
 /// <returns>
 /// A <see cref="IMetroHash" /> instance.
 /// </returns>
 /// <exception cref="ArgumentNullException"><paramref name="config"/></exception>
 IMetroHash IMetroHashFactory.Create(IMetroHashConfig config) => Create(config);
 public override IMetroHash Create(IMetroHashConfig config) => _createWithConfig(config);