use crate::prelude::*;
///Trait for types that can be converted into an alternative template (either a key or a template)
pub enum KeyOrTemplate<T>
{
/// A key
Key(graphcore::Key),
/// A template
Template(T),
}
impl crate::IntoMatchNodeTemplate for KeyOrTemplate<NodeTemplate>
{
type VariableType = crate::Variable;
fn into_node_template(self) -> KeyOrTemplate<NodeTemplate>
{
self
}
}
impl crate::IntoMatchEdgeTemplate for KeyOrTemplate<MatchEdgeTemplate>
{
type VariableType = crate::Variable;
fn into_edge_template(self, _builder: &mut Builder) -> KeyOrTemplate<MatchEdgeTemplate>
{
self
}
}