mosesdecoder/moses/src/DotChart.cpp

61 lines
1.7 KiB
C++
Raw Normal View History

// $Id$
/***********************************************************************
Moses - factored phrase-based language decoder
Copyright (C) 2010 Hieu Hoang
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
***********************************************************************/
#include "DotChart.h"
#include "Util.h"
#include <algorithm>
using namespace std;
namespace Moses
{
DottedRuleColl::~DottedRuleColl()
{
#ifdef USE_BOOST_POOL
// Do nothing. DottedRule objects are stored in object pools owned by
// the sentence-specific ChartRuleLookupManagers.
#else
std::for_each(m_coll.begin(), m_coll.end(),
RemoveAllInColl<CollType::value_type>);
#endif
}
std::ostream& operator<<(std::ostream &out, const DottedRule& /* rule */)
{
//const PhraseDictionaryNode &node = rule.GetLastNode();
//out << node;
return out;
}
std::ostream& operator<<(std::ostream &out, const DottedRuleList &coll)
{
DottedRuleList::const_iterator iter;
for (iter = coll.begin(); iter != coll.end(); ++iter) {
const DottedRule &rule = **iter;
out << rule << endl;
}
return out;
}
};