/[RomCheater]/trunk/RomCheater.Logging/EnumNameValuePair.cs
ViewVC logotype

Diff of /trunk/RomCheater.Logging/EnumNameValuePair.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 813 by william, Tue Apr 15 14:52:10 2014 UTC revision 814 by william, Tue Apr 15 15:58:50 2014 UTC
# Line 1  Line 1 
1  ´╗┐//using System;  ´╗┐using System;
2  //using System.Collections.Generic;  using System.Collections.Generic;
3  //using System.Linq;  using System.Linq;
4  //using System.Text;  using System.Text;
5    
6  //namespace RomCheater.Logging  namespace RomCheater.Logging
7  //{  {
8  //    public class EnumNameValuePair<TValue>      internal class EnumNameValuePair<TValue>
9  //        where TValue : IConvertible          where TValue : IConvertible
10  //    {      {
11  //        #region implicit operators          #region implicit operators
12  //        //public static implicit operator EnumNameValuePair<TValue>(TValue o) { return new EnumNameValuePair<TValue>("", o); }          //public static implicit operator EnumNameValuePair<TValue>(TValue o) { return new EnumNameValuePair<TValue>("", o); }
13  //        public static implicit operator TValue(EnumNameValuePair<TValue> o) { return o.Value; }          public static implicit operator TValue(EnumNameValuePair<TValue> o) { return o.Value; }
14  //        public static implicit operator string(EnumNameValuePair<TValue> o) { return o.Name; }          public static implicit operator string(EnumNameValuePair<TValue> o) { return o.Name; }
15  //        public static TValue operator |(EnumNameValuePair<TValue> x, EnumNameValuePair<TValue> y) { return bitwise_or(x, y); }          public static TValue operator |(EnumNameValuePair<TValue> x, EnumNameValuePair<TValue> y) { return bitwise_or(x, y); }
16  //        public static TValue operator &(EnumNameValuePair<TValue> x, EnumNameValuePair<TValue> y) { return bitwise_and(x, y); }          public static TValue operator &(EnumNameValuePair<TValue> x, EnumNameValuePair<TValue> y) { return bitwise_and(x, y); }
17  //        public static bool operator ==(EnumNameValuePair<TValue> x, EnumNameValuePair<TValue> y) { return x.Value.Equals(y.Value); }          public static bool operator ==(EnumNameValuePair<TValue> x, EnumNameValuePair<TValue> y) { return x.Value.Equals(y.Value); }
18  //        public static bool operator !=(EnumNameValuePair<TValue> x, EnumNameValuePair<TValue> y) { return !x.Value.Equals(y.Value); }          public static bool operator !=(EnumNameValuePair<TValue> x, EnumNameValuePair<TValue> y) { return !x.Value.Equals(y.Value); }
19  //        public override bool Equals(object obj)          public override bool Equals(object obj)
20  //        {          {
21  //            EnumNameValuePair<TValue> t = (obj as EnumNameValuePair<TValue>);              EnumNameValuePair<TValue> t = (obj as EnumNameValuePair<TValue>);
22  //            if (t == null) return false;              if (t == null) return false;
23  //           return this.Value.Equals(t.Value);              return this.Value.Equals(t.Value);
24  //        }          }
25  //        public override int GetHashCode()          public override int GetHashCode()
26  //        {          {
27  //            return base.GetHashCode();              return base.GetHashCode();
28  //        }          }
29  //        #endregion          #endregion
30  //        public EnumNameValuePair() : this("") { }          public EnumNameValuePair() : this("") { }
31  //        public EnumNameValuePair(string name) : this(name, default(TValue)) { }          public EnumNameValuePair(string name) : this(name, default(TValue)) { }
32  //        public EnumNameValuePair(string name, TValue value)          public EnumNameValuePair(string name, TValue value)
33  //        {          {
34  //            this.Name = name;              this.Name = name;
35  //            this.Value = value;              this.Value = value;
36  //        }          }
37  //        public string Name { get; protected set; }          public string Name { get; protected set; }
38  //        public TValue Value { get; protected set; }          public TValue Value { get; protected set; }
39  //        public override string ToString()          public override string ToString()
40  //        {          {
41  //            return string.Format("[{0}: 0x{1:x8}]", Name.ToString(), Value);              return string.Format("[{0}: 0x{1:x8}]", Name.ToString(), Value);
42  //        }          }
43  //        private static TValue bitwise_or(EnumNameValuePair<TValue> x, EnumNameValuePair<TValue> y)          private static TValue bitwise_or(EnumNameValuePair<TValue> x, EnumNameValuePair<TValue> y)
44  //        {          {
45  //            #region bitwise code              #region bitwise code
46  //            string type = (typeof(TValue).Name);              string type = (typeof(TValue).Name);
47  //            if (type.ToLower() == "byte")              if (type.ToLower() == "byte")
48  //            {              {
49  //                byte x1 = Convert.ToByte(x.Value);                  byte x1 = Convert.ToByte(x.Value);
50  //                byte y1 = Convert.ToByte(y.Value);                  byte y1 = Convert.ToByte(y.Value);
51  //                return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));
52  //            }              }
53  //            else if (type.ToLower() == "sbyte")              else if (type.ToLower() == "sbyte")
54  //            {              {
55  //                sbyte x1 = Convert.ToSByte(x.Value);                  sbyte x1 = Convert.ToSByte(x.Value);
56  //                sbyte y1 = Convert.ToSByte(y.Value);                  sbyte y1 = Convert.ToSByte(y.Value);
57  //                return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));
58  //            }              }
59  //            else if (type.ToLower() == "int16")              else if (type.ToLower() == "int16")
60  //            {              {
61  //                short x1 = Convert.ToInt16(x.Value);                  short x1 = Convert.ToInt16(x.Value);
62  //                short y1 = Convert.ToInt16(y.Value);                  short y1 = Convert.ToInt16(y.Value);
63  //                return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));
64  //            }              }
65  //            else if (type.ToLower() == "uint16")              else if (type.ToLower() == "uint16")
66  //            {              {
67  //                ushort x1 = Convert.ToUInt16(x.Value);                  ushort x1 = Convert.ToUInt16(x.Value);
68  //                ushort y1 = Convert.ToUInt16(y.Value);                  ushort y1 = Convert.ToUInt16(y.Value);
69  //                return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));
70  //            }              }
71  //            else if (type.ToLower() == "int32")              else if (type.ToLower() == "int32")
72  //            {              {
73  //                int x1 = Convert.ToInt32(x.Value);                  int x1 = Convert.ToInt32(x.Value);
74  //                int y1 = Convert.ToInt32(y.Value);                  int y1 = Convert.ToInt32(y.Value);
75  //                return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));
76  //            }              }
77  //            else if (type.ToLower() == "uint32")              else if (type.ToLower() == "uint32")
78  //            {              {
79  //                uint x1 = Convert.ToUInt32(x.Value);                  uint x1 = Convert.ToUInt32(x.Value);
80  //                uint y1 = Convert.ToUInt32(y.Value);                  uint y1 = Convert.ToUInt32(y.Value);
81  //                return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));
82  //            }              }
83  //            else if (type.ToLower() == "int64")              else if (type.ToLower() == "int64")
84  //            {              {
85  //                long x1 = Convert.ToInt64(x.Value);                  long x1 = Convert.ToInt64(x.Value);
86  //                long y1 = Convert.ToInt64(y.Value);                  long y1 = Convert.ToInt64(y.Value);
87  //                return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));
88  //            }              }
89  //            else if (type.ToLower() == "uint64")              else if (type.ToLower() == "uint64")
90  //            {              {
91  //                ulong x1 = Convert.ToUInt64(x.Value);                  ulong x1 = Convert.ToUInt64(x.Value);
92  //                ulong y1 = Convert.ToUInt64(y.Value);                  ulong y1 = Convert.ToUInt64(y.Value);
93  //                return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 | y1, typeof(TValue));
94  //            }              }
95  //            else              else
96  //            {              {
97  //                throw new InvalidCastException(string.Format("Unable to cast values to type: {0}", type), new NotImplementedException(string.Format("Type: {0} has not been implemented", type)));                  throw new InvalidCastException(string.Format("Unable to cast values to type: {0}", type), new NotImplementedException(string.Format("Type: {0} has not been implemented", type)));
98  //            }              }
99  //            #endregion              #endregion
100  //        }          }
101  //        private static TValue bitwise_and(EnumNameValuePair<TValue> x, EnumNameValuePair<TValue> y)          private static TValue bitwise_and(EnumNameValuePair<TValue> x, EnumNameValuePair<TValue> y)
102  //        {          {
103  //            #region bitwise code              #region bitwise code
104  //            string type = (typeof(TValue).Name);              string type = (typeof(TValue).Name);
105  //            if (type.ToLower() == "byte")              if (type.ToLower() == "byte")
106  //            {              {
107  //                byte x1 = Convert.ToByte(x.Value);                  byte x1 = Convert.ToByte(x.Value);
108  //                byte y1 = Convert.ToByte(y.Value);                  byte y1 = Convert.ToByte(y.Value);
109  //                return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));
110  //            }              }
111  //            else if (type.ToLower() == "sbyte")              else if (type.ToLower() == "sbyte")
112  //            {              {
113  //                sbyte x1 = Convert.ToSByte(x.Value);                  sbyte x1 = Convert.ToSByte(x.Value);
114  //                sbyte y1 = Convert.ToSByte(y.Value);                  sbyte y1 = Convert.ToSByte(y.Value);
115  //                return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));
116  //            }              }
117  //            else if (type.ToLower() == "int16")              else if (type.ToLower() == "int16")
118  //            {              {
119  //                short x1 = Convert.ToInt16(x.Value);                  short x1 = Convert.ToInt16(x.Value);
120  //                short y1 = Convert.ToInt16(y.Value);                  short y1 = Convert.ToInt16(y.Value);
121  //                return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));
122  //            }              }
123  //            else if (type.ToLower() == "uint16")              else if (type.ToLower() == "uint16")
124  //            {              {
125  //                ushort x1 = Convert.ToUInt16(x.Value);                  ushort x1 = Convert.ToUInt16(x.Value);
126  //                ushort y1 = Convert.ToUInt16(y.Value);                  ushort y1 = Convert.ToUInt16(y.Value);
127  //                return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));
128  //            }              }
129  //            else if (type.ToLower() == "int32")              else if (type.ToLower() == "int32")
130  //            {              {
131  //                int x1 = Convert.ToInt32(x.Value);                  int x1 = Convert.ToInt32(x.Value);
132  //                int y1 = Convert.ToInt32(y.Value);                  int y1 = Convert.ToInt32(y.Value);
133  //                return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));
134  //            }              }
135  //            else if (type.ToLower() == "uint32")              else if (type.ToLower() == "uint32")
136  //            {              {
137  //                uint x1 = Convert.ToUInt32(x.Value);                  uint x1 = Convert.ToUInt32(x.Value);
138  //                uint y1 = Convert.ToUInt32(y.Value);                  uint y1 = Convert.ToUInt32(y.Value);
139  //                return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));
140  //            }              }
141  //            else if (type.ToLower() == "int64")              else if (type.ToLower() == "int64")
142  //            {              {
143  //                long x1 = Convert.ToInt64(x.Value);                  long x1 = Convert.ToInt64(x.Value);
144  //                long y1 = Convert.ToInt64(y.Value);                  long y1 = Convert.ToInt64(y.Value);
145  //                return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));
146  //            }              }
147  //            else if (type.ToLower() == "uint64")              else if (type.ToLower() == "uint64")
148  //            {              {
149  //                ulong x1 = Convert.ToUInt64(x.Value);                  ulong x1 = Convert.ToUInt64(x.Value);
150  //                ulong y1 = Convert.ToUInt64(y.Value);                  ulong y1 = Convert.ToUInt64(y.Value);
151  //                return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));                  return (TValue)Convert.ChangeType(x1 & y1, typeof(TValue));
152  //            }              }
153  //            else              else
154  //            {              {
155  //                throw new InvalidCastException(string.Format("Unable to cast values to type: {0}", type), new NotImplementedException(string.Format("Type: {0} has not been implemented", type)));                  throw new InvalidCastException(string.Format("Unable to cast values to type: {0}", type), new NotImplementedException(string.Format("Type: {0} has not been implemented", type)));
156  //            }              }
157  //            #endregion              #endregion
158  //        }          }
159    
160  //        internal static TValue bitwise_or(TValue x, TValue y)          internal static TValue bitwise_or(TValue x, TValue y)
161  //        {          {
162  //            return bitwise_or(new EnumNameValuePair<TValue>("",x), new EnumNameValuePair<TValue>("",y));              return bitwise_or(new EnumNameValuePair<TValue>("", x), new EnumNameValuePair<TValue>("", y));
163  //        }          }
164  //        public static TValue bitwise_or(params EnumNameValuePair<TValue>[] values)          public static TValue bitwise_or(params EnumNameValuePair<TValue>[] values)
165  //        {          {
166  //            if (!(values.Length > 1 )) { throw new InvalidOperationException("bitwise_or must have at least two operands"); }              if (!(values.Length > 1)) { throw new InvalidOperationException("bitwise_or must have at least two operands"); }
167  //            TValue value = default(TValue);              TValue value = default(TValue);
168  //            foreach (EnumNameValuePair<TValue> v in values) { value = bitwise_or(value, v.Value); }              foreach (EnumNameValuePair<TValue> v in values) { value = bitwise_or(value, v.Value); }
169  //            return value;              return value;
170  //        }          }
171    
172  //        internal static TValue bitwise_and(TValue x, TValue y)          internal static TValue bitwise_and(TValue x, TValue y)
173  //        {          {
174  //            return bitwise_and(new EnumNameValuePair<TValue>("", x), new EnumNameValuePair<TValue>("", y));              return bitwise_and(new EnumNameValuePair<TValue>("", x), new EnumNameValuePair<TValue>("", y));
175  //        }          }
176  //        public static TValue bitwise_and(params EnumNameValuePair<TValue>[] values)          public static TValue bitwise_and(params EnumNameValuePair<TValue>[] values)
177  //        {          {
178  //            if (!(values.Length > 1)) { throw new InvalidOperationException("bitwise_and must have at least two operands"); }              if (!(values.Length > 1)) { throw new InvalidOperationException("bitwise_and must have at least two operands"); }
179  //            TValue value = default(TValue);              TValue value = default(TValue);
180  //            foreach (EnumNameValuePair<TValue> v in values) { value = bitwise_and(value, v.Value); }              foreach (EnumNameValuePair<TValue> v in values) { value = bitwise_and(value, v.Value); }
181  //            return value;              return value;
182  //        }          }
183  //    }      }
184  //}  }

Legend:
Removed from v.813  
changed lines
  Added in v.814

  ViewVC Help
Powered by ViewVC 1.1.22