2using System.Collections.Generic;
3using System.Threading.Tasks;
63 return this.GetType() == E.GetType();
71 public override bool Equals(
object obj)
73 return this.GetType().Equals(obj.GetType());
82 return this.GetType().GetHashCode();
117 return Callback(
this, State);
126 protected static bool AreEqual(Array Items1, Array Items2)
128 int i, c = Items1.Length;
129 if (Items2.Length != c)
132 for (i = 0; i < c; i++)
134 if (!Items1.GetValue(i)?.Equals(Items2.GetValue(i)) ?? Items2.GetValue(i) is
null)
151 foreach (
object Item
in Items)
153 h2 = Item?.GetHashCode() ?? 0;
154 h1 = ((h1 << 5) + h1) ^ h2;
Contains a markdown document. This markdown document class supports original markdown,...
Contains some basic statistical information about a Markdown document.
Abstract base class for all markdown elements.
override string ToString()
static int GetHashCode(Array Items)
Calculates a hash value on an array.
virtual bool ForEach(MarkdownElementHandler Callback, object State)
Loops through all child-elements for the element.
override bool Equals(object obj)
Determines whether the specified object is equal to the current object.
virtual bool SameMetaData(MarkdownElement E)
If the current object has same meta-data as E (but not necessarily same content).
virtual bool IsBlockElement
If the element is a block element.
abstract void IncrementStatistics(MarkdownStatistics Statistics)
Increments the property or properties in Statistics corresponding to the element.
abstract Task Render(IRenderer Output)
Renders the element.
virtual IEnumerable< MarkdownElement > Children
Any children of the element.
abstract bool InlineSpanElement
If the element is an inline span element.
override int GetHashCode()
Serves as the default hash function.
virtual bool OutsideParagraph
If element, parsed as a span element, can stand outside of a paragraph if alone in it.
MarkdownDocument Document
Markdown document.
static bool AreEqual(Array Items1, Array Items2)
Checks if two typed arrays are equal
MarkdownElement(MarkdownDocument Document)
Abstract base class for all markdown elements.
Renders portable Markdown from a Markdown document.
Abstract base class for Markdown renderers.
override string ToString()
Returns the renderer output.
Interface for Markdown renderers.
BaselineAlignment
Where baselign of horizontally organized elements are rendered.
delegate bool MarkdownElementHandler(MarkdownElement Element, object State)
Delegate for markdown element callback methods.