diff options
Diffstat (limited to 'doc/cpp')
51 files changed, 999 insertions, 0 deletions
diff --git a/doc/cpp/core/config.rst b/doc/cpp/core/config.rst new file mode 100644 index 0000000..a5a1f50 --- /dev/null +++ b/doc/cpp/core/config.rst @@ -0,0 +1,13 @@ + +Configurations +============== + +.. doxygenstruct:: orcus::config + :members: + +.. doxygenstruct:: orcus::json_config + :members: + +.. doxygenstruct:: orcus::yaml_config + :members: + diff --git a/doc/cpp/core/import-filter/csv.rst b/doc/cpp/core/import-filter/csv.rst new file mode 100644 index 0000000..bee2671 --- /dev/null +++ b/doc/cpp/core/import-filter/csv.rst @@ -0,0 +1,6 @@ + +Comma-separated values (CSV) +============================ + +.. doxygenclass:: orcus::orcus_csv + :members: diff --git a/doc/cpp/core/import-filter/detect.rst b/doc/cpp/core/import-filter/detect.rst new file mode 100644 index 0000000..09d6041 --- /dev/null +++ b/doc/cpp/core/import-filter/detect.rst @@ -0,0 +1,5 @@ + +Format detection +================ + +.. doxygenfunction:: orcus::detect diff --git a/doc/cpp/core/import-filter/gnumeric.rst b/doc/cpp/core/import-filter/gnumeric.rst new file mode 100644 index 0000000..23a2bf9 --- /dev/null +++ b/doc/cpp/core/import-filter/gnumeric.rst @@ -0,0 +1,6 @@ + +Gnumeric XML +============ + +.. doxygenclass:: orcus::orcus_gnumeric + :members: diff --git a/doc/cpp/core/import-filter/index.rst b/doc/cpp/core/import-filter/index.rst new file mode 100644 index 0000000..0b6befa --- /dev/null +++ b/doc/cpp/core/import-filter/index.rst @@ -0,0 +1,20 @@ + +Import filters +============== + +.. toctree:: + :maxdepth: 1 + + csv.rst + ods.rst + xls_xml.rst + xlsx.rst + gnumeric.rst + xml.rst + json.rst + detect.rst + + + + + diff --git a/doc/cpp/core/import-filter/json.rst b/doc/cpp/core/import-filter/json.rst new file mode 100644 index 0000000..eb55810 --- /dev/null +++ b/doc/cpp/core/import-filter/json.rst @@ -0,0 +1,6 @@ + +Generic JSON +============ + +.. doxygenclass:: orcus::orcus_json + :members: diff --git a/doc/cpp/core/import-filter/ods.rst b/doc/cpp/core/import-filter/ods.rst new file mode 100644 index 0000000..527b064 --- /dev/null +++ b/doc/cpp/core/import-filter/ods.rst @@ -0,0 +1,9 @@ + +Open document spreadsheet +========================= + +.. doxygenclass:: orcus::orcus_ods + :members: + +.. doxygenclass:: orcus::import_ods + :members: diff --git a/doc/cpp/core/import-filter/xls_xml.rst b/doc/cpp/core/import-filter/xls_xml.rst new file mode 100644 index 0000000..48a5371 --- /dev/null +++ b/doc/cpp/core/import-filter/xls_xml.rst @@ -0,0 +1,6 @@ + +Microsoft Excel 2003 XML +======================== + +.. doxygenclass:: orcus::orcus_xls_xml + :members: diff --git a/doc/cpp/core/import-filter/xlsx.rst b/doc/cpp/core/import-filter/xlsx.rst new file mode 100644 index 0000000..4c468ca --- /dev/null +++ b/doc/cpp/core/import-filter/xlsx.rst @@ -0,0 +1,9 @@ + +Microsoft Excel 2007 XML +======================== + +.. doxygenclass:: orcus::orcus_xlsx + :members: + +.. doxygenclass:: orcus::import_xlsx + :members: diff --git a/doc/cpp/core/import-filter/xml.rst b/doc/cpp/core/import-filter/xml.rst new file mode 100644 index 0000000..67d9fd9 --- /dev/null +++ b/doc/cpp/core/import-filter/xml.rst @@ -0,0 +1,6 @@ + +Generic XML +=========== + +.. doxygenclass:: orcus::orcus_xml + :members: diff --git a/doc/cpp/core/index.rst b/doc/cpp/core/index.rst new file mode 100644 index 0000000..3bb0623 --- /dev/null +++ b/doc/cpp/core/index.rst @@ -0,0 +1,25 @@ + +Core +==== + +This section presents the API's from the ``liborcus`` part of this library, +which contains the import filters that process various file formats containing +spreadsheet document contents or contents that can be loaded into spreadsheet +documents. It consists of the filter classes that parse the file streams and +put their contents into the document store via a set of pre-defined interfaces, +and these interfaces themselves. + +This module does not contain the document store itself, which is provided by +the ``liborcus-spreadsheet-model`` module. Alternatively, the user can +provide their own document store implementation wrapped inside a factory that +provides all required interfaces. + +.. toctree:: + :maxdepth: 1 + + import-filter/index.rst + tree-doc/index.rst + interface/index.rst + types/index.rst + utils.rst + config.rst diff --git a/doc/cpp/core/interface/global.rst b/doc/cpp/core/interface/global.rst new file mode 100644 index 0000000..0e73e47 --- /dev/null +++ b/doc/cpp/core/interface/global.rst @@ -0,0 +1,12 @@ + +Global interfaces +================= + +The following global interfaces are used to abstract the concrete filter and +document classes from orcus's CLI framework. + +.. doxygenclass:: orcus::iface::import_filter + :members: + +.. doxygenclass:: orcus::iface::document_dumper + :members: diff --git a/doc/cpp/core/interface/index.rst b/doc/cpp/core/interface/index.rst new file mode 100644 index 0000000..92c22d0 --- /dev/null +++ b/doc/cpp/core/interface/index.rst @@ -0,0 +1,9 @@ + +Interfaces +========== + +.. toctree:: + :maxdepth: 1 + + global.rst + spreadsheet/index.rst diff --git a/doc/cpp/core/interface/spreadsheet/document.rst b/doc/cpp/core/interface/spreadsheet/document.rst new file mode 100644 index 0000000..95eed76 --- /dev/null +++ b/doc/cpp/core/interface/spreadsheet/document.rst @@ -0,0 +1,21 @@ + +Document import +=============== + +The following interfaces handle importing of contents and properties related to +the entire document store. + +.. doxygenclass:: orcus::spreadsheet::iface::import_factory + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_global_settings + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_shared_strings + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_named_expression + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_reference_resolver + :members: diff --git a/doc/cpp/core/interface/spreadsheet/document_export.rst b/doc/cpp/core/interface/spreadsheet/document_export.rst new file mode 100644 index 0000000..984c059 --- /dev/null +++ b/doc/cpp/core/interface/spreadsheet/document_export.rst @@ -0,0 +1,13 @@ + +Document export +=============== + +The following interfaces handle exporting of document content. Support for exporting +is still very limited in orcus. It is currently used only by :cpp:class:`~orcus::orcus_xml` +to re-export the content of an XML-mapped cell range as an XML output. + +.. doxygenclass:: orcus::spreadsheet::iface::export_sheet + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::export_factory + :members: diff --git a/doc/cpp/core/interface/spreadsheet/index.rst b/doc/cpp/core/interface/spreadsheet/index.rst new file mode 100644 index 0000000..4254c22 --- /dev/null +++ b/doc/cpp/core/interface/spreadsheet/index.rst @@ -0,0 +1,15 @@ + +.. _spreadsheet-interfaces: + +Spreadsheet interfaces +====================== + +.. toctree:: + :maxdepth: 1 + + document.rst + sheet.rst + pivot.rst + styles.rst + view.rst + document_export.rst diff --git a/doc/cpp/core/interface/spreadsheet/pivot.rst b/doc/cpp/core/interface/spreadsheet/pivot.rst new file mode 100644 index 0000000..28d8df7 --- /dev/null +++ b/doc/cpp/core/interface/spreadsheet/pivot.rst @@ -0,0 +1,14 @@ + +Pivot table import +================== + +The folloiwng interfaces handle importing of contents related to pivot tables. + +.. doxygenclass:: orcus::spreadsheet::iface::import_pivot_cache_definition + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_pivot_cache_field_group + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_pivot_cache_records + :members: diff --git a/doc/cpp/core/interface/spreadsheet/sheet.rst b/doc/cpp/core/interface/spreadsheet/sheet.rst new file mode 100644 index 0000000..6482ac6 --- /dev/null +++ b/doc/cpp/core/interface/spreadsheet/sheet.rst @@ -0,0 +1,30 @@ + +Sheet import +============ + +The following interfaces handle importing of contents and properties related to +individual sheets. + +.. doxygenclass:: orcus::spreadsheet::iface::import_sheet + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_sheet_properties + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_data_table + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_auto_filter + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_conditional_format + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_table + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_formula + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_array_formula + :members: diff --git a/doc/cpp/core/interface/spreadsheet/styles.rst b/doc/cpp/core/interface/spreadsheet/styles.rst new file mode 100644 index 0000000..1c4f9a8 --- /dev/null +++ b/doc/cpp/core/interface/spreadsheet/styles.rst @@ -0,0 +1,30 @@ + +Styles import +============= + +The folloiwng interfaces handle importing of properties related to various +formatting styles. + +.. doxygenclass:: orcus::spreadsheet::iface::import_styles + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_font_style + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_fill_style + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_border_style + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_cell_protection + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_number_format + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_xf + :members: + +.. doxygenclass:: orcus::spreadsheet::iface::import_cell_style + :members: diff --git a/doc/cpp/core/interface/spreadsheet/view.rst b/doc/cpp/core/interface/spreadsheet/view.rst new file mode 100644 index 0000000..21f393e --- /dev/null +++ b/doc/cpp/core/interface/spreadsheet/view.rst @@ -0,0 +1,9 @@ + +View properties import +====================== + +The following interface handles importing of view properties. View properties +affect how the content of a document may get displayed. + +.. doxygenclass:: orcus::spreadsheet::iface::import_sheet_view + :members: diff --git a/doc/cpp/core/tree-doc/index.rst b/doc/cpp/core/tree-doc/index.rst new file mode 100644 index 0000000..54b7a68 --- /dev/null +++ b/doc/cpp/core/tree-doc/index.rst @@ -0,0 +1,13 @@ + +Document tree +============= + +This section presents the API's for tree-structured documents, namely JSON and YAML +documents. + + +.. toctree:: + :maxdepth: 1 + + json.rst + yaml.rst diff --git a/doc/cpp/core/tree-doc/json.rst b/doc/cpp/core/tree-doc/json.rst new file mode 100644 index 0000000..390ac37 --- /dev/null +++ b/doc/cpp/core/tree-doc/json.rst @@ -0,0 +1,36 @@ + +JSON document tree +================== + +Document tree +------------- + +.. doxygenclass:: orcus::json::document_tree + :members: + +.. doxygenclass:: orcus::json::const_node + :members: + +.. doxygenclass:: orcus::json::node + :members: + +.. doxygenclass:: orcus::json::array + :members: + +.. doxygenclass:: orcus::json::object + :members: + +.. doxygenclass:: orcus::json::detail::init::node + :members: + +.. doxygenenum:: orcus::json::node_t + :project: orcus + +Exceptions +---------- + +.. doxygenclass:: orcus::json::document_error + :members: + +.. doxygenclass:: orcus::json::key_value_error + :members: diff --git a/doc/cpp/core/tree-doc/yaml.rst b/doc/cpp/core/tree-doc/yaml.rst new file mode 100644 index 0000000..547440b --- /dev/null +++ b/doc/cpp/core/tree-doc/yaml.rst @@ -0,0 +1,19 @@ + +YAML document tree +================== + +Document tree +------------- + +.. doxygenclass:: orcus::yaml::document_tree + :members: + +.. doxygenclass:: orcus::yaml::const_node + :members: + +Exceptions +---------- + +.. doxygenclass:: orcus::yaml::document_error + :members: + diff --git a/doc/cpp/core/types/core.rst b/doc/cpp/core/types/core.rst new file mode 100644 index 0000000..1decff2 --- /dev/null +++ b/doc/cpp/core/types/core.rst @@ -0,0 +1,68 @@ + +Core types +========== + +Integral types +-------------- + +.. doxygentypedef:: orcus::spreadsheet::row_t +.. doxygentypedef:: orcus::spreadsheet::col_t +.. doxygentypedef:: orcus::spreadsheet::sheet_t +.. doxygentypedef:: orcus::spreadsheet::color_elem_t +.. doxygentypedef:: orcus::spreadsheet::col_width_t +.. doxygentypedef:: orcus::spreadsheet::row_height_t +.. doxygentypedef:: orcus::spreadsheet::pivot_cache_id_t + + +Structs +------- + +.. doxygenstruct:: orcus::spreadsheet::address_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::range_size_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::range_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::src_address_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::src_range_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::color_rgb_t + :members: + + +Enums +----- + +.. doxygenenum:: orcus::spreadsheet::error_value_t +.. doxygenenum:: orcus::spreadsheet::border_direction_t +.. doxygenenum:: orcus::spreadsheet::border_style_t +.. doxygenenum:: orcus::spreadsheet::fill_pattern_t +.. doxygenenum:: orcus::spreadsheet::strikethrough_style_t +.. doxygenenum:: orcus::spreadsheet::strikethrough_type_t +.. doxygenenum:: orcus::spreadsheet::strikethrough_width_t +.. doxygenenum:: orcus::spreadsheet::strikethrough_text_t +.. doxygenenum:: orcus::spreadsheet::formula_grammar_t +.. doxygenenum:: orcus::spreadsheet::formula_t +.. doxygenenum:: orcus::spreadsheet::formula_ref_context_t +.. doxygenenum:: orcus::spreadsheet::formula_error_policy_t +.. doxygenenum:: orcus::spreadsheet::underline_t +.. doxygenenum:: orcus::spreadsheet::underline_width_t +.. doxygenenum:: orcus::spreadsheet::underline_mode_t +.. doxygenenum:: orcus::spreadsheet::underline_type_t +.. doxygenenum:: orcus::spreadsheet::hor_alignment_t +.. doxygenenum:: orcus::spreadsheet::ver_alignment_t +.. doxygenenum:: orcus::spreadsheet::xf_category_t +.. doxygenenum:: orcus::spreadsheet::data_table_type_t +.. doxygenenum:: orcus::spreadsheet::totals_row_function_t +.. doxygenenum:: orcus::spreadsheet::conditional_format_t +.. doxygenenum:: orcus::spreadsheet::condition_operator_t +.. doxygenenum:: orcus::spreadsheet::condition_type_t +.. doxygenenum:: orcus::spreadsheet::condition_date_t +.. doxygenenum:: orcus::spreadsheet::databar_axis_t +.. doxygenenum:: orcus::spreadsheet::pivot_cache_group_by_t diff --git a/doc/cpp/core/types/index.rst b/doc/cpp/core/types/index.rst new file mode 100644 index 0000000..a79f3f8 --- /dev/null +++ b/doc/cpp/core/types/index.rst @@ -0,0 +1,12 @@ + +Types +===== + +These types are used throughout the spreadsheet import and export interfaces. + +.. toctree:: + :maxdepth: 1 + + core.rst + view.rst + diff --git a/doc/cpp/core/types/view.rst b/doc/cpp/core/types/view.rst new file mode 100644 index 0000000..a542a62 --- /dev/null +++ b/doc/cpp/core/types/view.rst @@ -0,0 +1,20 @@ + +View types +========== + +Structs +------- + +.. doxygenstruct:: orcus::spreadsheet::split_pane_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::frozen_pane_t + :members: + + +Enums +----- + +.. doxygenenum:: orcus::spreadsheet::sheet_pane_t +.. doxygenenum:: orcus::spreadsheet::pane_state_t + diff --git a/doc/cpp/core/utils.rst b/doc/cpp/core/utils.rst new file mode 100644 index 0000000..480ae87 --- /dev/null +++ b/doc/cpp/core/utils.rst @@ -0,0 +1,19 @@ + +Utilities +========= + +Special values +-------------- + +.. doxygenfunction:: orcus::spreadsheet::get_default_column_width +.. doxygenfunction:: orcus::spreadsheet::get_default_row_height + +Type conversion +--------------- + +.. doxygenfunction:: orcus::spreadsheet::to_totals_row_function_enum +.. doxygenfunction:: orcus::spreadsheet::to_pivot_cache_group_by_enum +.. doxygenfunction:: orcus::spreadsheet::to_error_value_enum +.. doxygenfunction:: orcus::spreadsheet::to_color_rgb +.. doxygenfunction:: orcus::spreadsheet::to_rc_address +.. doxygenfunction:: orcus::spreadsheet::to_rc_range diff --git a/doc/cpp/index.rst b/doc/cpp/index.rst new file mode 100644 index 0000000..afb4909 --- /dev/null +++ b/doc/cpp/index.rst @@ -0,0 +1,10 @@ + +C++ API reference +================= + +.. toctree:: + :maxdepth: 2 + + parser/index.rst + core/index.rst + spreadsheet-doc/index.rst diff --git a/doc/cpp/parser/archive.rst b/doc/cpp/parser/archive.rst new file mode 100644 index 0000000..e5f7a25 --- /dev/null +++ b/doc/cpp/parser/archive.rst @@ -0,0 +1,21 @@ + +Archive +======= + +Zip archive +----------- + +.. doxygenstruct:: orcus::zip_file_entry_header + :members: + +.. doxygenclass:: orcus::zip_archive + :members: + +.. doxygenclass:: orcus::zip_archive_stream + :members: + +.. doxygenclass:: orcus::zip_archive_stream_fd + :members: + +.. doxygenclass:: orcus::zip_archive_stream_blob + :members: diff --git a/doc/cpp/parser/base64.rst b/doc/cpp/parser/base64.rst new file mode 100644 index 0000000..617db37 --- /dev/null +++ b/doc/cpp/parser/base64.rst @@ -0,0 +1,5 @@ + +Base64 +====== + +.. doxygenfile:: base64.hpp diff --git a/doc/cpp/parser/css.rst b/doc/cpp/parser/css.rst new file mode 100644 index 0000000..beb6cb2 --- /dev/null +++ b/doc/cpp/parser/css.rst @@ -0,0 +1,84 @@ +.. highlight:: cpp + +CSS parser +========== + +.. doxygenclass:: orcus::css_parser + :members: + +Parser handler +-------------- + +.. doxygenclass:: orcus::css_handler + :members: + +CSS types +--------- + +.. doxygenenum:: orcus::css::combinator_t +.. doxygenenum:: orcus::css::property_function_t +.. doxygenenum:: orcus::css::property_value_t + +.. doxygentypedef:: orcus::css::pseudo_element_t +.. doxygentypedef:: orcus::css::pseudo_class_t + +.. doxygenstruct:: orcus::css::rgba_color_t +.. doxygenstruct:: orcus::css::hsla_color_t + + +Constants +--------- + +Pseudo elements +^^^^^^^^^^^^^^^ + +.. doxygenvariable:: orcus::css::pseudo_element_after +.. doxygenvariable:: orcus::css::pseudo_element_before +.. doxygenvariable:: orcus::css::pseudo_element_first_letter +.. doxygenvariable:: orcus::css::pseudo_element_first_line +.. doxygenvariable:: orcus::css::pseudo_element_selection +.. doxygenvariable:: orcus::css::pseudo_element_backdrop + +Pseudo classes +^^^^^^^^^^^^^^ + +.. doxygenvariable:: orcus::css::pseudo_class_active +.. doxygenvariable:: orcus::css::pseudo_class_checked +.. doxygenvariable:: orcus::css::pseudo_class_default +.. doxygenvariable:: orcus::css::pseudo_class_dir +.. doxygenvariable:: orcus::css::pseudo_class_disabled +.. doxygenvariable:: orcus::css::pseudo_class_empty +.. doxygenvariable:: orcus::css::pseudo_class_enabled +.. doxygenvariable:: orcus::css::pseudo_class_first +.. doxygenvariable:: orcus::css::pseudo_class_first_child +.. doxygenvariable:: orcus::css::pseudo_class_first_of_type +.. doxygenvariable:: orcus::css::pseudo_class_fullscreen +.. doxygenvariable:: orcus::css::pseudo_class_focus +.. doxygenvariable:: orcus::css::pseudo_class_hover +.. doxygenvariable:: orcus::css::pseudo_class_indeterminate +.. doxygenvariable:: orcus::css::pseudo_class_in_range +.. doxygenvariable:: orcus::css::pseudo_class_invalid +.. doxygenvariable:: orcus::css::pseudo_class_lang +.. doxygenvariable:: orcus::css::pseudo_class_last_child +.. doxygenvariable:: orcus::css::pseudo_class_last_of_type +.. doxygenvariable:: orcus::css::pseudo_class_left +.. doxygenvariable:: orcus::css::pseudo_class_link +.. doxygenvariable:: orcus::css::pseudo_class_not +.. doxygenvariable:: orcus::css::pseudo_class_nth_child +.. doxygenvariable:: orcus::css::pseudo_class_nth_last_child +.. doxygenvariable:: orcus::css::pseudo_class_nth_last_of_type +.. doxygenvariable:: orcus::css::pseudo_class_nth_of_type +.. doxygenvariable:: orcus::css::pseudo_class_only_child +.. doxygenvariable:: orcus::css::pseudo_class_only_of_type +.. doxygenvariable:: orcus::css::pseudo_class_optional +.. doxygenvariable:: orcus::css::pseudo_class_out_of_range +.. doxygenvariable:: orcus::css::pseudo_class_read_only +.. doxygenvariable:: orcus::css::pseudo_class_read_write +.. doxygenvariable:: orcus::css::pseudo_class_required +.. doxygenvariable:: orcus::css::pseudo_class_right +.. doxygenvariable:: orcus::css::pseudo_class_root +.. doxygenvariable:: orcus::css::pseudo_class_scope +.. doxygenvariable:: orcus::css::pseudo_class_target +.. doxygenvariable:: orcus::css::pseudo_class_valid +.. doxygenvariable:: orcus::css::pseudo_class_visited + diff --git a/doc/cpp/parser/csv.rst b/doc/cpp/parser/csv.rst new file mode 100644 index 0000000..67e708a --- /dev/null +++ b/doc/cpp/parser/csv.rst @@ -0,0 +1,17 @@ +.. highlight:: cpp + +CSV parser +========== + +.. doxygenclass:: orcus::csv_parser + :members: + +.. doxygenstruct:: orcus::csv::parser_config + :members: + +Parser handler +-------------- + +.. doxygenclass:: orcus::csv_handler + :members: + diff --git a/doc/cpp/parser/exception.rst b/doc/cpp/parser/exception.rst new file mode 100644 index 0000000..e6b14cc --- /dev/null +++ b/doc/cpp/parser/exception.rst @@ -0,0 +1,37 @@ +.. highlight:: cpp + +Exceptions +========== + +.. doxygenclass:: orcus::general_error + :members: + +.. doxygenclass:: orcus::invalid_arg_error + :members: + +.. doxygenclass:: orcus::xml_structure_error + :members: + +.. doxygenclass:: orcus::json_structure_error + :members: + +.. doxygenclass:: orcus::invalid_map_error + :members: + +.. doxygenclass:: orcus::value_error + :members: + +.. doxygenclass:: orcus::xpath_error + :members: + +.. doxygenclass:: orcus::interface_error + :members: + +.. doxygenclass:: orcus::parse_error + :members: + +.. doxygenclass:: orcus::malformed_xml_error + :members: + +.. doxygenclass:: orcus::zip_error + :members: diff --git a/doc/cpp/parser/index.rst b/doc/cpp/parser/index.rst new file mode 100644 index 0000000..5a8141b --- /dev/null +++ b/doc/cpp/parser/index.rst @@ -0,0 +1,24 @@ + +Low-level parsers +================= + +This section presents the API's from the ``liborcus-parser`` part of this library, +which contains low-level parsers and utilities either used by or used in conjunction +with the parsers. The higher level import filters document models internally use +these parsers and utilities. + +.. toctree:: + :maxdepth: 1 + + xml.rst + xml_writer.rst + json.rst + css.rst + csv.rst + yaml.rst + types.rst + util.rst + stream.rst + base64.rst + archive.rst + exception.rst diff --git a/doc/cpp/parser/json.rst b/doc/cpp/parser/json.rst new file mode 100644 index 0000000..8aa402b --- /dev/null +++ b/doc/cpp/parser/json.rst @@ -0,0 +1,14 @@ +.. highlight:: cpp + +JSON parser +=========== + +.. doxygenclass:: orcus::json_parser + :members: + +Parser handler +-------------- + +.. doxygenclass:: orcus::json_handler + :members: + diff --git a/doc/cpp/parser/stream.rst b/doc/cpp/parser/stream.rst new file mode 100644 index 0000000..6f8ecde --- /dev/null +++ b/doc/cpp/parser/stream.rst @@ -0,0 +1,24 @@ +.. highlight:: cpp + +Stream +====== + +Stream buffers +-------------- + +.. doxygenclass:: orcus::file_content + :members: + +.. doxygenclass:: orcus::memory_content + :members: + +Utility functions +----------------- + +.. doxygenstruct:: orcus::line_with_offset + :members: + +.. doxygenfunction:: orcus::create_parse_error_output +.. doxygenfunction:: orcus::locate_line_with_offset +.. doxygenfunction:: orcus::locate_first_different_char +.. doxygenfunction:: orcus::calc_logical_string_length diff --git a/doc/cpp/parser/types.rst b/doc/cpp/parser/types.rst new file mode 100644 index 0000000..6c53267 --- /dev/null +++ b/doc/cpp/parser/types.rst @@ -0,0 +1,43 @@ + +Basic types +=========== + +Constants +--------- + +.. doxygenvariable:: orcus::INDEX_NOT_FOUND +.. doxygenvariable:: orcus::XMLNS_UNKNOWN_ID +.. doxygenvariable:: orcus::XML_UNKNOWN_TOKEN + +Type aliases +------------ + +.. doxygentypedef:: orcus::xml_token_attrs_t +.. doxygentypedef:: orcus::xml_token_t +.. doxygentypedef:: orcus::xmlns_id_t + +Structs +------- + +.. doxygenstruct:: orcus::date_time_t +.. doxygenstruct:: orcus::length_t +.. doxygenstruct:: orcus::parse_error_value_t +.. doxygenstruct:: orcus::xml_declaration_t +.. doxygenstruct:: orcus::xml_name_t +.. doxygenstruct:: orcus::xml_token_attr_t +.. doxygenstruct:: orcus::xml_token_element_t + +Enums +----- + +.. doxygenenum:: orcus::character_set_t +.. doxygenenum:: orcus::dump_format_t +.. doxygenenum:: orcus::format_t +.. doxygenenum:: orcus::length_unit_t + +Utility functions +----------------- + +.. doxygenfunction:: orcus::get_dump_format_entries +.. doxygenfunction:: orcus::to_character_set +.. doxygenfunction:: orcus::to_dump_format_enum diff --git a/doc/cpp/parser/util.rst b/doc/cpp/parser/util.rst new file mode 100644 index 0000000..2d3ec0d --- /dev/null +++ b/doc/cpp/parser/util.rst @@ -0,0 +1,13 @@ +.. highlight:: cpp + +Utilities +========= + +.. doxygenclass:: orcus::string_pool + :members: + +.. doxygenclass:: orcus::tokens + :members: + +.. doxygenclass:: orcus::cell_buffer + :members: diff --git a/doc/cpp/parser/xml.rst b/doc/cpp/parser/xml.rst new file mode 100644 index 0000000..462c466 --- /dev/null +++ b/doc/cpp/parser/xml.rst @@ -0,0 +1,65 @@ +.. highlight:: cpp + +XML parsers +=========== + +SAX base parser +--------------- + +.. doxygenclass:: orcus::sax_parser + :members: + +.. doxygenstruct:: orcus::sax_parser_default_config + :members: + +.. doxygenclass:: orcus::sax_handler + :members: + +.. doxygenstruct:: orcus::sax::parser_element + :members: + +.. doxygenstruct:: orcus::sax::parser_attribute + :members: + +SAX namespace parser +-------------------- + +.. doxygenclass:: orcus::sax_ns_parser + :members: + +.. doxygenclass:: orcus::sax_ns_handler + :members: + +.. doxygenstruct:: orcus::sax_ns_parser_element + :members: + +.. doxygenstruct:: orcus::sax_ns_parser_attribute + :members: + +SAX token parser +---------------- + +.. doxygenclass:: orcus::sax_token_parser + :members: + +.. doxygenclass:: orcus::sax_token_handler + :members: + +Namespace +--------- + +.. doxygenclass:: orcus::xmlns_repository + :members: + +.. doxygenclass:: orcus::xmlns_context + :members: + +Common +------ + +.. doxygenstruct:: orcus::sax::doctype_declaration + :members: + +.. doxygenfunction:: orcus::sax::decode_xml_encoded_char + +.. doxygenfunction:: orcus::sax::decode_xml_unicode_char diff --git a/doc/cpp/parser/xml_writer.rst b/doc/cpp/parser/xml_writer.rst new file mode 100644 index 0000000..1092ac4 --- /dev/null +++ b/doc/cpp/parser/xml_writer.rst @@ -0,0 +1,7 @@ +.. highlight:: cpp + +XML writer +========== + +.. doxygenclass:: orcus::xml_writer + :members: diff --git a/doc/cpp/parser/yaml.rst b/doc/cpp/parser/yaml.rst new file mode 100644 index 0000000..0a1107a --- /dev/null +++ b/doc/cpp/parser/yaml.rst @@ -0,0 +1,14 @@ +.. highlight:: cpp + +YAML parser +=========== + +.. doxygenclass:: orcus::yaml_parser + :members: + +Parser Handler +-------------- + +.. doxygenclass:: orcus::yaml_handler + :members: + diff --git a/doc/cpp/spreadsheet-doc/document.rst b/doc/cpp/spreadsheet-doc/document.rst new file mode 100644 index 0000000..0b03610 --- /dev/null +++ b/doc/cpp/spreadsheet-doc/document.rst @@ -0,0 +1,9 @@ + +Document +======== + +.. doxygenclass:: orcus::spreadsheet::document + :members: + +.. doxygenstruct:: orcus::spreadsheet::document_config + :members: diff --git a/doc/cpp/spreadsheet-doc/import-export.rst b/doc/cpp/spreadsheet-doc/import-export.rst new file mode 100644 index 0000000..0c5b801 --- /dev/null +++ b/doc/cpp/spreadsheet-doc/import-export.rst @@ -0,0 +1,50 @@ + +Import and export +================= + +The classes in this section can be viewed as the points of entry for initiating +import or export processes. + +The :cpp:class:`~orcus::spreadsheet::import_factory` class wraps +:cpp:class:`~orcus::spreadsheet::document` as its destination storage then +gets passed to an import filter class that parses the content of an input file +and populates the destination document store. + +The :cpp:class:`~orcus::spreadsheet::import_styles` class works similarly to +:cpp:class:`~orcus::spreadsheet::import_factory` in that it wraps +:cpp:class:`~orcus::spreadsheet::styles` as its destination storage then gets +passed to a styles import parser in order to get the destination store +populated. Although this class is used by +:cpp:class:`~orcus::spreadsheet::import_factory` internally, it can also be +instantiated independently to allow loading of just the styles data. + +The :cpp:class:`~orcus::spreadsheet::export_factory` also works in a similar +fashion, however; the export functionality of the orcus library is currently +very limited and should be considered experimental. It is currently only used +by :cpp:class:`~orcus::orcus_xml` to export the content of a document which +was originally imported from an XML document. + +.. warning:: + + The export functionality of the orcus library is highly experimental. + + +Import factory +-------------- + +.. doxygenclass:: orcus::spreadsheet::import_factory + :members: + + +Import styles +------------- + +.. doxygenclass:: orcus::spreadsheet::import_styles + :members: + + +Export factory +-------------- + +.. doxygenclass:: orcus::spreadsheet::export_factory + :members: diff --git a/doc/cpp/spreadsheet-doc/index.rst b/doc/cpp/spreadsheet-doc/index.rst new file mode 100644 index 0000000..b0c2c94 --- /dev/null +++ b/doc/cpp/spreadsheet-doc/index.rst @@ -0,0 +1,21 @@ + +Spreadsheet document +==================== + +This section contains the API's related to the spreadsheet document storage, which +is provided by the ``liborcus-spreadsheet`` part of this library. This ``liborcus-spreadsheet`` +module has dependency on the :ref:`ixion <ixion:index>` library in order to perform +computation of formula cells. + +.. toctree:: + :maxdepth: 1 + + types.rst + document.rst + sheet.rst + table.rst + pivot.rst + styles.rst + view.rst + shared-strings.rst + import-export.rst diff --git a/doc/cpp/spreadsheet-doc/pivot.rst b/doc/cpp/spreadsheet-doc/pivot.rst new file mode 100644 index 0000000..00c1a16 --- /dev/null +++ b/doc/cpp/spreadsheet-doc/pivot.rst @@ -0,0 +1,21 @@ + +Pivot table +=========== + +.. doxygenstruct:: orcus::spreadsheet::pivot_cache_record_value_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::pivot_cache_item_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::pivot_cache_group_data_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::pivot_cache_field_t + :members: + +.. doxygenclass:: orcus::spreadsheet::pivot_cache + :members: + +.. doxygenclass:: orcus::spreadsheet::pivot_collection + :members: diff --git a/doc/cpp/spreadsheet-doc/shared-strings.rst b/doc/cpp/spreadsheet-doc/shared-strings.rst new file mode 100644 index 0000000..799e57b --- /dev/null +++ b/doc/cpp/spreadsheet-doc/shared-strings.rst @@ -0,0 +1,10 @@ + +Shared strings +============== + +.. doxygenclass:: orcus::spreadsheet::shared_strings + :members: + +.. doxygenstruct:: orcus::spreadsheet::format_run +.. doxygentypedef:: orcus::spreadsheet::format_runs_t + diff --git a/doc/cpp/spreadsheet-doc/sheet.rst b/doc/cpp/spreadsheet-doc/sheet.rst new file mode 100644 index 0000000..e1cf87e --- /dev/null +++ b/doc/cpp/spreadsheet-doc/sheet.rst @@ -0,0 +1,6 @@ + +Sheet +===== + +.. doxygenclass:: orcus::spreadsheet::sheet + :members: diff --git a/doc/cpp/spreadsheet-doc/styles.rst b/doc/cpp/spreadsheet-doc/styles.rst new file mode 100644 index 0000000..59d7f77 --- /dev/null +++ b/doc/cpp/spreadsheet-doc/styles.rst @@ -0,0 +1,30 @@ + +Styles +====== + +.. doxygenclass:: orcus::spreadsheet::styles + :members: + +.. doxygenstruct:: orcus::spreadsheet::font_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::fill_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::border_attrs_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::border_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::protection_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::number_format_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::cell_format_t + :members: + +.. doxygenstruct:: orcus::spreadsheet::cell_style_t + :members: diff --git a/doc/cpp/spreadsheet-doc/table.rst b/doc/cpp/spreadsheet-doc/table.rst new file mode 100644 index 0000000..4b44e42 --- /dev/null +++ b/doc/cpp/spreadsheet-doc/table.rst @@ -0,0 +1,9 @@ + +Table and autofilter +==================== + +.. doxygenstruct:: orcus::spreadsheet::auto_filter_column_t +.. doxygenstruct:: orcus::spreadsheet::auto_filter_t +.. doxygenstruct:: orcus::spreadsheet::table_column_t +.. doxygenstruct:: orcus::spreadsheet::table_style_t +.. doxygenstruct:: orcus::spreadsheet::table_t diff --git a/doc/cpp/spreadsheet-doc/types.rst b/doc/cpp/spreadsheet-doc/types.rst new file mode 100644 index 0000000..51a8489 --- /dev/null +++ b/doc/cpp/spreadsheet-doc/types.rst @@ -0,0 +1,5 @@ + +Types +===== + +.. doxygenstruct:: orcus::spreadsheet::color_t diff --git a/doc/cpp/spreadsheet-doc/view.rst b/doc/cpp/spreadsheet-doc/view.rst new file mode 100644 index 0000000..79c07dd --- /dev/null +++ b/doc/cpp/spreadsheet-doc/view.rst @@ -0,0 +1,9 @@ + +View +==== + +.. doxygenclass:: orcus::spreadsheet::view + :members: + +.. doxygenclass:: orcus::spreadsheet::sheet_view + :members: |