30 typedef std::vector<value_type> data_container;
31 typedef std::map<address_type, data_container> container;
33 typedef container::iterator iterator;
34 typedef container::reverse_iterator reverse_iterator;
35 typedef data_container::size_type size_type;
39 bool segment_addr_rec;
44 hex_data() : _fill(0), segment_addr_rec(
false), linear_addr_rec(
false) {}
45 hex_data(
const std::string &s) : _fill(0), segment_addr_rec(
false), linear_addr_rec(
false)
49 iterator begin() {
return blocks.begin(); }
50 iterator end() {
return blocks.end(); }
54 void erase(address_type);
55 void erase(address_type first, address_type last);
56 value_type fill() {
return _fill; }
57 void fill(value_type f) { _fill = f; }
59 size_type size_below_addr(address_type);
60 size_type size_in_range(address_type, address_type);
61 address_type max_addr_below(address_type);
63 address_type min_address()
const;
64 address_type max_address()
const;
66 bool is_set(address_type);
68 value_type& operator[](address_type);
69 value_type get(address_type);
70 void set(address_type, value_type);
72 void load(
const std::string&);
73 void read(std::istream &);
74 void write(
const char *);
75 void write(std::ostream &);
76 void tidy(size_type length);