1.1 --- a/src/work/marci_property_vector.hh Sat Apr 03 14:22:33 2004 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,57 +0,0 @@
1.4 -#ifndef MARCI_PROPERTY_VECTOR_HH
1.5 -#define MARCI_PROPERTY_VECTOR_HH
1.6 -
1.7 -#include <vector>
1.8 -
1.9 -namespace hugo {
1.10 -
1.11 - template <typename iterator>
1.12 - int number_of(iterator _it) {
1.13 - int i=0;
1.14 - for( ; _it.valid(); ++_it) { ++i; }
1.15 - return i;
1.16 - }
1.17 -
1.18 - template <typename graph_type, typename T>
1.19 - class node_property_vector {
1.20 - typedef typename graph_type::node_iterator node_iterator;
1.21 - typedef typename graph_type::each_node_iterator each_node_iterator;
1.22 - graph_type& G;
1.23 - std::vector<T> container;
1.24 - public:
1.25 - node_property_vector(graph_type& _G) : G(_G) {
1.26 - int i=0;
1.27 - for(each_node_iterator it=G.first_node(); it.valid(); ++it) ++i;
1.28 - container.resize(i);
1.29 - }
1.30 - node_property_vector(graph_type& _G, T a) : G(_G) {
1.31 - for(each_node_iterator it=G.first_node(); it.valid(); ++it) { container.push_back(a); }
1.32 - }
1.33 - void put(node_iterator nit, const T& a) { container[G.id(nit)]=a; }
1.34 - T get(node_iterator nit) { return container[G.id(nit)]; }
1.35 - };
1.36 -
1.37 - template <typename graph_type, typename T>
1.38 - class edge_property_vector {
1.39 - typedef typename graph_type::edge_iterator edge_iterator;
1.40 - typedef typename graph_type::each_edge_iterator each_edge_iterator;
1.41 - graph_type& G;
1.42 - std::vector<T> container;
1.43 - public:
1.44 - edge_property_vector(graph_type& _G) : G(_G) {
1.45 - int i=0;
1.46 - for(each_edge_iterator it=G.first_edge(); it.valid(); ++it) ++i;
1.47 - container.resize(i);
1.48 - }
1.49 - edge_property_vector(graph_type& _G, T a) : G(_G) {
1.50 - for(each_edge_iterator it=G.first_edge(); it.valid(); ++it) {
1.51 - container.push_back(a);
1.52 - }
1.53 - }
1.54 - void put(edge_iterator eit, const T& a) { container[G.id(eit)]=a; }
1.55 - T get(edge_iterator eit) { return container[G.id(eit)]; }
1.56 - };
1.57 -
1.58 -} // namespace hugo
1.59 -
1.60 -#endif //MARCI_PROPERTY_VECTOR_HH