HomePhabricator

c++11: MOVEONLY: break circular dependency in wallet
3447cf87e272Unpublished

Unpublished Commit ยท Learn More

Repository Importing: This repository is still importing.

Description

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.

Details

Provenance
Cory Fields <cory-nospam-@coryfields.com>Authored on Dec 19 2014, 01:03
schancelPushed on Jan 5 2018, 21:58
schancelPushed on Jan 5 2018, 21:39
schancelPushed on Jan 5 2018, 21:17
Parents
rSTAGINGbbacd8820409: c++11: MOVEONLY: move function definitions out of the header
Branches
Unknown
Tags
Unknown

Event Timeline

Cory Fields <cory-nospam-@coryfields.com> committed rSTAGING3447cf87e272: c++11: MOVEONLY: break circular dependency in wallet (authored by Cory Fields <cory-nospam-@coryfields.com>).Feb 4 2015, 04:30