コード例 #1
0
ファイル: f8cutils.cpp プロジェクト: ablochs/fix8
//-----------------------------------------------------------------------------------------
void process_ordering(MessageSpecMap& mspec)
{
	for (const auto& pp : mspec)
	{
		FieldTraitOrder mo;
		for (const auto& ii : pp.second._fields.get_presence())
			mo.insert({&ii});

		unsigned cnt(0);
		for (auto *ii : mo)
			ii->_pos = ++cnt;
	}
}
コード例 #2
0
ファイル: f8cutils.cpp プロジェクト: 6qat/fix8
//-----------------------------------------------------------------------------------------
void process_ordering(MessageSpecMap& mspec)
{
	for (MessageSpecMap::const_iterator mitr(mspec.begin()); mitr != mspec.end(); ++mitr)
	{
		FieldTraitOrder mo;
		for (Presence::const_iterator flitr(mitr->second._fields.get_presence().begin());
			flitr != mitr->second._fields.get_presence().end(); ++flitr)
				mo.insert(FieldTraitOrder::value_type(&*flitr));

		unsigned cnt(0);
		for (FieldTraitOrder::iterator fto(mo.begin()); fto != mo.end(); ++fto)
			(*fto)->_pos = ++cnt;
	}
}
コード例 #3
0
ファイル: f8cutils.cpp プロジェクト: ablochs/fix8
//-----------------------------------------------------------------------------------------
void process_message_group_ordering(const GroupMap& gm)
{
	for (const auto& pp : gm)
	{
		FieldTraitOrder go;
		for (const auto& ii : pp.second._fields.get_presence())
			go.insert({&ii});

		unsigned gcnt(0);
		for (auto *ii : go)
			ii->_pos = ++gcnt;

		if (!pp.second._groups.empty())
			process_message_group_ordering(pp.second._groups);
	}
}
コード例 #4
0
ファイル: f8cutils.cpp プロジェクト: 6qat/fix8
//-----------------------------------------------------------------------------------------
void process_message_group_ordering(const GroupMap& gm)
{
	for (GroupMap::const_iterator gitr(gm.begin()); gitr != gm.end(); ++gitr)
	{
		FieldTraitOrder go;
		for (Presence::const_iterator flitr(gitr->second._fields.get_presence().begin());
			flitr != gitr->second._fields.get_presence().end(); ++flitr)
				go.insert(FieldTraitOrder::value_type(&*flitr));

		unsigned gcnt(0);
		for (FieldTraitOrder::iterator fto(go.begin()); fto != go.end(); ++fto)
			(*fto)->_pos = ++gcnt;

		if (!gitr->second._groups.empty())
			process_message_group_ordering(gitr->second._groups);
	}
}