|
|
@@ -1,6 +1,10 @@
|
|
|
namespace Invercargill {
|
|
|
|
|
|
- public class SignedNativeIntegers : Numbers<int, SignedNativeIntegers> {
|
|
|
+ public class SignedNativeIntegers : Numbers<SignedNativeIntegers, int>, PromotionWrapper<SignedNativeIntegers, int> {
|
|
|
+
|
|
|
+ protected override SignedNativeIntegers passthrough() {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
protected override SignedNativeIntegers adhere(Enumerable<int> enumerable) {
|
|
|
return (SignedNativeIntegers)new SignedNativeIntegers().wrap(enumerable);
|
|
|
}
|
|
|
@@ -36,7 +40,11 @@ namespace Invercargill {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class UnsignedNativeIntegers : Numbers<uint, UnsignedNativeIntegers> {
|
|
|
+ public class UnsignedNativeIntegers : Numbers<UnsignedNativeIntegers, uint> {
|
|
|
+
|
|
|
+ protected override UnsignedNativeIntegers passthrough() {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
protected override UnsignedNativeIntegers adhere(Enumerable<uint> enumerable) {
|
|
|
return (UnsignedNativeIntegers)new UnsignedNativeIntegers().wrap(enumerable);
|
|
|
}
|
|
|
@@ -72,7 +80,11 @@ namespace Invercargill {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class Signed8BitIntegers : Numbers<int8, Signed8BitIntegers> {
|
|
|
+ public class Signed8BitIntegers : Numbers<Signed8BitIntegers, int8> {
|
|
|
+
|
|
|
+ protected override Signed8BitIntegers passthrough() {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
protected override Signed8BitIntegers adhere(Enumerable<int8> enumerable) {
|
|
|
return (Signed8BitIntegers)new Signed8BitIntegers().wrap(enumerable);
|
|
|
}
|
|
|
@@ -108,7 +120,11 @@ namespace Invercargill {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class Unsigned8BitIntegers : Numbers<uint8, Unsigned8BitIntegers> {
|
|
|
+ public class Unsigned8BitIntegers : Numbers<Unsigned8BitIntegers, uint8> {
|
|
|
+
|
|
|
+ protected override Unsigned8BitIntegers passthrough() {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
protected override Unsigned8BitIntegers adhere(Enumerable<uint8> enumerable) {
|
|
|
return (Unsigned8BitIntegers)new Unsigned8BitIntegers().wrap(enumerable);
|
|
|
}
|
|
|
@@ -144,7 +160,11 @@ namespace Invercargill {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class Signed16BitIntegers : Numbers<int16, Signed16BitIntegers> {
|
|
|
+ public class Signed16BitIntegers : Numbers<Signed16BitIntegers, int16> {
|
|
|
+
|
|
|
+ protected override Signed16BitIntegers passthrough() {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
protected override Signed16BitIntegers adhere(Enumerable<int16> enumerable) {
|
|
|
return (Signed16BitIntegers)new Signed16BitIntegers().wrap(enumerable);
|
|
|
}
|
|
|
@@ -180,7 +200,11 @@ namespace Invercargill {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class Unsigned16BitIntegers : Numbers<uint16, Unsigned16BitIntegers> {
|
|
|
+ public class Unsigned16BitIntegers : Numbers<Unsigned16BitIntegers, uint16> {
|
|
|
+
|
|
|
+ protected override Unsigned16BitIntegers passthrough() {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
protected override Unsigned16BitIntegers adhere(Enumerable<uint16> enumerable) {
|
|
|
return (Unsigned16BitIntegers)new Unsigned16BitIntegers().wrap(enumerable);
|
|
|
}
|
|
|
@@ -216,7 +240,11 @@ namespace Invercargill {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class Signed32BitIntegers : Numbers<int32, Signed32BitIntegers> {
|
|
|
+ public class Signed32BitIntegers : Numbers<Signed32BitIntegers, int32> {
|
|
|
+
|
|
|
+ protected override Signed32BitIntegers passthrough() {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
protected override Signed32BitIntegers adhere(Enumerable<int32> enumerable) {
|
|
|
return (Signed32BitIntegers)new Signed32BitIntegers().wrap(enumerable);
|
|
|
}
|
|
|
@@ -252,7 +280,11 @@ namespace Invercargill {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class Unsigned32BitIntegers : Numbers<uint32, Unsigned32BitIntegers> {
|
|
|
+ public class Unsigned32BitIntegers : Numbers<Unsigned32BitIntegers, uint32> {
|
|
|
+
|
|
|
+ protected override Unsigned32BitIntegers passthrough() {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
protected override Unsigned32BitIntegers adhere(Enumerable<uint32> enumerable) {
|
|
|
return (Unsigned32BitIntegers)new Unsigned32BitIntegers().wrap(enumerable);
|
|
|
}
|
|
|
@@ -288,7 +320,11 @@ namespace Invercargill {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class Signed64BitIntegers : Numbers<int64?, Signed64BitIntegers> {
|
|
|
+ public class Signed64BitIntegers : Numbers<Signed64BitIntegers, int64?> {
|
|
|
+
|
|
|
+ protected override Signed64BitIntegers passthrough() {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
protected override Signed64BitIntegers adhere(Enumerable<int64?> enumerable) {
|
|
|
return (Signed64BitIntegers)new Signed64BitIntegers().wrap(enumerable);
|
|
|
}
|
|
|
@@ -324,7 +360,11 @@ namespace Invercargill {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class Unsigned64BitIntegers : Numbers<uint64?, Unsigned64BitIntegers> {
|
|
|
+ public class Unsigned64BitIntegers : Numbers<Unsigned64BitIntegers, uint64?> {
|
|
|
+
|
|
|
+ protected override Unsigned64BitIntegers passthrough() {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
protected override Unsigned64BitIntegers adhere(Enumerable<uint64?> enumerable) {
|
|
|
return (Unsigned64BitIntegers)new Unsigned64BitIntegers().wrap(enumerable);
|
|
|
}
|
|
|
@@ -360,7 +400,11 @@ namespace Invercargill {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class Doubles : Numbers<double?, Doubles> {
|
|
|
+ public class Doubles : Numbers<Doubles, double?> {
|
|
|
+
|
|
|
+ protected override Doubles passthrough() {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
protected override Doubles adhere(Enumerable<double?> enumerable) {
|
|
|
return (Doubles)new Doubles().wrap(enumerable);
|
|
|
}
|
|
|
@@ -396,7 +440,11 @@ namespace Invercargill {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class Floats : Numbers<float?, Floats> {
|
|
|
+ public class Floats : Numbers<Floats, float?> {
|
|
|
+
|
|
|
+ protected override Floats passthrough() {
|
|
|
+ return this;
|
|
|
+ }
|
|
|
protected override Floats adhere(Enumerable<float?> enumerable) {
|
|
|
return (Floats)new Floats().wrap(enumerable);
|
|
|
}
|