Trying to replace vector with std::map as follows.

Replace

typedef string Colour;

struct edge_properties
{
 
  vector < set< Colour >  > eColours;

}

with

typedef string Colour;

struct edge_properties
{
 
  std::map < int, set< Colour > > emColours;

}

Using

property_map < graph_t, map < int, <set< Colour > > > edge_properties::*>::type
emColours_map =get(&edge_properties::emColours,g
);


getting compiler errors
error: template argument 2 is invalid
error: template argument 4 is invalid

Thanks
-JR