1 #ifndef __DIADES__AUTOMATA__CANDIDATE__HH__ 2 #define __DIADES__AUTOMATA__CANDIDATE__HH__ 15 #include <boost/serialization/vector.hpp> 16 #include <boost/serialization/set.hpp> 17 #include <boost/archive/text_oarchive.hpp> 18 #include <boost/archive/text_iarchive.hpp> 73 _stateId(1),_faults(1)
86 const vector< set<Event> > &
faults):
87 _stateId(stateId),_faults(
faults){}
95 _faults(candidate._faults){}
107 if(
this != &candidate)
138 FaultIterator
begin(
unsigned i)
const {
return _faults[i].begin(); }
146 FaultIterator
end(
unsigned i)
const {
return _faults[i].end(); }
156 for(
const set<Event> & fset :
faults())
158 number+= fset.size();
190 return (_stateId == candidate.
stateId())
191 && (_faults == candidate.
_faults);
204 return !(*
this == candidate);
240 for(
unsigned i = 0; i < candidate.
stateId().size(); ++i)
242 os <<
"(" << candidate.
stateId().operator[](i)
245 candidate.
end(i)) <<
") ";
262 template<
class Archive>
263 void serialize(Archive & ar,
const unsigned int version)
285 return std::hash<std::string>()(candidate.
toString());
Candidate(const vector< StateId > &stateId, const vector< set< Event > > &faults)
vector< set< Event > > _faults
friend ostream & operator<<(ostream &os, const Candidate &candidate)
size_t operator()(const Diades::Automata::Candidate &candidate) const
bool operator<(const Candidate &candidate) const
const vector< StateId > & stateId() const
set< Event >::size_type FaultSize
friend class boost::serialization::access
bool operator!=(const Candidate &candidate) const
set< Event >::const_iterator FaultIterator
vector< StateId > _stateId
Candidate & operator=(const Candidate &candidate)
Namespace of the Diades project.
Diades::Utils::ToStream< InputIterator, Diades::Utils::AlwaysTrue< typename InputIterator::reference > > toStream(InputIterator first, InputIterator last)
LocalCandidate< LocalStateInfoId, EvSet > Candidate
FaultSize numberOfFaults() const
Candidate(StateId stateId, const set< Event > &faults)
Diades::Graph::Node::NodeId StateId
FaultIterator begin(unsigned i) const
const vector< set< Event > > & faults() const
void serialize(Archive &ar, const unsigned int version)
Candidate(const Candidate &candidate)
bool operator==(const Candidate &candidate) const
FaultIterator end(unsigned i) const