diff --git a/include/docpp.hpp b/include/docpp.hpp
index bdfa714..21149ea 100644
--- a/include/docpp.hpp
+++ b/include/docpp.hpp
@@ -54,171 +54,171 @@ namespace docpp {
* @brief Enum for element tags.
*/
enum Tag {
- ELEMENT_EMPTY,
- ELEMENT_EMPTY_NO_FORMAT,
- ELEMENT_ABBREVIATION,
- ELEMENT_ABBR,
- ELEMENT_ACRONYM,
- ELEMENT_ADDRESS,
- ELEMENT_ANCHOR,
- ELEMENT_A,
- ELEMENT_APPLET,
- ELEMENT_ARTICLE,
- ELEMENT_AREA,
- ELEMENT_ASIDE,
- ELEMENT_AUDIO,
- ELEMENT_BASE,
- ELEMENT_BASEFONT,
- ELEMENT_BDI,
- ELEMENT_BDO,
- ELEMENT_BGSOUND,
- ELEMENT_BIG,
- ELEMENT_BLOCKQUOTE,
- ELEMENT_BODY,
- ELEMENT_BOLD,
- ELEMENT_B,
- ELEMENT_BR,
- ELEMENT_BREAK,
- ELEMENT_BUTTON,
- ELEMENT_CAPTION,
- ELEMENT_CANVAS,
- ELEMENT_CENTER,
- ELEMENT_CITE,
- ELEMENT_CODE,
- ELEMENT_COLGROUP,
- ELEMENT_COL,
- ELEMENT_COLUMN,
- ELEMENT_DATA,
- ELEMENT_DATALIST,
- ELEMENT_DD,
- ELEMENT_DFN,
- ELEMENT_DEFINE,
- ELEMENT_DELETE,
- ELEMENT_DEL,
- ELEMENT_DETAILS,
- ELEMENT_DIALOG,
- ELEMENT_DIR,
- ELEMENT_DIV,
- ELEMENT_DL,
- ELEMENT_DT,
- ELEMENT_EMBED,
- ELEMENT_FIELDSET,
- ELEMENT_FIGCAPTION,
- ELEMENT_FIGURE,
- ELEMENT_FONT,
- ELEMENT_FOOTER,
- ELEMENT_FORM,
- ELEMENT_FRAME,
- ELEMENT_FRAMESET,
- ELEMENT_HEAD,
- ELEMENT_HEADER,
- ELEMENT_H1,
- ELEMENT_H2,
- ELEMENT_H3,
- ELEMENT_H4,
- ELEMENT_H5,
- ELEMENT_H6,
- ELEMENT_HGROUP,
- ELEMENT_HR,
- ELEMENT_HTML,
- ELEMENT_IFRAME,
- ELEMENT_IMAGE,
- ELEMENT_IMG,
- ELEMENT_INPUT,
- ELEMENT_INS,
- ELEMENT_ISINDEX,
- ELEMENT_ITALIC,
- ELEMENT_I,
- ELEMENT_KBD,
- ELEMENT_KEYGEN,
- ELEMENT_LABEL,
- ELEMENT_LEGEND,
- ELEMENT_LIST,
- ELEMENT_LI,
- ELEMENT_LINK,
- ELEMENT_MAIN,
- ELEMENT_MARK,
- ELEMENT_MARQUEE,
- ELEMENT_MENUITEM,
- ELEMENT_META,
- ELEMENT_METER,
- ELEMENT_NAV,
- ELEMENT_NOBREAK,
- ELEMENT_NOBR,
- ELEMENT_NOEMBED,
- ELEMENT_NOSCRIPT,
- ELEMENT_OBJECT,
- ELEMENT_OPTGROUP,
- ELEMENT_OPTION,
- ELEMENT_OUTPUT,
- ELEMENT_PARAGRAPH,
- ELEMENT_P,
- ELEMENT_PARAM,
- ELEMENT_PHRASE,
- ELEMENT_PRE,
- ELEMENT_PROGRESS,
- ELEMENT_QUOTE,
- ELEMENT_Q,
- ELEMENT_RP,
- ELEMENT_RT,
- ELEMENT_RUBY,
- ELEMENT_OUTDATED,
- ELEMENT_S,
- ELEMENT_SAMPLE,
- ELEMENT_SAMP,
- ELEMENT_SCRIPT,
- ELEMENT_SECTION,
- ELEMENT_SMALL,
- ELEMENT_SOURCE,
- ELEMENT_SPACER,
- ELEMENT_SPAN,
- ELEMENT_STRIKE,
- ELEMENT_STRONG,
- ELEMENT_STYLE,
- ELEMENT_SUB,
- ELEMENT_SUBSCRIPT,
- ELEMENT_SUP,
- ELEMENT_SUPERSCRIPT,
- ELEMENT_SUMMARY,
- ELEMENT_SVG,
- ELEMENT_TABLE,
- ELEMENT_TBODY,
- ELEMENT_TD,
- ELEMENT_TEMPLATE,
- ELEMENT_TFOOT,
- ELEMENT_TH,
- ELEMENT_THEAD,
- ELEMENT_TIME,
- ELEMENT_TITLE,
- ELEMENT_TR,
- ELEMENT_TRACK,
- ELEMENT_TT,
- ELEMENT_UNDERLINE,
- ELEMENT_U,
- ELEMENT_VAR,
- ELEMENT_VIDEO,
- ELEMENT_WBR,
- ELEMENT_XMP,
+ ELEMENT_EMPTY, /* Empty element */
+ ELEMENT_EMPTY_NO_FORMAT, /* Empty element, that ignores any formatting by get() calls. */
+ ELEMENT_ABBREVIATION, /* */
+ ELEMENT_ABBR, /* */
+ ELEMENT_ACRONYM, /* */
+ ELEMENT_ADDRESS, /*
*/
+ ELEMENT_ANCHOR, /* */
+ ELEMENT_A, /* */
+ ELEMENT_APPLET, /* */
+ ELEMENT_ARTICLE, /* */
+ ELEMENT_AREA, /* */
+ ELEMENT_ASIDE, /* */
+ ELEMENT_AUDIO, /* */
+ ELEMENT_BASE, /* */
+ ELEMENT_BASEFONT, /* */
+ ELEMENT_BDI, /* */
+ ELEMENT_BDO, /* */
+ ELEMENT_BGSOUND, /* */
+ ELEMENT_BIG, /* */
+ ELEMENT_BLOCKQUOTE, /* */
+ ELEMENT_BODY, /* */
+ ELEMENT_BOLD, /* */
+ ELEMENT_B, /* */
+ ELEMENT_BR, /* */
+ ELEMENT_BREAK, /* */
+ ELEMENT_BUTTON, /* */
+ ELEMENT_CAPTION, /* */
+ ELEMENT_CANVAS, /* */
+ ELEMENT_CENTER, /* */
+ ELEMENT_CITE, /* */
+ ELEMENT_CODE, /*
*/
+ ELEMENT_COLGROUP, /* */
+ ELEMENT_COL, /* */
+ ELEMENT_COLUMN, /* */
+ ELEMENT_DATA, /* */
+ ELEMENT_DATALIST, /* */
+ ELEMENT_DD, /* */
+ ELEMENT_DFN, /* */
+ ELEMENT_DEFINE, /* */
+ ELEMENT_DELETE, /* */
+ ELEMENT_DEL, /* */
+ ELEMENT_DETAILS, /* */
+ ELEMENT_DIALOG, /* */
+ ELEMENT_DIR, /* */
+ ELEMENT_DIV, /*
*/
+ ELEMENT_DL, /* */
+ ELEMENT_DT, /* */
+ ELEMENT_EMBED, /* */
+ ELEMENT_FIELDSET, /* */
+ ELEMENT_FIGCAPTION, /* */
+ ELEMENT_FIGURE, /* */
+ ELEMENT_FONT, /* */
+ ELEMENT_FOOTER, /* */
+ ELEMENT_FORM, /* */
+ ELEMENT_FRAME, /* */
+ ELEMENT_FRAMESET, /* */
+ ELEMENT_HEAD, /* */
+ ELEMENT_HEADER, /* */
+ ELEMENT_H1, /* */
+ ELEMENT_H2, /* */
+ ELEMENT_H3, /* */
+ ELEMENT_H4, /* */
+ ELEMENT_H5, /* */
+ ELEMENT_H6, /* */
+ ELEMENT_HGROUP, /* */
+ ELEMENT_HR, /* */
+ ELEMENT_HTML, /* */
+ ELEMENT_IFRAME, /* */
+ ELEMENT_IMAGE, /* */
+ ELEMENT_IMG, /* */
+ ELEMENT_INPUT, /* */
+ ELEMENT_INS, /* */
+ ELEMENT_ISINDEX, /* */
+ ELEMENT_ITALIC, /* */
+ ELEMENT_I, /* */
+ ELEMENT_KBD, /* */
+ ELEMENT_KEYGEN, /* */
+ ELEMENT_LABEL, /* */
+ ELEMENT_LEGEND, /* */
+ ELEMENT_LIST, /* */
+ ELEMENT_LI, /* */
+ ELEMENT_LINK, /* */
+ ELEMENT_MAIN, /* */
+ ELEMENT_MARK, /* */
+ ELEMENT_MARQUEE, /* */
+ ELEMENT_MENUITEM, /* */
+ ELEMENT_META, /* */
+ ELEMENT_METER, /* */
+ ELEMENT_NAV, /* */
+ ELEMENT_NOBREAK, /* */
+ ELEMENT_NOBR, /* */
+ ELEMENT_NOEMBED, /* */
+ ELEMENT_NOSCRIPT, /* */
+ ELEMENT_OBJECT, /* */
+ ELEMENT_OPTGROUP, /* */
+ ELEMENT_OPTION, /* */
+ ELEMENT_OUTPUT, /* */
+ ELEMENT_PARAGRAPH, /*
*/
+ ELEMENT_P, /*
*/
+ ELEMENT_PARAM, /* */
+ ELEMENT_PHRASE, /* */
+ ELEMENT_PRE, /* */
+ ELEMENT_PROGRESS, /* */
+ ELEMENT_QUOTE, /* */
+ ELEMENT_Q, /* */
+ ELEMENT_RP, /* */
+ ELEMENT_RT, /* */
+ ELEMENT_RUBY, /* */
+ ELEMENT_OUTDATED, /* */
+ ELEMENT_S, /* */
+ ELEMENT_SAMPLE, /* */
+ ELEMENT_SAMP, /* */
+ ELEMENT_SCRIPT, /* */
+ ELEMENT_SECTION, /* */
+ ELEMENT_SMALL, /* */
+ ELEMENT_SOURCE, /* */
+ ELEMENT_SPACER, /* */
+ ELEMENT_SPAN, /* */
+ ELEMENT_STRIKE, /* */
+ ELEMENT_STRONG, /* */
+ ELEMENT_STYLE, /* */
+ ELEMENT_SUB, /* */
+ ELEMENT_SUBSCRIPT, /* */
+ ELEMENT_SUP, /* */
+ ELEMENT_SUPERSCRIPT, /* */
+ ELEMENT_SUMMARY, /* */
+ ELEMENT_SVG, /* */
+ ELEMENT_TABLE, /* */
+ ELEMENT_TBODY, /* */
+ ELEMENT_TD, /* */
+ ELEMENT_TEMPLATE, /* */
+ ELEMENT_TFOOT, /* */
+ ELEMENT_TH, /* */
+ ELEMENT_THEAD, /* */
+ ELEMENT_TIME, /* */
+ ELEMENT_TITLE, /* */
+ ELEMENT_TR, /* */
+ ELEMENT_TRACK, /* */
+ ELEMENT_TT, /* */
+ ELEMENT_UNDERLINE, /* */
+ ELEMENT_U, /* */
+ ELEMENT_VAR, /* */
+ ELEMENT_VIDEO, /* */
+ ELEMENT_WBR, /* */
+ ELEMENT_XMP, /* */
};
/**
* @brief Enum for element types.
*/
enum Type {
- TYPE_SELF_CLOSING,
- TYPE_NON_SELF_CLOSING,
- TYPE_NON_CLOSED,
- TYPE_TEXT,
- TYPE_TEXT_TAB,
+ TYPE_SELF_CLOSING, /* Self-closing element ( )*/
+ TYPE_NON_SELF_CLOSING, /* Non-self-closing element () */
+ TYPE_NON_CLOSED, /* Non-closed element () */
+ TYPE_TEXT, /* Text element (my text here). Note that this does *not* append a newline character. */
+ 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.
*/
enum Formatting {
- FORMATTING_NONE,
- FORMATTING_PRETTY,
- FORMATTING_NEWLINE,
+ FORMATTING_NONE, /* No formatting. Output is in the form of one long string of text, and a single newline character. */
+ FORMATTING_PRETTY, /* Pretty formatting. Output is formatted with newlines and tabs as deemed appropriate. */
+ FORMATTING_NEWLINE, /* Newline formatting. Each element has a newline appended. */
};
/**
@@ -513,12 +513,13 @@ namespace docpp {
*/
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 id The id of the element
- * @param classes The classes of the element
+ * @param properties The properties 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.