public static TFilter GetTag <TFilter>(this TFilter filter, out FilterTag tag) where TFilter : IBaseFilter { tag = new EmptyTag(); tag.AddInput(filter); return(filter); }
public static FilterTag Append(this FilterTag tag, FilterTag newTag) { if (tag != null && newTag != null) { newTag.AddInputLabel(tag); } return(newTag ?? tag); }
public static bool IsNullOrEmpty(this FilterTag tag) { return(tag == null || tag.IsEmpty()); }
public bool ConnectedTo(FilterTag tag) { return((m_Index < tag.m_Index) ? tag.HasAncestor(this) : HasAncestor(tag)); }
public bool HasAncestor(FilterTag ancestor) { return((this == ancestor) || (m_Index > ancestor.m_Index && m_InputTags.Any(t => t.HasAncestor(ancestor)))); }
public void AddInputLabel(FilterTag tag) { m_InputTags.Add(tag); }
public static TFilter Tagged <TFilter>(this TFilter filter, FilterTag tag) where TFilter : IBaseFilter { filter.AddTag(tag); return(filter); }
public void AddTag(FilterTag newTag) { Tag = Tag.Append(newTag); }