void c_text_display::draw_strings(void) { if (is_initalized) { c_text_data_list_iterator my_iterator(&m_strings); for (my_iterator.set_at_start(); !my_iterator.at_end(); my_iterator.next()) { s_text_data current_text_data = my_iterator.get_data(); RECT display_rect; display_rect.top = static_cast<long>(current_text_data.position.get_position().y); display_rect.left = static_cast<long>(current_text_data.position.get_position().x); display_rect.bottom = static_cast<long>(display_rect.top + 25); display_rect.right = static_cast<long>(display_rect.left + current_text_data.text.length() * 32); int result = font->DrawTextA( NULL, current_text_data.text.get_string_const(), current_text_data.text.length(), &display_rect, 0, font_color(current_text_data)); std::cout << current_text_data.text.get_string_const() << std::endl; } } }
my_iterator operator++(int) { auto it = my_iterator(*this); //cc of shared_ptr d_val = std::make_shared<special_int>(*d_val + 1); // copy on write return it; }
my_iterator operator++(int) { std::cout << "increment++\n"; return my_iterator(); }
my_iterator operator--(int) { std::cout << "decrement--\n"; return my_iterator(); }