summaryrefslogtreecommitdiffhomepage
path: root/example
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-12-17 14:53:59 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-12-17 14:53:59 +0100
commitd54c2033eaaad5b6f9340b7cbaf8b3b037fb3cbe (patch)
treec9506ad751a589c0a734b26900f48581d1dde2ce /example
parent15aac395a599c92016bd2d74a7c23ca6eea3d04d (diff)
chore: updated file structure.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'example')
-rw-r--r--example/hash_crc32_example/CMakeLists.txt15
-rw-r--r--example/hash_crc32_example/example.cc15
-rw-r--r--example/option_example/CMakeLists.txt15
-rw-r--r--example/option_example/example.cc14
-rw-r--r--example/simple_allocator_op/CMakeLists.txt15
-rw-r--r--example/simple_allocator_op/example.cc14
-rw-r--r--example/simple_unique_socket/CMakeLists.txt15
-rw-r--r--example/simple_unique_socket/example.cc22
-rw-r--r--example/smart_ptr_example/CMakeLists.txt15
-rw-r--r--example/smart_ptr_example/example.cc10
10 files changed, 150 insertions, 0 deletions
diff --git a/example/hash_crc32_example/CMakeLists.txt b/example/hash_crc32_example/CMakeLists.txt
new file mode 100644
index 0000000..cd8d7b5
--- /dev/null
+++ b/example/hash_crc32_example/CMakeLists.txt
@@ -0,0 +1,15 @@
+
+cmake_minimum_required(VERSION 3.15...3.31)
+
+project(
+ HashExample
+ VERSION 1.0
+ LANGUAGES CXX)
+
+find_package(Boost REQUIRED COMPONENTS container)
+
+add_executable(HashExample example.cc)
+
+set_property(TARGET HashExample PROPERTY CXX_STANDARD 20)
+target_include_directories(HashExample PUBLIC ../../include/)
+target_link_libraries(HashExample PRIVATE Boost::container)
diff --git a/example/hash_crc32_example/example.cc b/example/hash_crc32_example/example.cc
new file mode 100644
index 0000000..be6780f
--- /dev/null
+++ b/example/hash_crc32_example/example.cc
@@ -0,0 +1,15 @@
+#include <ocl/crc_hash.hpp>
+#include <ocl/print.hpp>
+#include <ocl/option.hpp>
+
+int main(int argc, char** argv)
+{
+ if (argc != 2) return 1;
+
+ std::hash<ocl::crc_hash_trait> hash{};
+
+ ocl::io::enable_stdio_sync(false);
+ ocl::io::print(hash.operator()<true, false>(argv[1]));
+
+ return 0;
+}
diff --git a/example/option_example/CMakeLists.txt b/example/option_example/CMakeLists.txt
new file mode 100644
index 0000000..a77d4c5
--- /dev/null
+++ b/example/option_example/CMakeLists.txt
@@ -0,0 +1,15 @@
+
+cmake_minimum_required(VERSION 3.15...3.31)
+
+project(
+ OptionExample
+ VERSION 1.0
+ LANGUAGES CXX)
+
+find_package(Boost REQUIRED COMPONENTS container)
+
+add_executable(OptionExample example.cc)
+
+set_property(TARGET OptionExample PROPERTY CXX_STANDARD 20)
+target_include_directories(OptionExample PUBLIC ../../include/)
+target_link_libraries(OptionExample PRIVATE Boost::container)
diff --git a/example/option_example/example.cc b/example/option_example/example.cc
new file mode 100644
index 0000000..0da9d49
--- /dev/null
+++ b/example/option_example/example.cc
@@ -0,0 +1,14 @@
+#include <ocl/crc_hash.hpp>
+#include <ocl/print.hpp>
+#include <ocl/option.hpp>
+
+int main(int argc, char** argv)
+{
+ ocl::option opt{ocl::eval_eq(nullptr, nullptr)};
+ opt.expect("is incorrect");
+
+ ocl::option opt2{ocl::eval_eq(argv, nullptr)};
+ opt2.expect("is incorrect");
+
+ return 0;
+}
diff --git a/example/simple_allocator_op/CMakeLists.txt b/example/simple_allocator_op/CMakeLists.txt
new file mode 100644
index 0000000..fbda92b
--- /dev/null
+++ b/example/simple_allocator_op/CMakeLists.txt
@@ -0,0 +1,15 @@
+
+cmake_minimum_required(VERSION 3.15...3.31)
+
+project(
+ AllocatorExample
+ VERSION 1.0
+ LANGUAGES CXX)
+
+find_package(Boost REQUIRED COMPONENTS container)
+
+add_executable(AllocatorExample example.cc)
+
+set_property(TARGET AllocatorExample PROPERTY CXX_STANDARD 20)
+target_include_directories(AllocatorExample PUBLIC ../../include/)
+target_link_libraries(AllocatorExample PRIVATE Boost::container)
diff --git a/example/simple_allocator_op/example.cc b/example/simple_allocator_op/example.cc
new file mode 100644
index 0000000..83be033
--- /dev/null
+++ b/example/simple_allocator_op/example.cc
@@ -0,0 +1,14 @@
+#include <ocl/print.hpp>
+#include <ocl/allocator_op.hpp>
+
+/// @brief Basic Send test
+int main()
+{
+ ocl::allocator<int> int_alloc;
+ auto foo = int_alloc.construct_array<1>();
+
+ *foo = 67;
+ ocl::io::print(*foo);
+
+ return EXIT_SUCCESS;
+}
diff --git a/example/simple_unique_socket/CMakeLists.txt b/example/simple_unique_socket/CMakeLists.txt
new file mode 100644
index 0000000..06d5119
--- /dev/null
+++ b/example/simple_unique_socket/CMakeLists.txt
@@ -0,0 +1,15 @@
+
+cmake_minimum_required(VERSION 3.15...3.31)
+
+project(
+ NetworkExample
+ VERSION 1.0
+ LANGUAGES CXX)
+
+find_package(Boost REQUIRED COMPONENTS container)
+
+add_executable(NetworkExample example.cc)
+
+set_property(TARGET NetworkExample PROPERTY CXX_STANDARD 20)
+target_include_directories(NetworkExample PUBLIC ../../include/)
+target_link_libraries(NetworkExample PRIVATE Boost::container)
diff --git a/example/simple_unique_socket/example.cc b/example/simple_unique_socket/example.cc
new file mode 100644
index 0000000..86178e1
--- /dev/null
+++ b/example/simple_unique_socket/example.cc
@@ -0,0 +1,22 @@
+#include <ocl/posix/unique_socket.hpp>
+#include <ocl/print.hpp>
+
+/// @brief Basic Send test
+int main()
+{
+ ocl::unique_socket sock = ocl::unique_socket::make_socket<8005>(ocl::unique_socket::any_address, true);
+
+ char buf_dst[512] = {"HELLO, WORLD\0"};
+
+ ocl::unique_socket sock2 = ocl::unique_socket::make_socket<8005>(ocl::unique_socket::any_address, false);
+
+ char buf_dst2[512] = {0};
+
+ auto new_sock = sock.accept();
+ new_sock.write_from_buffer(buf_dst, strlen(buf_dst));
+ sock2.read_client_buffer(buf_dst2, strlen(buf_dst));
+ std::cout << "result:" << buf_dst2 << "\n";
+
+
+ return EXIT_SUCCESS;
+}
diff --git a/example/smart_ptr_example/CMakeLists.txt b/example/smart_ptr_example/CMakeLists.txt
new file mode 100644
index 0000000..6584ad2
--- /dev/null
+++ b/example/smart_ptr_example/CMakeLists.txt
@@ -0,0 +1,15 @@
+
+cmake_minimum_required(VERSION 3.15...3.31)
+
+project(
+ SmartPtrExample
+ VERSION 1.0
+ LANGUAGES CXX)
+
+find_package(Boost REQUIRED COMPONENTS container)
+
+add_executable(SmartPtrExample example.cc)
+
+set_property(TARGET SmartPtrExample PROPERTY CXX_STANDARD 20)
+target_include_directories(SmartPtrExample PUBLIC ../../include/)
+target_link_libraries(SmartPtrExample PRIVATE Boost::container)
diff --git a/example/smart_ptr_example/example.cc b/example/smart_ptr_example/example.cc
new file mode 100644
index 0000000..ef1a865
--- /dev/null
+++ b/example/smart_ptr_example/example.cc
@@ -0,0 +1,10 @@
+#include <ocl/crc_hash.hpp>
+#include <ocl/print.hpp>
+#include <ocl/smart_ptr.hpp>
+
+int main(int argc, char** argv)
+{
+ ocl::shared_ptr<std::ostream> smart = ocl::delete_ptr(&std::cout);
+
+ return 0;
+}