/**
 * Autogenerated by Thrift Compiler (0.14.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Thrift;
using Thrift.Collections;
using System.ServiceModel;
using System.Runtime.Serialization;


#pragma warning disable IDE0079  // remove unnecessary pragmas
#pragma warning disable IDE1006  // parts of the code use IDL spelling

namespace Facebook.FB303.Test
{
  public static class fb303Extensions
  {
    public static bool Equals(this Dictionary<string, long> instance, object that)
    {
      if (!(that is Dictionary<string, long> other)) return false;
      if (ReferenceEquals(instance, other)) return true;

      return TCollections.Equals(instance, other);
    }


    public static int GetHashCode(this Dictionary<string, long> instance)
    {
      return TCollections.GetHashCode(instance);
    }


    public static Dictionary<string, long> DeepCopy(this Dictionary<string, long> source)
    {
      if (source == null)
        return null;

      var tmp58 = new Dictionary<string, long>(source.Count);
      foreach (var pair in source)
        tmp58.Add((pair.Key != null) ? pair.Key : null, pair.Value);
      return tmp58;
    }


    public static bool Equals(this Dictionary<string, string> instance, object that)
    {
      if (!(that is Dictionary<string, string> other)) return false;
      if (ReferenceEquals(instance, other)) return true;

      return TCollections.Equals(instance, other);
    }


    public static int GetHashCode(this Dictionary<string, string> instance)
    {
      return TCollections.GetHashCode(instance);
    }


    public static Dictionary<string, string> DeepCopy(this Dictionary<string, string> source)
    {
      if (source == null)
        return null;

      var tmp59 = new Dictionary<string, string>(source.Count);
      foreach (var pair in source)
        tmp59.Add((pair.Key != null) ? pair.Key : null, (pair.Value != null) ? pair.Value : null);
      return tmp59;
    }


  }
}
