diff options
author | Eric Lombrozo <elombrozo@gmail.com> | 2013-01-08 03:02:51 -0800 |
---|---|---|
committer | Eric Lombrozo <elombrozo@gmail.com> | 2013-06-05 23:14:52 -0700 |
commit | effc2770f50554416e7d7b27f5c5b5cef9489440 (patch) | |
tree | 353bbbdc57b6d8fcb24b74b83945f031db842c32 /src/core.h | |
parent | 663224c2324d64134f8587fe77d1d787c0353b20 (diff) |
Created core.h/core.cpp, added to makefiles. Started moving core structures from main to core beginning with COutPoint.
Diffstat (limited to 'src/core.h')
-rw-r--r-- | src/core.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/core.h b/src/core.h new file mode 100644 index 0000000000..77bd8472ed --- /dev/null +++ b/src/core.h @@ -0,0 +1,53 @@ +// Copyright (c) 2009-2010 Satoshi Nakamoto +// Copyright (c) 2009-2013 The Bitcoin developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. +#ifndef BITCOIN_CORE_H +#define BITCOIN_CORE_H + +#include "uint256.h" +#include "serialize.h" +#include "util.h" + +#include <stdio.h> + +/** An outpoint - a combination of a transaction hash and an index n into its vout */ +class COutPoint +{ +public: + uint256 hash; + unsigned int n; + + COutPoint() { SetNull(); } + COutPoint(uint256 hashIn, unsigned int nIn) { hash = hashIn; n = nIn; } + IMPLEMENT_SERIALIZE( READWRITE(FLATDATA(*this)); ) + void SetNull() { hash = 0; n = (unsigned int) -1; } + bool IsNull() const { return (hash == 0 && n == (unsigned int) -1); } + + friend bool operator<(const COutPoint& a, const COutPoint& b) + { + return (a.hash < b.hash || (a.hash == b.hash && a.n < b.n)); + } + + friend bool operator==(const COutPoint& a, const COutPoint& b) + { + return (a.hash == b.hash && a.n == b.n); + } + + friend bool operator!=(const COutPoint& a, const COutPoint& b) + { + return !(a == b); + } + + std::string ToString() const + { + return strprintf("COutPoint(%s, %u)", hash.ToString().substr(0,10).c_str(), n); + } + + void print() const + { + printf("%s\n", ToString().c_str()); + } +}; + +#endif
\ No newline at end of file |