fn put_default_constructible(&mut self) -> BackendResult {
        writeln!(self.out, "struct DefaultConstructible {{")?;
        writeln!(self.out, "    template<typename T>")?;
        writeln!(self.out, "    operator T() && {{")?;
        writeln!(self.out, "        return T {{}};")?;
        writeln!(self.out, "    }}")?;
        writeln!(self.out, "}};")?;
        Ok(())
    }
/// Write the definition for the `DefaultConstructible` class.
///
/// The [`ReadZeroSkipWrite`] bounds check policy requires us to be able to
/// produce 'zero' values for any type, including structs, arrays, and so
/// on. We could do this by emitting default constructor applications, but
/// that would entail printing the name of the type, which is more trouble
/// than you'd think. Instead, we just construct this magic C++14 class that
/// can be converted to any type that can be default constructed, using
/// template parameter inference to detect which type is needed, so we don't
/// have to figure out the name.
///
/// [`ReadZeroSkipWrite`]: index::BoundsCheckPolicy::ReadZeroSkipWrite
Write the definition for the `DefaultConstructible` class.
The [`ReadZeroSkipWrite`] bounds check policy requires us to be able to
produce 'zero' values for any type, including structs, arrays, and so
on. We could do this by emitting default constructor applications, but
that would entail printing the name of the type, which is more trouble
than you'd think. Instead, we just construct this magic C++14 class that
can be converted to any type that can be default constructed, using
template parameter inference to detect which type is needed, so we don't
have to figure out the name.


Write the definition for the ` DefaultConstructible ` class . The [ ` ReadZeroSkipWrite ` ] bounds check policy requires us to be able to produce ' zero ' values for any type including structs arrays and so on . We could do this by emitting default constructor applications but that would entail printing the name of the type which is more trouble than you ' d think . Instead we just construct this magic C ++ 14 class that can be converted to any type that can be default constructed using template parameter inference to detect which type is needed so we don ' t have to figure out the name .
fn put_default_constructible(&mut self) -> BackendResult {
        writeln!(self.out, "struct DefaultConstructible {{")?;
        writeln!(self.out, "    template<typename T>")?;
        writeln!(self.out, "    operator T() && {{")?;
        writeln!(self.out, "        return T {{}};")?;
        writeln!(self.out, "    }}")?;
        writeln!(self.out, "}};")?;
        Ok(())
    }
fn put_default_constructible ( & mut self ) -> BackendResult { writeln ! ( self out " " ) ? ; writeln ! ( self out " " ) ? ; writeln ! ( self out " " ) ? ; writeln ! ( self out " " ) ? ; writeln ! ( self out " " ) ? ; writeln ! ( self out " " ) ? ; Ok ( ( ) ) }
Write the definition for the `DefaultConstructible` class.
Write the definition for the ` DefaultConstructible ` class .
&mut self
&mut self