src/work/deba/map_defines.h
changeset 778 08a1d1e3070d
parent 701 c03e073b8394
child 783 81bf2d766164
equal deleted inserted replaced
2:ff28bfd58d27 3:56905f73bb73
    51 class NodeMap : public Factory::Map<V> { \
    51 class NodeMap : public Factory::Map<V> { \
    52 public: \
    52 public: \
    53 NodeMap() {} \
    53 NodeMap() {} \
    54 NodeMap(const Graph& g) : Factory::Map<V>(&g, &(g.node_maps)) {} \
    54 NodeMap(const Graph& g) : Factory::Map<V>(&g, &(g.node_maps)) {} \
    55 NodeMap(const Graph& g, const V& v) : Factory::Map<V>(g, g.node_maps, v) {} \
    55 NodeMap(const Graph& g, const V& v) : Factory::Map<V>(g, g.node_maps, v) {} \
    56 NodeMap(const NodeMap& copy) : Factory::Map<V>(copy) {} \
    56 NodeMap(const NodeMap& copy) \
       
    57   : Factory::Map<V>(static_cast<const Factory::Map<V>&>(copy)) {} \
    57 template <typename CMap> NodeMap(const CMap& copy) : Factory::Map<V>(copy) {} \
    58 template <typename CMap> NodeMap(const CMap& copy) : Factory::Map<V>(copy) {} \
    58 NodeMap& operator=(const NodeMap& copy) { \
    59 NodeMap& operator=(const NodeMap& copy) { \
    59   this->Factory::Map<V>::operator=(copy); \
    60   this->Factory::Map<V>::operator=(static_cast<Factory::Map<V>&>(copy)); \
    60   return *this; \
    61   return *this; \
    61 } \
    62 } \
    62 template <typename CMap>NodeMap& operator=(const CMap& copy) { \
    63 template <typename CMap>NodeMap& operator=(const CMap& copy) { \
    63   this->Factory::Map<V>::operator=<CMap>(copy); \
    64   this->Factory::Map<V>::operator=<CMap>(copy); \
    64   return *this; \
    65   return *this; \
    76 class EdgeMap : public Factory::Map<V> { \
    77 class EdgeMap : public Factory::Map<V> { \
    77 public: \
    78 public: \
    78 EdgeMap() {} \
    79 EdgeMap() {} \
    79 EdgeMap(const Graph& g) : Factory::Map<V>(g, g.edge_maps) {} \
    80 EdgeMap(const Graph& g) : Factory::Map<V>(g, g.edge_maps) {} \
    80 EdgeMap(const Graph& g, const V& v) : Factory::Map<V>(g, g.node_maps, v) {} \
    81 EdgeMap(const Graph& g, const V& v) : Factory::Map<V>(g, g.node_maps, v) {} \
    81 EdgeMap(const EdgeMap& copy) : Factory::Map<V>(copy) {} \
    82 EdgeMap(const EdgeMap& copy) \
       
    83   : Factory::Map<V>(static_cast<Factory::Map<V>&>(copy)) {} \
    82 template <typename CMap> EdgeMap(const CMap& copy) : Factory::Map<V>(copy) {} \
    84 template <typename CMap> EdgeMap(const CMap& copy) : Factory::Map<V>(copy) {} \
    83 EdgeMap& operator=(const EdgeMap& copy) { \
    85 EdgeMap& operator=(const EdgeMap& copy) { \
    84   this->Factory::Map<V>::operator=(copy); \
    86   this->Factory::Map<V>::operator=(static_cast<Factory::Map<V>&>(copy)); \
    85   return *this; \
    87   return *this; \
    86 } \
    88 } \
    87 template <typename CMap>EdgeMap& operator=(const CMap& copy) { \
    89 template <typename CMap>EdgeMap& operator=(const CMap& copy) { \
    88   this->Factory::Map<V>::operator=<CMap>(copy); \
    90   this->Factory::Map<V>::operator=<CMap>(copy); \
    89   return *this; \
    91   return *this; \