Skip to content

Commit ee05a63

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. # Conflicts: # nano/core_test/fork_cache.cpp # nano/core_test/vote_generator.cpp # nano/node/nodeconfig.hpp # nano/secure/common.hpp
1 parent 7b4a12b commit ee05a63

33 files changed

+239
-95
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: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
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>
45
#include <nano/secure/common.hpp>
56
#include <nano/secure/network_params.hpp>
67

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: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ void encode_balance_frac (std::ostream & stream, Value value, Value scale, int p
2424
template <typename Value>
2525
void encode_balance_int (std::ostream & stream, Value value, char group_sep, std::string const & groupings)
2626
{
27-
auto largestPow10 = nano::uint256_t (1);
27+
auto largestPow10 = Value{ 1 };
2828
int dec_count = 1;
2929
while (1)
3030
{

nano/lib/formatting.cpp

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

nano/lib/formatting.hpp

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#pragma once
22

33
#include <nano/lib/numbers.hpp>
4+
#include <nano/lib/ratios.hpp>
45

56
#include <boost/system/error_code.hpp>
67

@@ -124,22 +125,14 @@ struct as_nano_formatter
124125
nano::uint128_t const & value;
125126
int precision{ 1 };
126127

127-
friend std::ostream & operator<< (std::ostream & os, as_nano_formatter const & wrapper)
128-
{
129-
nano::encode_balance (os, wrapper.value, nano::nano_ratio, wrapper.precision, true);
130-
return os;
131-
}
128+
friend std::ostream & operator<< (std::ostream & os, as_nano_formatter const & wrapper);
132129
};
133130

134131
struct as_raw_nano_formatter
135132
{
136133
nano::uint128_t const & value;
137134

138-
friend std::ostream & operator<< (std::ostream & os, as_raw_nano_formatter const & wrapper)
139-
{
140-
os << wrapper.value;
141-
return os;
142-
}
135+
friend std::ostream & operator<< (std::ostream & os, as_raw_nano_formatter const & wrapper);
143136
};
144137

145138
inline auto as_account (nano::public_key const & key)

0 commit comments

Comments
 (0)