summaryrefslogtreecommitdiffstats
path: root/src/buildable.rs
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-04-24 12:29:31 +0200
committerMatthias Beyer <mail@beyermatthias.de>2021-04-24 12:29:31 +0200
commit39c3321f86e6360d249d207f32ae3c7b41f44cd3 (patch)
tree19a6ebe49df03d0b66c471071d4d9862295fd09c /src/buildable.rs
parentc3b6b537e0afcab444e5558bd3e96e9da3940fdc (diff)
Implement interfaces for all simple types
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src/buildable.rs')
-rw-r--r--src/buildable.rs144
1 files changed, 144 insertions, 0 deletions
diff --git a/src/buildable.rs b/src/buildable.rs
index 718ca73..d1d2572 100644
--- a/src/buildable.rs
+++ b/src/buildable.rs
@@ -18,3 +18,147 @@ impl BuildableValue for bool {
}
}
+impl BuildableValue for u8 {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = u8, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.u8_builder()
+ }
+}
+
+impl BuildableValue for u16 {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = u16, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.u16_builder()
+ }
+}
+
+impl BuildableValue for u32 {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = u32, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.u32_builder()
+ }
+}
+
+impl BuildableValue for u64 {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = u64, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.u64_builder()
+ }
+}
+
+impl BuildableValue for u128 {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = u128, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.u128_builder()
+ }
+}
+
+impl BuildableValue for i8 {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = i8, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.i8_builder()
+ }
+}
+
+impl BuildableValue for i16 {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = i16, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.i16_builder()
+ }
+}
+
+impl BuildableValue for i32 {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = i32, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.i32_builder()
+ }
+}
+
+impl BuildableValue for i64 {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = i64, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.i64_builder()
+ }
+}
+
+impl BuildableValue for i128 {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = i128, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.i128_builder()
+ }
+}
+
+impl BuildableValue for usize {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = usize, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.usize_builder()
+ }
+}
+
+impl BuildableValue for isize {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = isize, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.isize_builder()
+ }
+}
+
+impl BuildableValue for f32 {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = f32, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.f32_builder()
+ }
+}
+
+impl BuildableValue for f64 {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = f64, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.f64_builder()
+ }
+}
+
+impl BuildableValue for char {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = char, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.char_builder()
+ }
+}
+
+impl BuildableValue for String {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = String, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.string_builder()
+ }
+}
+