#include "base58.h"
+class COutPoint;
+
/** Coin Control Features. */
class CCoinControl
{
public:
CBitcoinAddress destChange;
- CCoinControl()
- {
- SetNull();
- }
+ CCoinControl();
- void SetNull()
- {
- destChange = CBitcoinAddress();
- setSelected.clear();
- }
-
- bool HasSelected() const
- {
- return (setSelected.size() > 0);
- }
-
- bool IsSelected(const uint256& hash, unsigned int n) const
- {
- COutPoint outpt(hash, n);
- return (setSelected.count(outpt) > 0);
- }
-
- void Select(COutPoint& output)
- {
- setSelected.insert(output);
- }
-
- void UnSelect(COutPoint& output)
- {
- setSelected.erase(output);
- }
-
- void UnSelectAll()
- {
- setSelected.clear();
- }
-
- void ListSelected(std::vector<COutPoint>& vOutpoints)
- {
- vOutpoints.assign(setSelected.begin(), setSelected.end());
- }
+ void SetNull();
+ bool HasSelected() const;
+ bool IsSelected(const uint256& hash, unsigned int n) const;
+ void Select(COutPoint& output);
+ void UnSelect(COutPoint& output);
+ void UnSelectAll();
+ void ListSelected(std::vector<COutPoint>& vOutpoints);
private:
std::set<COutPoint> setSelected;