| 670 | //--------------------------------------------------------------------------------------// |
| 671 | |
| 672 | path::iterator path::begin() const |
| 673 | { |
| 674 | iterator itr; |
| 675 | itr.m_path_ptr = this; |
| 676 | size_type element_size; |
| 677 | first_element(m_pathname, itr.m_pos, element_size); |
| 678 | itr.m_element = m_pathname.substr(itr.m_pos, element_size); |
| 679 | if (itr.m_element.m_pathname == preferred_separator_string) |
| 680 | itr.m_element.m_pathname = separator_string; // needed for Windows, harmless on POSIX |
| 681 | return itr; |
| 682 | } |
| 683 | |
| 684 | path::iterator path::end() const |
| 685 | { |