/++
  object setter:
  setting of sisu objects for downstream processing
  ao_object_setter.d
+/
module sdp.ao.object_setter;
template ObjectSetter() {
  /+ structs +/
  struct HeadingAttrib {
    string lev                            = "9";
    int    heading_lev_markup             = 9;
    int    heading_lev_collapsed          = 9;
    int[]  closes_lev_collapsed           = [];
    int[]  closes_lev_markup              = [];
    int    array_ptr                      = 0;
    int    heading_array_ptr_segments     = 0;
  }
  struct ObjGenericComposite {
    // size_t id;
    string                 use                          = "";
    string                 is_of                        = "";
    string                 is_a                         = "";
    string                 text                         = "";
    string                 obj_cite_number              = "";
    string[]               anchor_tags                  = [];
    int                    indent_base                  = 0;
    int                    indent_hang                  = 0;
    bool                   bullet                       = false;
    bool                   inline_links                 = false;
    bool                   inline_notes_reg             = false;
    bool                   inline_notes_star            = false;
    string                 language                     = ""; // not implemented, consider
    string                 code_block_syntax            = "";
    int                    table_number_of_columns      = 0;
    double[]               table_column_widths          = [];
    string[]               table_column_aligns          = [];
    bool                   table_heading                = false;
    bool                   table_walls                  = false; // not implemented
    int                    ocn                          = 0;
    string                 segment_anchor_tag           = "";
    string                 segname_prev                 = "";
    string                 segname_next                 = "";
    int                    parent_lev_markup            = 0;
    int                    parent_ocn                   = 0;
    int[]                  ancestors                    = [];
    string                 marked_up_level              = "9";
    int                    heading_lev_markup           = 9;
    int                    heading_lev_collapsed        = 9;
    int[]                  dom_markedup                 = [ 0, 0, 0, 0, 0, 0, 0, 0,];
    int[]                  dom_collapsed                = [ 0, 0, 0, 0, 0, 0, 0, 0,];
    string[]               heading_ancestors_text       = [ "", "", "", "", "", "", "", "", ];
    string[]               lev4_subtoc                  = [];
    int                    heading_array_ptr            = 0;
    int                    ptr_doc_object               = 0;
    int                    ptr_html_segnames            = 0;
    int                    ptr_heading                  = 0;
    int                    array_ptr                    = 0;
    int                    heading_array_ptr_segments   = 0;
    string[string][string] node;
  }
  struct TheObjects {
    ObjGenericComposite[] oca;
  }
}