Changeset 15:e41c71268807 in lemon-0.x for src/work
- Timestamp:
- 01/16/04 12:20:09 (21 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@28
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/work/marci_graph_concept.txt
r10 r15 23 23 graf es iterator tipusok: 24 24 25 class list_graph 26 27 class node_iterator 25 class list_graph; 26 27 class node_iterator; 28 28 trivialis node iterator, csak cimezni lehet vele, pl property vectort 29 29 30 class each_node_iterator 30 class each_node_iterator; 31 31 node iterator a graf pontjainak bejarasara, node_iterator-a konvertalhato 32 32 33 class edge_iterator 33 class edge_iterator; 34 34 trivialis edge iterator, csak cimezni lehet vele, pl property vectort 35 35 36 class each_edge_iterator 36 class each_edge_iterator; 37 37 edge iterator a graf osszes elenek bejarasara 38 38 39 class out_edge_iterator 39 class out_edge_iterator; 40 40 edge iterator 1 pont ki eleinek bejarasara, edge_iterator-a konvertalhato 41 41 42 class in_edge_iterator 42 class in_edge_iterator; 43 43 edge iterator 1 pont be eleinek bejarasara, edge_iterator-a konvertalhato 44 44 45 class sym_edge_iterator 45 class sym_edge_iterator; 46 46 edge iterator 1 pont be es ki eleinek bejarasara, edge_iterator-a konvertalhato 47 47 48 48 default constructor: 49 49 50 list_graph() 50 list_graph(); 51 51 52 52 A graf osztaly fobb publikus metodusai, az alapveto hasznalathoz: … … 59 59 esetleg majd szamuzzuk a concept-bol, s akkor nem nesz baj. 60 60 61 each_node_iterator first_node() 62 each_edge_iterator first_edge() 63 out_edge_iterator first_out_edge(const node_iterator&) 64 in_edge_iterator first_in_edge(const node_iterator&) 65 sym_edge_iterator first_sym_edge(const node_iterator&) 66 67 node_iterator tail(const edge_iterator&) 68 node_iterator head(const edge_iterator&) 69 70 node_iterator a_node(const out_edge_iterator&) 71 node_iterator a_node(const in_edge_iterator&) 72 node_iterator a_node(const sym_edge_iterator&) 61 each_node_iterator first_node(); 62 each_edge_iterator first_edge(); 63 out_edge_iterator first_out_edge(const node_iterator&); 64 in_edge_iterator first_in_edge(const node_iterator&); 65 sym_edge_iterator first_sym_edge(const node_iterator&); 66 67 node_iterator tail(const edge_iterator&); 68 node_iterator head(const edge_iterator&); 69 70 node_iterator a_node(const out_edge_iterator&); 71 node_iterator a_node(const in_edge_iterator&); 72 node_iterator a_node(const sym_edge_iterator&); 73 73 //az out, in or sym edge iterator rogzitett pontjara ad 1 node_iterator-t 74 74 75 node_iterator b_node(const out_edge_iterator&) 76 node_iterator b_node(const in_edge_iterator&) 77 node_iterator b_node(const sym_edge_iterator&) 75 node_iterator b_node(const out_edge_iterator&); 76 node_iterator b_node(const in_edge_iterator&); 77 node_iterator b_node(const sym_edge_iterator&); 78 78 //az out, in or sym edge iterator nem rogzitett pontjara ad 1 node_iterator-t 79 79 80 node_iterator invalid_node() 81 edge_iterator invalid_edge() 82 out_edge_iterator invalid_out_edge() 83 in_edge_iterator invalid_in_edge() 84 sym_edge_iterator invalid_sym_edge() 80 //node_iterator invalid_node(); 81 //edge_iterator invalid_edge(); 82 //out_edge_iterator invalid_out_edge(); 83 //in_edge_iterator invalid_in_edge(); 84 //sym_edge_iterator invalid_sym_edge(); 85 85 86 86 //az iteratorok ures konstruktorai meghatarozatlan … … 91 91 Kiserleti cellal ugyanezen fv-ek mas stilusu megvalositasai: 92 92 93 void get_first(each_node_iterator&) 94 void get_first(each_edge_iterator&) 95 void get_first(out_edge_iterator&, const node_iterator&) 96 void get_first(in_edge_iterator&, const node_iterator&) 97 void get_first(sym_edge_iterator&, const node_iterator&) 98 99 void get_tail(node_iterator&, const edge_iterator&) 100 void get_head(node_iterator&, const edge_iterator&) 101 102 void get_a_node(node_iterator&, const out_edge_iterator&) 103 void get_a_node(node_iterator&, const in_edge_iterator&) 104 void get_a_node(node_iterator&, const sym_edge_iterator&) 93 void get_first(each_node_iterator&); 94 void get_first(each_edge_iterator&); 95 void get_first(out_edge_iterator&, const node_iterator&); 96 void get_first(in_edge_iterator&, const node_iterator&); 97 void get_first(sym_edge_iterator&, const node_iterator&); 98 99 void get_tail(node_iterator&, const edge_iterator&); 100 void get_head(node_iterator&, const edge_iterator&); 101 102 void get_a_node(node_iterator&, const out_edge_iterator&); 103 void get_a_node(node_iterator&, const in_edge_iterator&); 104 void get_a_node(node_iterator&, const sym_edge_iterator&); 105 105 106 void get_b_node(node_iterator&, const out_edge_iterator&) 107 void get_b_node(node_iterator&, const in_edge_iterator&) 108 void get_b_node(node_iterator&, const sym_edge_iterator&) 109 110 void get_invalid(node_iterator&) 111 void get_invalid(edge_iterator&) 112 void get_invalid(out_edge_iterator&) 113 void get_invalid(in_edge_iterator&) 114 void get_invalid(sym_edge_iterator&) 106 void get_b_node(node_iterator&, const out_edge_iterator&); 107 void get_b_node(node_iterator&, const in_edge_iterator&); 108 void get_b_node(node_iterator&, const sym_edge_iterator&); 109 110 //void get_invalid(node_iterator&); 111 //void get_invalid(edge_iterator&); 112 //void get_invalid(out_edge_iterator&); 113 //void get_invalid(in_edge_iterator&); 114 //void get_invalid(sym_edge_iterator&); 115 115 116 116 Pontok azonositasara de meginkabb property vectorokhoz: 117 117 118 int id(const node_iterator&) 119 int id(const edge_iterator&) 118 int id(const node_iterator&); 119 int id(const edge_iterator&); 120 120 121 121 Pontok es elek hozzaadasanak metodusai: 122 122 123 node_iterator add_node() 124 edge_iterator add_edge(const node_iterator&, const node_iterator&) 123 node_iterator add_node(); 124 edge_iterator add_edge(const node_iterator&, const node_iterator&); 125 125 126 126 Hogy konnyebb legyen a progikat tesztelni, nehany stream utasitas: 127 127 ezek nem a list_graph metodusai 128 128 129 friend std::ostream& operator<<(std::ostream&, const node_iterator&) 130 friend std::ostream& operator<<(std::ostream&, const edge_iterator&) 129 friend std::ostream& operator<<(std::ostream&, const node_iterator&); 130 friend std::ostream& operator<<(std::ostream&, const edge_iterator&); 131 131 132 132 node_iterator metodusai: 133 node_iterator() 134 bool is_valid() 133 node_iterator(); 134 bool is_valid(); 135 void make_invalid(); 135 136 ezek nem tagfuggvenyek: 136 friend bool operator==(const node_iterator&, const node_iterator&) 137 friend bool operator!=(const node_iterator& u, const node_iterator& v) 137 friend bool operator==(const node_iterator&, const node_iterator&); 138 friend bool operator!=(const node_iterator& u, const node_iterator& v); 138 139 139 140 each_node_iterator metodusai: 140 141 ez publikusan szarmazik a node_iterator-bol, tehat a fentiek is. 141 each_node_iterator() 142 each_node_iterator& operator++() 142 each_node_iterator(); 143 each_node_iterator& operator++(); 143 144 144 145 edge_iterator metodusai: 145 edge_iterator() 146 bool is_valid() 146 edge_iterator(); 147 bool is_valid(); 148 void make_invalid(); 147 149 ezek nem tagfvek: 148 friend bool operator==(const edge_iterator&, const edge_iterator&) 149 friend bool operator!=(const edge_iterator&, const edge_iterator&) 150 friend bool operator==(const edge_iterator&, const edge_iterator&); 151 friend bool operator!=(const edge_iterator&, const edge_iterator&); 150 152 ujra tagfv-ek. 151 //node_iterator tail_node() const nem javasolt152 //node_iterator head_node() const nem javasolt153 //node_iterator tail_node() const; nem javasolt 154 //node_iterator head_node() const; nem javasolt 153 155 154 156 each_edge_iterator metodusai: 155 157 edge_iterator-bol szarmazik 156 each_edge_iterator() 157 each_edge_iterator& operator++() 158 each_edge_iterator(); 159 each_edge_iterator& operator++(); 158 160 159 161 out_edge_iterator metodusai: 160 162 edge_iterator-bol szarmazik 161 out_edge_iterator() 162 //out_edge_iterator(const node_iterator&) nem javasolt163 out_edge_iterator& operator++() 164 //node_iterator a_node() const nem javasolt165 //node_iterator b_node() const 163 out_edge_iterator(); 164 //out_edge_iterator(const node_iterator&); nem javasolt 165 out_edge_iterator& operator++(); 166 //node_iterator a_node() const; nem javasolt 167 //node_iterator b_node() const; 166 168 167 169 168 170 in_edge_iterator metodusai: 169 171 edge_iterator-bol szarmazik 170 in_edge_iterator() 171 //in_edge_iterator(const node_iterator&) nem javasolt172 in_edge_iterator& operator++() 173 //node_iterator a_node() const nem javasolt174 //node_iterator b_node() const 172 in_edge_iterator(); 173 //in_edge_iterator(const node_iterator&); nem javasolt 174 in_edge_iterator& operator++(); 175 //node_iterator a_node() const; nem javasolt 176 //node_iterator b_node() const; 175 177 176 178 177 179 sym_edge_iterator metodusai: 178 180 edge_iterator-bol szarmazik 179 sym_edge_iterator() 180 //sym_edge_iterator(const node_iterator&) nem javasolt181 sym_edge_iterator& operator++() 182 //node_iterator a_node() const nem javasolt183 //node_iterator b_node() const 181 sym_edge_iterator(); 182 //sym_edge_iterator(const node_iterator&); nem javasolt 183 sym_edge_iterator& operator++(); 184 //node_iterator a_node() const; nem javasolt 185 //node_iterator b_node() const; 184 186 185 187 Node propery array-okrol: 186 188 187 189 template <typename graph_type, typename T> 188 class node_property_vector 190 class node_property_vector; 189 191 190 192 metodusok: 191 193 192 node_property_vector(graph_type&) 193 node_property_vector(graph_type&, T a) 194 fill constructor, a-val kitolt 195 void put(graph_traits<graph_type>::node_iterator, const T&) 196 T get(graph_traits<graph_type>::node_iterator) 194 node_property_vector(graph_type&); 195 void put(graph_traits<graph_type>::node_iterator, const T&); 196 T get(graph_traits<graph_type>::node_iterator); 197 197 198 198 Ugyanez edge_property_array-okkal 199 199 200 200 template <typename graph_type, typename T> 201 class edge_property_vector 202 203 edge_property_vector(graph_type&) 204 edge_property_vector(graph_type&, T a) 205 fill constructor, a-val kitolt 206 void put(graph_traits<graph_type>::edge_iterator, const T&) 207 get(graph_traits<graph_type>::edge_iterator) 201 class edge_property_vector; 202 203 edge_property_vector(graph_type&); 204 void put(graph_traits<graph_type>::edge_iterator, const T&); 205 get(graph_traits<graph_type>::edge_iterator); 208 206 209 207 Ennyi nem javasolas utan, meg nehany szo. … … 218 216 219 217 marci@cs.elte.hu 220 221 222
Note: See TracChangeset
for help on using the changeset viewer.