ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/SiteMapper/Page.cpp
(Generate patch)

Comparing SiteMapper/Page.cpp (file contents):
Revision 129 by Douglas Thrift, 2004-03-23T22:49:41-08:00 vs.
Revision 141 by Douglas Thrift, 2004-03-25T19:21:58-08:00

# Line 12 | Line 12 | Page::Page(const string& address, const
12          setAddress(address);
13          setPath(path);
14          setTitle(title);
15 +
16 +        tab = 0;
17   }
18  
19 < Page::Page(const string& url)
19 > Page::Page(const string& url, const string& title)
20   {
21          setUrl(url);
22 +        setTitle(title);
23 +
24 +        tab = 0;
25   }
26  
27   void Page::setUrl(const string& url)
# Line 46 | Line 51 | void Page::setUrl(const string& url)
51  
52   bool Page::operator==(const string& thing)
53   {
54 <        //
54 >        if (address == thing)
55 >        {
56 >                return true;
57 >        }
58 >        else if (path == thing)
59 >        {
60 >                return true;
61 >        }
62 >        else if (title == thing)
63 >        {
64 >                return true;
65 >        }
66  
67          return false;
68   }
69  
70 < bool Page::operator==(Page& page)
70 > bool Page::operator==(Matcher& matcher)
71   {
72 <        //
72 >        if (address == matcher)
73 >        {
74 >                return true;
75 >        }
76 >        else if (path == matcher)
77 >        {
78 >                return true;
79 >        }
80 >        else if (title == matcher)
81 >        {
82 >                return true;
83 >        }
84  
85          return false;
86   }
87  
88 < bool Page::operator<(Page& page)
88 > bool Page::operator==(const Page& page) const
89   {
90 <        //
90 >        if (address == page.address)
91 >        {
92 >                if (path == page.path || title == page.title) return true;
93 >        }
94  
95          return false;
96   }
97  
98 < bool Page::operator>(Page& page)
98 > bool Page::operator<(const Page& page) const
99   {
100 <        //
100 >        if (address == page.address)
101 >        {
102 >                return path < page.path;
103 >        }
104  
105 <        return false;
105 >        return address < page.address;
106 > }
107 >
108 > bool Page::operator>(const Page& page) const
109 > {
110 >        if (address == page.address)
111 >        {
112 >                return path > page.path;
113 >        }
114 >
115 >        return address > page.address;
116 > }
117 >
118 > ostream& operator<<(ostream& output, Page& page)
119 > {
120 >        string tab(page.tab, '\t');
121 >
122 >        output << tab << "<item><link address=\"" << page.getUrl() << "\">"
123 >                << page.title << "</link>\n";
124 >
125 >        if (!page.children.empty())
126 >        {
127 >                output << tab << "\t<list>\n";
128 >
129 >                for (unsigned index = 0; index < page.children.size(); index++)
130 >                {
131 >                        output << page.children[index](page.tab + 1) << '\n';
132 >                }
133 >
134 >                output << tab << "\t</list>\n";
135 >        }
136 >
137 >        output << tab << "</item>";
138 >
139 >        return output;
140   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines