mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
55 lines
1.0 KiB
C++
55 lines
1.0 KiB
C++
#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
|