Skip to content

Commit 7a20f32

Browse files
committed
update
1 parent daac555 commit 7a20f32

2 files changed

Lines changed: 2 additions & 72 deletions

File tree

tests/binance/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
sbe_make_codec(spot_2_0
22
SCHEMA ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/spot_3_1.xml
33
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/spot_3_1
4-
GENERATOR cpp-all-features
4+
GENERATOR cpp-min
55
)
66

77
set(Target binance)

tests/binance/main.cpp

Lines changed: 1 addition & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -19,66 +19,6 @@ namespace content {
1919

2020
} // namespace content
2121

22-
template <typename N>
23-
std::ostream& operator<<(std::ostream& os, std::span<N const> const& value) {
24-
os << '[';
25-
bool atLeastOnePrinted{false};
26-
for (auto const& v : value) {
27-
if (atLeastOnePrinted) {
28-
os << ", ";
29-
}
30-
os << int(v);
31-
atLeastOnePrinted = true;
32-
}
33-
os << ']';
34-
return os;
35-
}
36-
37-
struct Printer {
38-
template <typename FieldT>
39-
requires(requires { std::declval<FieldT>().value(); })
40-
static void print(std::ostream& os, FieldT field, std::string_view parent) {
41-
if (!parent.empty()) {
42-
os << parent << '.';
43-
}
44-
os << field.sbeRefName() << ": ";
45-
if (field.present()) {
46-
os << field.value() << '\n';
47-
} else {
48-
os << "N/A\n";
49-
}
50-
}
51-
52-
template <typename AggrT>
53-
requires(requires { typename AggrT::Fields; })
54-
static void print(std::ostream& os, AggrT aggr, std::string_view parent = {}) {
55-
std::string prefix{parent};
56-
if constexpr (requires { aggr.sbeRefName(); }) {
57-
prefix.append(".").append(aggr.sbeRefName());
58-
}
59-
60-
auto printFields = [&]<template <typename...> typename L, typename... Ts>(L<Ts...>, std::string_view prefix) {
61-
if constexpr (sizeof...(Ts) > 0) {
62-
[&]<std::size_t... I>(std::index_sequence<I...>) {
63-
(Printer::print(os, aggr.template get<I>(), prefix), ...);
64-
}(std::make_index_sequence<sizeof...(Ts)>{});
65-
} else {
66-
os << "No fields\n";
67-
}
68-
};
69-
70-
if constexpr (requires { aggr.sbeGroupName(); }) {
71-
std::size_t index = 0;
72-
while (aggr.hasNext()) {
73-
aggr.next();
74-
printFields(typename AggrT::Fields{}, prefix + "[" + std::to_string(index++) + "]");
75-
}
76-
} else {
77-
printFields(typename AggrT::Fields{}, prefix);
78-
}
79-
}
80-
};
81-
8222
int main([[maybe_unused]] int argc, [[maybe_unused]] char* argv[]) {
8323
try {
8424
[[maybe_unused]] auto buffer1 = std::span<std::byte>(
@@ -87,21 +27,11 @@ int main([[maybe_unused]] int argc, [[maybe_unused]] char* argv[]) {
8727
std::span<std::byte>(std::bit_cast<std::byte*>((unsigned char*)content::ticker), content::ticker_len);
8828

8929
auto header = spot_sbe::MessageHeader{buffer2.data()};
90-
std::print("header: {}\n", header);
9130
if (header.get<"templateId">().value() == spot_sbe::Ticker24hFullResponse::sbeTemplateId()) {
92-
auto body = spot_sbe::Ticker24hFullResponse(buffer2, header.sbeEncodedLength(),
31+
[[maybe_unused]] auto body = spot_sbe::Ticker24hFullResponse(buffer2, header.sbeEncodedLength(),
9332
header.get<"blockLength">().value(), header.get<"version">().value());
94-
std::print("body: {}\n", body);
9533
}
9634

97-
#if 0
98-
spot_sbe::decode(buffer2, [](auto msg) {
99-
Printer::print(std::cout, msg, msg.sbeMessageName());
100-
});
101-
spot_sbe::decode(buffer2, [](auto msg) {
102-
std::cout << msg.asJson().dump(2) << '\n';
103-
});
104-
#endif
10535
} catch (std::exception const& e) {
10636
std::print(stderr, "ERROR: {}\n", e.what());
10737
return EXIT_FAILURE;

0 commit comments

Comments
 (0)