Skip to content

Commit 3a0bb15

Browse files
committed
Reduce numbers.hpp includes with out-of-line definitions
Move boost/multiprecision/cpp_int.hpp out of numbers.hpp, replacing it with the lighter fwd.hpp. Move inline constructors, number(), and conversion operators to numbers.cpp. Extract ratio constants into a new ratios.hpp header. Add explicit cpp_int.hpp includes where needed.
1 parent 1819528 commit 3a0bb15

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+294
-122
lines changed

nano/core_test/block_store.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include <nano/lib/files.hpp>
66
#include <nano/lib/lmdbconfig.hpp>
77
#include <nano/lib/logging.hpp>
8+
#include <nano/lib/ratios.hpp>
89
#include <nano/lib/stats.hpp>
910
#include <nano/lib/utility.hpp>
1011
#include <nano/lib/work.hpp>

nano/core_test/bucketing.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#include <nano/lib/ratios.hpp>
12
#include <nano/node/bucketing.hpp>
23

34
#include <gtest/gtest.h>

nano/core_test/fork_cache.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include <nano/lib/blocks.hpp>
2+
#include <nano/lib/ratios.hpp>
23
#include <nano/node/fork_cache.hpp>
34
#include <nano/test_common/random.hpp>
45
#include <nano/test_common/system.hpp>

nano/core_test/network_filter.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include <nano/lib/blockbuilders.hpp>
22
#include <nano/lib/blocks.hpp>
33
#include <nano/lib/network_filter.hpp>
4+
#include <nano/lib/ratios.hpp>
45
#include <nano/lib/stream.hpp>
56
#include <nano/messages/messages.hpp>
67
#include <nano/node/endpoint.hpp>

nano/core_test/numbers.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
#include <nano/lib/balance_formatting.hpp>
22
#include <nano/lib/numbers.hpp>
33
#include <nano/lib/numbers_templ.hpp>
4+
#include <nano/lib/ratios.hpp>
5+
#include <nano/lib/saturate.hpp>
46
#include <nano/secure/common.hpp>
57
#include <nano/secure/network_params.hpp>
68

nano/core_test/scheduler_buckets.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include <nano/lib/blockbuilders.hpp>
22
#include <nano/lib/blocks.hpp>
3+
#include <nano/lib/ratios.hpp>
34
#include <nano/secure/common.hpp>
45
#include <nano/secure/network_params.hpp>
56

nano/core_test/vote_generator.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include <nano/lib/blocks.hpp>
2+
#include <nano/lib/ratios.hpp>
23
#include <nano/lib/vote.hpp>
34
#include <nano/node/node_observers.hpp>
45
#include <nano/node/vote_generator.hpp>

nano/lib/balance_formatting.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
#include <nano/lib/numbers.hpp>
44

5+
#include <ostream>
56
#include <string>
67

78
namespace nano
@@ -24,7 +25,7 @@ void encode_balance_frac (std::ostream & stream, Value value, Value scale, int p
2425
template <typename Value>
2526
void encode_balance_int (std::ostream & stream, Value value, char group_sep, std::string const & groupings)
2627
{
27-
auto largestPow10 = nano::uint256_t (1);
28+
auto largestPow10 = Value{ 1 };
2829
int dec_count = 1;
2930
while (1)
3031
{

nano/lib/blockbuilders.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include <nano/lib/numbers.hpp>
44

55
#include <memory>
6+
#include <system_error>
67

78
namespace nano
89
{

nano/lib/formatting.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,19 @@
11
#include <nano/lib/formatting.hpp>
2+
#include <nano/lib/ratios.hpp>
3+
4+
#include <boost/multiprecision/cpp_int.hpp>
5+
6+
namespace nano::log
7+
{
8+
std::ostream & operator<< (std::ostream & os, as_nano_formatter const & wrapper)
9+
{
10+
nano::encode_balance (os, wrapper.value, nano::nano_ratio, wrapper.precision, true);
11+
return os;
12+
}
13+
14+
std::ostream & operator<< (std::ostream & os, as_raw_nano_formatter const & wrapper)
15+
{
16+
os << wrapper.value;
17+
return os;
18+
}
19+
}

0 commit comments

Comments
 (0)