diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-23 20:16:02 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-23 20:16:02 -0500 |
| commit | 85f89ee4bb137100cbeffcbc10168eb8ea52e6cc (patch) | |
| tree | f6e2063319ceaaa02f523fb5c289e4f37411a2df /examples/fix/fix.cc | |
| parent | 9a70f32ddaec0eef99efbf7ff5597c2adf08f45a (diff) | |
| parent | 65a8349aa5526d071b18cd4d42586c46faaa3823 (diff) | |
Merge pull request #18 from amlel-el-mahrouss/developv1.0.48
OCL v1.0.48
Diffstat (limited to 'examples/fix/fix.cc')
| -rw-r--r-- | examples/fix/fix.cc | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/examples/fix/fix.cc b/examples/fix/fix.cc new file mode 100644 index 0000000..eabe3ac --- /dev/null +++ b/examples/fix/fix.cc @@ -0,0 +1,37 @@ +/* + fix example + written by Amlal El Mahrouss. + licensed under the Boost Software License + */ + +#include <core/error_handler.hpp> +#include <net/modem.hpp> +#include <fix/fix.hpp> +#include <iostream> +#include <unistd.h> +#include <io/print.hpp> +#include <sys/socket.h> + +/* finally test it */ +int main(int argc, char** argv) +{ + constexpr auto default_fix = "8=FIX.4.2|9=65|35=A|49=SERVER|56=CLIENT|34=177|52=20090107-18:15:16|98=0|108=30|10=062|"; + + ocl::fix::basic_visitor<char> basic_visitor; + ocl::fix::basic_range_data<char> fix = basic_visitor.visit(default_fix); + + std::cout << "magic=" << fix.magic_ << std::endl; + std::cout << "magic_len=" << fix.magic_len_ << std::endl; + std::cout << "is_valid=" << std::boolalpha << fix.is_valid() << std::endl; + + ocl::basic_error_handler handler; + ocl::fix::must_pass<char, ocl::basic_error_handler>(fix, handler); + + for (auto fields : fix.body_) + { + ocl::io::print("key=", fields.first); + ocl::io::print(", value=", fields.second); + } + + return 0; +} |
