summaryrefslogtreecommitdiffhomepage
path: root/examples/fix/fix.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-24 02:13:48 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-11-24 02:13:48 +0100
commit65a8349aa5526d071b18cd4d42586c46faaa3823 (patch)
treef6e2063319ceaaa02f523fb5c289e4f37411a2df /examples/fix/fix.cc
parentdf4ec096491ded6d58b9ee094d6942e3188c2d4a (diff)
feat! breaking changes for OCL v1.0.48.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'examples/fix/fix.cc')
-rw-r--r--examples/fix/fix.cc37
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;
+}