c++11: MOVEONLY: break circular dependency in wallet
commit3447cf87e27262c57031361b3659fef938783295
authorCory Fields <cory-nospam-@coryfields.com>
Fri, 19 Dec 2014 01:03:51 +0000 (18 20:03 -0500)
committerCory Fields <cory-nospam-@coryfields.com>
Wed, 4 Feb 2015 04:30:59 +0000 (3 23:30 -0500)
treeb4328a8a7658eebea713d7e2a3f05e4e693db560
parentbbacd88204090e9233be375199f52d378bb75627
c++11: MOVEONLY: break circular dependency in wallet

c++11 (libc++'s stdlib implementation anyway) doesn't allow for map types to be
forward-declared. for example:

class foo;
std::map<int, foo> bar; // error, foo has not been defined.
class foo{};

Since CWallet and CWalletTx are inter-dependent, but only std::map<*,CWalletTx>
is used, forward-declare CWallet instead and define CWalletTx first.

Despite the mangled git diff, this change only amounts to moving ~320 lines in
a single chunk.
src/wallet.h