8#ifndef ORCUS_SPREADSHEET_TYPES_HPP
9#define ORCUS_SPREADSHEET_TYPES_HPP
16#include <initializer_list>
23namespace orcus {
namespace spreadsheet {
30using sheet_t = int32_t;
32using color_elem_t = uint8_t;
34using col_width_t = uint16_t;
36using row_height_t = uint16_t;
38using string_id_t = uint32_t;
40using pivot_cache_id_t = uint32_t;
48ORCUS_DLLPUBLIC col_width_t get_default_column_width();
56ORCUS_DLLPUBLIC row_height_t get_default_row_height();
61enum class error_value_t
88enum class border_direction_t
114enum class border_style_t
139enum class fill_pattern_t
167enum class strikethrough_style_t
184enum class strikethrough_type_t
197enum class strikethrough_width_t
212enum class strikethrough_text_t
225enum class formula_grammar_t
261enum class formula_ref_context_t
270 named_expression_base,
290enum class formula_error_policy_t
302enum class underline_style_t
332enum class underline_thickness_t
352enum class underline_spacing_t
367 continuous_over_field,
374enum class underline_count_t
386enum class hor_alignment_t
400enum class ver_alignment_t
414enum class xf_category_t
430enum class data_table_type_t
440enum class totals_row_function_t
454enum class auto_filter_node_op_t
461enum class auto_filter_op_t
483 bottom_percent_range,
489enum class conditional_format_t
503enum class condition_operator_t
540enum class condition_type_t
556enum class condition_date_t
578enum class databar_axis_t
588enum class pivot_cache_group_by_t
681ORCUS_DLLPUBLIC
bool operator== (
const range_t& left,
const range_t& right);
682ORCUS_DLLPUBLIC
bool operator!= (
const range_t& left,
const range_t& right);
687ORCUS_DLLPUBLIC
bool operator< (
const range_t& left,
const range_t& right);
688ORCUS_DLLPUBLIC
bool operator> (
const range_t& left,
const range_t& right);
693ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os,
const address_t& v);
694ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os,
const src_address_t& v);
695ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os,
const src_range_t& v);
696ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os,
const range_t& v);
716ORCUS_DLLPUBLIC totals_row_function_t to_totals_row_function_enum(std::string_view s);
726ORCUS_DLLPUBLIC pivot_cache_group_by_t to_pivot_cache_group_by_enum(std::string_view s);
736ORCUS_DLLPUBLIC error_value_t to_error_value_enum(std::string_view s);
747ORCUS_DLLPUBLIC
color_rgb_t to_color_rgb(std::string_view s);
758ORCUS_DLLPUBLIC
color_rgb_t to_color_rgb_from_name(std::string_view s);
767ORCUS_DLLPUBLIC formula_error_policy_t to_formula_error_policy(std::string_view s);
769ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os, error_value_t ev);
770ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os, border_style_t border);
771ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os, formula_grammar_t grammar);
772ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os, underline_style_t uline);
773ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os, underline_thickness_t ulwidth);
774ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os, underline_spacing_t ulmode);
775ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os, underline_count_t ultype);
776ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os, hor_alignment_t halign);
777ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os, ver_alignment_t valign);
778ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os, auto_filter_node_op_t op);
779ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os, auto_filter_op_t op);
780ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os,
const color_rgb_t& color);
781ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os,
const fill_pattern_t& fill);
782ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os,
const strikethrough_style_t& ss);
783ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os,
const strikethrough_type_t& st);
784ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os,
const strikethrough_width_t& sw);
785ORCUS_DLLPUBLIC std::ostream& operator<< (std::ostream& os,
const strikethrough_text_t& st);