// Generated by hobgoblin. pub fn encode_bool(value: &::core::primitive::bool, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> { if *value { writer.write_all(&1u8.to_le_bytes())?; } else { writer.write_all(&0u8.to_le_bytes())?; }; ::std::io::Result::Ok(()) } pub fn decode_bool(reader: &mut impl std::io::Read) -> ::std::io::Result::<::core::primitive::bool> { let int_value = { let bytes = { let mut bytes = [0; 1]; reader.read_exact(&mut bytes)?; bytes }; u8::from_le_bytes(bytes) }; std::io::Result::Ok(if int_value == 0 { false } else { true }) } pub fn encode_int_32(value: &::core::primitive::i32, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> { writer.write_all(&value.to_le_bytes())?; ::std::io::Result::Ok(()) } pub fn decode_int_32(reader: &mut impl std::io::Read) -> ::std::io::Result::<::core::primitive::i32> { let bytes = { let mut bytes = [0; 4]; reader.read_exact(&mut bytes)?; bytes }; std::io::Result::Ok(::core::primitive::i32::from_le_bytes(bytes)) } pub fn encode_int_64(value: &::core::primitive::i64, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> { writer.write_all(&value.to_le_bytes())?; ::std::io::Result::Ok(()) } pub fn decode_int_64(reader: &mut impl std::io::Read) -> ::std::io::Result::<::core::primitive::i64> { let bytes = { let mut bytes = [0; 8]; reader.read_exact(&mut bytes)?; bytes }; std::io::Result::Ok(::core::primitive::i64::from_le_bytes(bytes)) } pub fn encode_string(value: &::std::string::String, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> { { crate::transient_0::encode_int_64(&((value.len()).try_into()).unwrap(), writer)?; }; writer.write_all(value.as_bytes())?; ::std::io::Result::Ok(()) } pub fn decode_string(reader: &mut impl std::io::Read) -> ::std::io::Result::<::std::string::String> { let len = crate::transient_0::decode_int_64(reader)?; let bytes = { let mut bytes = vec![0u8; (len.try_into()).unwrap()]; reader.read_exact(&mut bytes)?; bytes }; std::io::Result::Ok((::std::string::String::from_utf8(bytes)).unwrap()) }