boost::assign::map_list_of が an_enum is not of class type エラーを生成するのはなぜですか? 例えば
exp.aggregates = (
boost::assign::map_list_of
("a",static_cast<an_enum>(3)),
("b",static_cast<an_enum>(4)),
("c",static_cast<an_enum>(0))
).operator ltr_and_enum()