#![doc(
html_logo_url = "https://raw.githubusercontent.com/Kogia-sima/sailfish/master/resources/icon.png"
)]
#![cfg_attr(black_marlin_nightly, feature(core_intrinsics))]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![allow(clippy::redundant_closure)]
#![deny(missing_docs)]
pub mod runtime;
use runtime::Buffer;
pub use runtime::{RenderError, RenderResult};
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
pub use black_marlin_macros::TemplateOnce;
pub trait TemplateOnce: Sized + private::Sealed {
fn render_once(self) -> runtime::RenderResult;
fn render_once_to(self, buf: &mut Buffer) -> Result<(), RenderError>;
}
pub trait Template: private::Sealed {
fn render(&self) -> runtime::RenderResult;
}
#[doc(hidden)]
pub mod private {
pub trait Sealed {}
}