Add a comment for each enum member.

This commit is contained in:
Jacob 2024-05-17 15:06:16 +02:00
parent 3c7f1ef085
commit e178332f7a

View file

@ -54,171 +54,171 @@ namespace docpp {
* @brief Enum for element tags. * @brief Enum for element tags.
*/ */
enum Tag { enum Tag {
ELEMENT_EMPTY, ELEMENT_EMPTY, /* Empty element */
ELEMENT_EMPTY_NO_FORMAT, ELEMENT_EMPTY_NO_FORMAT, /* Empty element, that ignores any formatting by get() calls. */
ELEMENT_ABBREVIATION, ELEMENT_ABBREVIATION, /* <abbr></abbr> */
ELEMENT_ABBR, ELEMENT_ABBR, /* <abbr></abbr> */
ELEMENT_ACRONYM, ELEMENT_ACRONYM, /* <acronym></acronym> */
ELEMENT_ADDRESS, ELEMENT_ADDRESS, /* <address></address> */
ELEMENT_ANCHOR, ELEMENT_ANCHOR, /* <a></a> */
ELEMENT_A, ELEMENT_A, /* <a></a> */
ELEMENT_APPLET, ELEMENT_APPLET, /* <applet></applet> */
ELEMENT_ARTICLE, ELEMENT_ARTICLE, /* <article></article> */
ELEMENT_AREA, ELEMENT_AREA, /* <area></area> */
ELEMENT_ASIDE, ELEMENT_ASIDE, /* <aside></aside> */
ELEMENT_AUDIO, ELEMENT_AUDIO, /* <audio></audio> */
ELEMENT_BASE, ELEMENT_BASE, /* <base></base> */
ELEMENT_BASEFONT, ELEMENT_BASEFONT, /* <basefont></basefont> */
ELEMENT_BDI, ELEMENT_BDI, /* <bdi></bdi> */
ELEMENT_BDO, ELEMENT_BDO, /* <bdo></bdo> */
ELEMENT_BGSOUND, ELEMENT_BGSOUND, /* <bgsound></bgsound> */
ELEMENT_BIG, ELEMENT_BIG, /* <big></big> */
ELEMENT_BLOCKQUOTE, ELEMENT_BLOCKQUOTE, /* <blockquote></blockquote> */
ELEMENT_BODY, ELEMENT_BODY, /* <body></body> */
ELEMENT_BOLD, ELEMENT_BOLD, /* <b></b> */
ELEMENT_B, ELEMENT_B, /* <b></b> */
ELEMENT_BR, ELEMENT_BR, /* <br> */
ELEMENT_BREAK, ELEMENT_BREAK, /* <br> */
ELEMENT_BUTTON, ELEMENT_BUTTON, /* <button></button> */
ELEMENT_CAPTION, ELEMENT_CAPTION, /* <caption></caption> */
ELEMENT_CANVAS, ELEMENT_CANVAS, /* <canvas></canvas> */
ELEMENT_CENTER, ELEMENT_CENTER, /* <center></center> */
ELEMENT_CITE, ELEMENT_CITE, /* <cite></cite> */
ELEMENT_CODE, ELEMENT_CODE, /* <code></code> */
ELEMENT_COLGROUP, ELEMENT_COLGROUP, /* <colgroup></colgroup> */
ELEMENT_COL, ELEMENT_COL, /* <col></col> */
ELEMENT_COLUMN, ELEMENT_COLUMN, /* <col></col> */
ELEMENT_DATA, ELEMENT_DATA, /* <data></data> */
ELEMENT_DATALIST, ELEMENT_DATALIST, /* <datalist></datalist> */
ELEMENT_DD, ELEMENT_DD, /* <dd></dd> */
ELEMENT_DFN, ELEMENT_DFN, /* <dfn></dfn> */
ELEMENT_DEFINE, ELEMENT_DEFINE, /* <dfn></dfn> */
ELEMENT_DELETE, ELEMENT_DELETE, /* <del></del> */
ELEMENT_DEL, ELEMENT_DEL, /* <del></del> */
ELEMENT_DETAILS, ELEMENT_DETAILS, /* <details></details> */
ELEMENT_DIALOG, ELEMENT_DIALOG, /* <dialog></dialog> */
ELEMENT_DIR, ELEMENT_DIR, /* <dir></dir> */
ELEMENT_DIV, ELEMENT_DIV, /* <div></div> */
ELEMENT_DL, ELEMENT_DL, /* <dl></dl> */
ELEMENT_DT, ELEMENT_DT, /* <dt></dt> */
ELEMENT_EMBED, ELEMENT_EMBED, /* <embed></embed> */
ELEMENT_FIELDSET, ELEMENT_FIELDSET, /* <fieldset></fieldset> */
ELEMENT_FIGCAPTION, ELEMENT_FIGCAPTION, /* <figcaption></figcaption> */
ELEMENT_FIGURE, ELEMENT_FIGURE, /* <figure></figure> */
ELEMENT_FONT, ELEMENT_FONT, /* <font></font> */
ELEMENT_FOOTER, ELEMENT_FOOTER, /* <footer></footer> */
ELEMENT_FORM, ELEMENT_FORM, /* <form></form> */
ELEMENT_FRAME, ELEMENT_FRAME, /* <frame></frame> */
ELEMENT_FRAMESET, ELEMENT_FRAMESET, /* <frameset></frameset> */
ELEMENT_HEAD, ELEMENT_HEAD, /* <head></head> */
ELEMENT_HEADER, ELEMENT_HEADER, /* <header></header> */
ELEMENT_H1, ELEMENT_H1, /* <h1></h1> */
ELEMENT_H2, ELEMENT_H2, /* <h2></h2> */
ELEMENT_H3, ELEMENT_H3, /* <h3></h3> */
ELEMENT_H4, ELEMENT_H4, /* <h4></h4> */
ELEMENT_H5, ELEMENT_H5, /* <h5></h5> */
ELEMENT_H6, ELEMENT_H6, /* <h6></h6> */
ELEMENT_HGROUP, ELEMENT_HGROUP, /* <hgroup></hgroup> */
ELEMENT_HR, ELEMENT_HR, /* <hr> */
ELEMENT_HTML, ELEMENT_HTML, /* <html></html> */
ELEMENT_IFRAME, ELEMENT_IFRAME, /* <iframe></iframe> */
ELEMENT_IMAGE, ELEMENT_IMAGE, /* <img> */
ELEMENT_IMG, ELEMENT_IMG, /* <img> */
ELEMENT_INPUT, ELEMENT_INPUT, /* <input> */
ELEMENT_INS, ELEMENT_INS, /* <ins></ins> */
ELEMENT_ISINDEX, ELEMENT_ISINDEX, /* <isindex></isindex> */
ELEMENT_ITALIC, ELEMENT_ITALIC, /* <i></i> */
ELEMENT_I, ELEMENT_I, /* <i></i> */
ELEMENT_KBD, ELEMENT_KBD, /* <kbd></kbd> */
ELEMENT_KEYGEN, ELEMENT_KEYGEN, /* <keygen></keygen> */
ELEMENT_LABEL, ELEMENT_LABEL, /* <label></label> */
ELEMENT_LEGEND, ELEMENT_LEGEND, /* <legend></legend> */
ELEMENT_LIST, ELEMENT_LIST, /* <li></li> */
ELEMENT_LI, ELEMENT_LI, /* <li></li> */
ELEMENT_LINK, ELEMENT_LINK, /* <link></link> */
ELEMENT_MAIN, ELEMENT_MAIN, /* <main></main> */
ELEMENT_MARK, ELEMENT_MARK, /* <mark></mark> */
ELEMENT_MARQUEE, ELEMENT_MARQUEE, /* <marquee></marquee> */
ELEMENT_MENUITEM, ELEMENT_MENUITEM, /* <menuitem></menuitem> */
ELEMENT_META, ELEMENT_META, /* <meta></meta> */
ELEMENT_METER, ELEMENT_METER, /* <meter></meter> */
ELEMENT_NAV, ELEMENT_NAV, /* <nav></nav> */
ELEMENT_NOBREAK, ELEMENT_NOBREAK, /* <nobr></nobr> */
ELEMENT_NOBR, ELEMENT_NOBR, /* <nobr></nobr> */
ELEMENT_NOEMBED, ELEMENT_NOEMBED, /* <noembed></noembed> */
ELEMENT_NOSCRIPT, ELEMENT_NOSCRIPT, /* <noscript></noscript> */
ELEMENT_OBJECT, ELEMENT_OBJECT, /* <object></object> */
ELEMENT_OPTGROUP, ELEMENT_OPTGROUP, /* <optgroup></optgroup> */
ELEMENT_OPTION, ELEMENT_OPTION, /* <option></option> */
ELEMENT_OUTPUT, ELEMENT_OUTPUT, /* <output></output> */
ELEMENT_PARAGRAPH, ELEMENT_PARAGRAPH, /* <p></p> */
ELEMENT_P, ELEMENT_P, /* <p></p> */
ELEMENT_PARAM, ELEMENT_PARAM, /* <param></param> */
ELEMENT_PHRASE, ELEMENT_PHRASE, /* <pharse></pharse> */
ELEMENT_PRE, ELEMENT_PRE, /* <pre></pre> */
ELEMENT_PROGRESS, ELEMENT_PROGRESS, /* <progress></progress> */
ELEMENT_QUOTE, ELEMENT_QUOTE, /* <q></q> */
ELEMENT_Q, ELEMENT_Q, /* <q></q> */
ELEMENT_RP, ELEMENT_RP, /* <rp></rp> */
ELEMENT_RT, ELEMENT_RT, /* <rt></rt> */
ELEMENT_RUBY, ELEMENT_RUBY, /* <ruby></ruby> */
ELEMENT_OUTDATED, ELEMENT_OUTDATED, /* <s></s> */
ELEMENT_S, ELEMENT_S, /* <s></s> */
ELEMENT_SAMPLE, ELEMENT_SAMPLE, /* <samp></samp> */
ELEMENT_SAMP, ELEMENT_SAMP, /* <samp></samp> */
ELEMENT_SCRIPT, ELEMENT_SCRIPT, /* <script></script> */
ELEMENT_SECTION, ELEMENT_SECTION, /* <section></section> */
ELEMENT_SMALL, ELEMENT_SMALL, /* <small></small> */
ELEMENT_SOURCE, ELEMENT_SOURCE, /* <source></source> */
ELEMENT_SPACER, ELEMENT_SPACER, /* <spacer></spacer> */
ELEMENT_SPAN, ELEMENT_SPAN, /* <span></span> */
ELEMENT_STRIKE, ELEMENT_STRIKE, /* <strike></strike> */
ELEMENT_STRONG, ELEMENT_STRONG, /* <strong></strong> */
ELEMENT_STYLE, ELEMENT_STYLE, /* <style></style> */
ELEMENT_SUB, ELEMENT_SUB, /* <sub></sub> */
ELEMENT_SUBSCRIPT, ELEMENT_SUBSCRIPT, /* <sub></sub> */
ELEMENT_SUP, ELEMENT_SUP, /* <sup></sup> */
ELEMENT_SUPERSCRIPT, ELEMENT_SUPERSCRIPT, /* <sup></sup> */
ELEMENT_SUMMARY, ELEMENT_SUMMARY, /* <summary></summary> */
ELEMENT_SVG, ELEMENT_SVG, /* <svg></svg> */
ELEMENT_TABLE, ELEMENT_TABLE, /* <table></table> */
ELEMENT_TBODY, ELEMENT_TBODY, /* <tbody></tbody> */
ELEMENT_TD, ELEMENT_TD, /* <td></td> */
ELEMENT_TEMPLATE, ELEMENT_TEMPLATE, /* <template></template> */
ELEMENT_TFOOT, ELEMENT_TFOOT, /* <tfoot></tfoot> */
ELEMENT_TH, ELEMENT_TH, /* <th></th> */
ELEMENT_THEAD, ELEMENT_THEAD, /* <thead></thead> */
ELEMENT_TIME, ELEMENT_TIME, /* <time></time> */
ELEMENT_TITLE, ELEMENT_TITLE, /* <title></title> */
ELEMENT_TR, ELEMENT_TR, /* <tr></tr> */
ELEMENT_TRACK, ELEMENT_TRACK, /* <track></track> */
ELEMENT_TT, ELEMENT_TT, /* <tt></tt> */
ELEMENT_UNDERLINE, ELEMENT_UNDERLINE, /* <u></u> */
ELEMENT_U, ELEMENT_U, /* <u></u> */
ELEMENT_VAR, ELEMENT_VAR, /* <var></var> */
ELEMENT_VIDEO, ELEMENT_VIDEO, /* <video></video> */
ELEMENT_WBR, ELEMENT_WBR, /* <wbr></wbr> */
ELEMENT_XMP, ELEMENT_XMP, /* <xmp></xmp> */
}; };
/** /**
* @brief Enum for element types. * @brief Enum for element types.
*/ */
enum Type { enum Type {
TYPE_SELF_CLOSING, TYPE_SELF_CLOSING, /* Self-closing element (<tag></tag>)*/
TYPE_NON_SELF_CLOSING, TYPE_NON_SELF_CLOSING, /* Non-self-closing element (<tag>) */
TYPE_NON_CLOSED, TYPE_NON_CLOSED, /* Non-closed element (<tag>) */
TYPE_TEXT, TYPE_TEXT, /* Text element (my text here). Note that this does *not* append a newline character. */
TYPE_TEXT_TAB, TYPE_TEXT_TAB, /* Text element with tab characters appropriately prepended (my text here). Note that this does *not* append a newline character. */
}; };
/** /**
* @brief Enum for formatting options. * @brief Enum for formatting options.
*/ */
enum Formatting { enum Formatting {
FORMATTING_NONE, FORMATTING_NONE, /* No formatting. Output is in the form of one long string of text, and a single newline character. */
FORMATTING_PRETTY, FORMATTING_PRETTY, /* Pretty formatting. Output is formatted with newlines and tabs as deemed appropriate. */
FORMATTING_NEWLINE, FORMATTING_NEWLINE, /* Newline formatting. Each element has a newline appended. */
}; };
/** /**
@ -513,12 +513,13 @@ namespace docpp {
*/ */
Element() = default; Element() = default;
/** /**
* @brief Set the tag, id, and classes of the element * @brief Set the tag, properties, and data of the element
* @param tag The tag of the element * @param tag The tag of the element
* @param id The id of the element * @param properties The properties of the element
* @param classes The classes of the element * @param data The data of the element
* @param type The close tag type.
*/ */
void set(const std::string& tag, const Properties& properties = {}, const std::string& data = {}, const Type = TYPE_NON_SELF_CLOSING); void set(const std::string& tag, const Properties& properties = {}, const std::string& data = {}, const Type type = TYPE_NON_SELF_CLOSING);
/** /**
* @brief Get the element in the form of an HTML tag. * @brief Get the element in the form of an HTML tag.