abc-arbitrage / fixpp Goto Github PK
View Code? Open in Web Editor NEWfixpp - A modern C++ FIX library
License: MIT License
fixpp - A modern C++ FIX library
License: MIT License
Currently, the library is header only except for the StreamCursor
that is currently compiled in a separate static library.
Should make it all header only
Currently, get uses SFINAE to disambiguate between a single field or a repeating group. When attempting to retrieve an invalid tag for a given message, we thus get a compilation error instead of a nice and beautiful static assertion, which is not great
The Required
or Optional
attribute should not be at the tag level as a single tag may be used in multiple messages, being optional in one message and required in an other one.
Thus, this attribute should be at the Message level, not at the Tag level.
Project is name fixpp, so it should live in Fixpp
namespace instead of Fix
Like std::visit
, Fix::visit
could return a Result<T, ErrorKind>
instead of Result<void, ErrorKind>
depending on what the Visitor itself returns so that it would be possible to write something like
Fix::visit(frame, size, visitor).then(
[=](bool handled) {
if (handled) {
....
}
}).otherwise(Fix::ErrorKind error) {
});
Currently, -ftemplate-depth
is set to 2048
, otherwise GCC fails to compile with an Internal Compiler Error.
Investigate why so much template instantiation depth is needed and try to reduce it.
When the parser encounters an unknown tag, it just stops parsing and considers the frame to be invalid.
Instead of just stopping, we could a Strict
property to the VisitRules
that would tell the parser whether to enforce strict parsing, that is to say conforming to the specification. In non-strict mode, the parser would just ignore the invalid tag and continue parsing
Frame parsing section not complete, can not have a glimps on the parsing usage.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.