From c44d6912bc2f37e8d1c239cfb9981bd5cd366c58 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 18 Jul 2025 11:02:04 +0100 Subject: feat: tracked_ptr class and system. Signed-off-by: Amlal El Mahrouss --- examples/fix/fix.cc | 2 +- examples/tracked_ptr/CMakeLists.txt | 12 ++++++++++++ examples/tracked_ptr/tracked_ptr.cc | 29 +++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 examples/tracked_ptr/CMakeLists.txt create mode 100644 examples/tracked_ptr/tracked_ptr.cc (limited to 'examples') diff --git a/examples/fix/fix.cc b/examples/fix/fix.cc index 4a6fa8c..f67d8a0 100644 --- a/examples/fix/fix.cc +++ b/examples/fix/fix.cc @@ -1,5 +1,5 @@ /* - string checksum example + fix example written by Amlal El Mahrouss. licensed under the MIT license */ diff --git a/examples/tracked_ptr/CMakeLists.txt b/examples/tracked_ptr/CMakeLists.txt new file mode 100644 index 0000000..9396506 --- /dev/null +++ b/examples/tracked_ptr/CMakeLists.txt @@ -0,0 +1,12 @@ + +cmake_minimum_required(VERSION 3.15...3.31) + +project( + Fix + VERSION 1.0 + LANGUAGES CXX) + +add_executable(TrackedPtr tracked_ptr.cc) + +set_property(TARGET TrackedPtr PROPERTY CXX_STANDARD 20) +target_include_directories(TrackedPtr PUBLIC ../../) diff --git a/examples/tracked_ptr/tracked_ptr.cc b/examples/tracked_ptr/tracked_ptr.cc new file mode 100644 index 0000000..be88d17 --- /dev/null +++ b/examples/tracked_ptr/tracked_ptr.cc @@ -0,0 +1,29 @@ +/* + tracked_ptr example + written by Amlal El Mahrouss. + licensed under the MIT license + */ + +#include +#include + +void foo() +{ + snu::memory::tracked_ptr ptr9; +} + +/* finally test it */ +int main(int argc, char** argv) +{ + foo(); + foo(); + foo(); + foo(); + + snu::memory::tracked_ptr ptr; + + std::cout << ptr.manager().allocator().allocated_count_ << std::endl; + std::cout << ptr.manager().allocator().deallocated_count_ << std::endl; + + return 0; +} -- cgit v1.2.3