趣味で正規表現をテストするオートマトンなんか書こうとしてます。

class abstract_status
{
};

class status : public abstract_status
{
string name;
map<set<char>,abstract_status*> transition_map;
};

class automaton
{
status *start;
status *accept;
status *current;
list<status*> status_list;
};

ってな感じで進めているのですが、transition_map の set<char>
のところは単なる char にしたほうが良いかどうか。。。
あるいは、全く別の構造にしたほうが良いのか。。。
アドバスお願いします。