mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
89 lines
1.5 KiB
C++
89 lines
1.5 KiB
C++
//------------------------------------------------------------------------------
|
|
/*
|
|
Copyright (c) 2011-2013, OpenCoin, Inc.
|
|
*/
|
|
//==============================================================================
|
|
|
|
#ifndef RIPPLE_SHAMAPADDNODE_H
|
|
#define RIPPLE_SHAMAPADDNODE_H
|
|
|
|
// results of adding nodes
|
|
class SHAMapAddNode
|
|
{
|
|
public:
|
|
SHAMapAddNode ()
|
|
: mInvalid (false)
|
|
, mUseful (false)
|
|
{
|
|
}
|
|
|
|
void setInvalid ()
|
|
{
|
|
mInvalid = true;
|
|
}
|
|
void setUseful ()
|
|
{
|
|
mUseful = true;
|
|
}
|
|
void reset ()
|
|
{
|
|
mInvalid = false;
|
|
mUseful = false;
|
|
}
|
|
|
|
bool isInvalid () const
|
|
{
|
|
return mInvalid;
|
|
}
|
|
bool isUseful () const
|
|
{
|
|
return mUseful;
|
|
}
|
|
|
|
bool combine (SHAMapAddNode const& n)
|
|
{
|
|
// VFALCO NOTE What is the meaning of these lines?
|
|
|
|
if (n.mInvalid)
|
|
{
|
|
mInvalid = true;
|
|
return false;
|
|
}
|
|
|
|
if (n.mUseful)
|
|
mUseful = true;
|
|
|
|
return true;
|
|
}
|
|
|
|
operator bool () const
|
|
{
|
|
return !mInvalid;
|
|
}
|
|
|
|
static SHAMapAddNode okay ()
|
|
{
|
|
return SHAMapAddNode (false, false);
|
|
}
|
|
static SHAMapAddNode useful ()
|
|
{
|
|
return SHAMapAddNode (false, true);
|
|
}
|
|
static SHAMapAddNode invalid ()
|
|
{
|
|
return SHAMapAddNode (true, false);
|
|
}
|
|
|
|
private:
|
|
SHAMapAddNode (bool i, bool u)
|
|
: mInvalid (i)
|
|
, mUseful (u)
|
|
{
|
|
}
|
|
|
|
bool mInvalid;
|
|
bool mUseful;
|
|
};
|
|
|
|
#endif
|