Orcus
Public Types | Public Member Functions | List of all members
orcus::spreadsheet::import_shared_strings Class Reference

#include <shared_strings.hpp>

Inheritance diagram for orcus::spreadsheet::import_shared_strings:
orcus::spreadsheet::iface::import_shared_strings

Public Types

typedef std::unordered_map< size_t, format_runs_t * > format_runs_map_type
 

Public Member Functions

 import_shared_strings (orcus::string_pool &sp, ixion::model_context &cxt, import_styles &styles)
 
virtual size_t append (const char *s, size_t n)
 
virtual size_t add (const char *s, size_t n)
 
virtual void set_segment_font (size_t font_index)
 
virtual void set_segment_bold (bool b)
 
virtual void set_segment_italic (bool b)
 
virtual void set_segment_font_name (const char *s, size_t n)
 
virtual void set_segment_font_size (double point)
 
virtual void set_segment_font_color (color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)
 
virtual void append_segment (const char *s, size_t n)
 
virtual size_t commit_segments ()
 
const format_runs_t * get_format_runs (size_t index) const
 
const std::string * get_string (size_t index) const
 
void dump () const
 

Detailed Description

This class handles global pool of string instances.

Member Function Documentation

virtual size_t orcus::spreadsheet::import_shared_strings::add ( const char *  s,
size_t  n 
)
virtual

Similar to the append method, it adds new string to the string pool; however, this method checks if the string being added is already in the pool before each insertion, to avoid duplicated strings.

Parameters
spointer to the first character of the string array. The string array doesn't necessary have to be null-terminated.
nlength of the string.
Returns
ID of the string just inserted.

Implements orcus::spreadsheet::iface::import_shared_strings.

virtual size_t orcus::spreadsheet::import_shared_strings::append ( const char *  s,
size_t  n 
)
virtual

Append new string to the string list. Order of insertion is important since that determines the numerical ID values of inserted strings. Note that this method assumes that the caller knows the string being appended is not yet in the pool.

Parameters
spointer to the first character of the string array. The string array doesn't necessary have to be null-terminated.
nlength of the string.
Returns
ID of the string just inserted.

Implements orcus::spreadsheet::iface::import_shared_strings.