From 33142749b1e83d73c8599a1593b437aec251b623 Mon Sep 17 00:00:00 2001 From: jyxiong Date: Wed, 24 Sep 2025 09:52:01 +0800 Subject: [PATCH] refactor: use std insteadof tinystl --- source/tinystl/allocator/.gitkeep | 0 source/tinystl/container/array.h | 7 +- source/tinystl/experimental/type_traits.h | 62 ---- source/tinystl/iterator/.gitkeep | 0 .../tinystl/iterator/back_insert_iterator.h | 50 --- .../tinystl/iterator/front_insert_iterator.h | 50 --- source/tinystl/iterator/insert_iterator.h | 52 --- source/tinystl/iterator/iterator.h | 18 -- source/tinystl/iterator/iterator_tag.h | 21 -- source/tinystl/iterator/iterator_traits.h | 232 -------------- source/tinystl/iterator/reverse_iterator.h | 162 ---------- source/tinystl/memory.h | 9 - source/tinystl/memory/addressof.h | 19 -- source/tinystl/memory/allocate_at_least.h | 19 -- source/tinystl/memory/allocator.h | 93 ------ source/tinystl/memory/allocator_traits.h | 303 ------------------ source/tinystl/memory/construct.h | 13 - source/tinystl/memory/destroy.h | 20 -- source/tinystl/memory/pointer_traits.h | 113 ------- source/tinystl/memory/temp_value.h | 31 -- source/tinystl/memory/to_address.h | 20 -- source/tinystl/type_traits.h | 41 --- source/tinystl/type_traits/add_reference.h | 35 -- source/tinystl/type_traits/conditional.h | 16 - source/tinystl/type_traits/enable_if.h | 16 - .../tinystl/type_traits/integral_constant.h | 30 -- source/tinystl/type_traits/is_arithmetic.h | 14 - source/tinystl/type_traits/is_array.h | 21 -- source/tinystl/type_traits/is_class.h | 25 -- source/tinystl/type_traits/is_const.h | 15 - source/tinystl/type_traits/is_constructible.h | 38 --- source/tinystl/type_traits/is_convertible.h | 21 -- source/tinystl/type_traits/is_empty.h | 11 - source/tinystl/type_traits/is_enum.h | 13 - .../tinystl/type_traits/is_floating_point.h | 18 -- source/tinystl/type_traits/is_function.h | 19 -- source/tinystl/type_traits/is_integral.h | 20 -- .../tinystl/type_traits/is_lvalue_reference.h | 13 - .../tinystl/type_traits/is_member_pointer.h | 19 -- source/tinystl/type_traits/is_null_pointer.h | 15 - source/tinystl/type_traits/is_object.h | 19 -- source/tinystl/type_traits/is_pointer.h | 24 -- source/tinystl/type_traits/is_reference.h | 12 - .../tinystl/type_traits/is_renferenceable.h | 25 -- .../tinystl/type_traits/is_rvalue_reference.h | 13 - source/tinystl/type_traits/is_same.h | 17 - source/tinystl/type_traits/is_scalar.h | 20 -- source/tinystl/type_traits/is_union.h | 13 - source/tinystl/type_traits/is_void.h | 15 - source/tinystl/type_traits/make_unsigned.h | 15 - source/tinystl/type_traits/remove_cv.h | 48 --- source/tinystl/type_traits/void_t.h | 6 - source/tinystl/utility/exception_guard.h | 76 ----- test/memory/allocator.cpp | 43 --- test/type_traits/integral_constant.cpp | 22 -- test/type_traits/is_same.cpp | 43 --- test/type_traits/is_void.cpp | 21 -- test/type_traits/remove_cv.cpp | 25 -- 58 files changed, 3 insertions(+), 2148 deletions(-) create mode 100644 source/tinystl/allocator/.gitkeep delete mode 100644 source/tinystl/experimental/type_traits.h create mode 100644 source/tinystl/iterator/.gitkeep delete mode 100644 source/tinystl/iterator/back_insert_iterator.h delete mode 100644 source/tinystl/iterator/front_insert_iterator.h delete mode 100644 source/tinystl/iterator/insert_iterator.h delete mode 100644 source/tinystl/iterator/iterator.h delete mode 100644 source/tinystl/iterator/iterator_tag.h delete mode 100644 source/tinystl/iterator/iterator_traits.h delete mode 100644 source/tinystl/iterator/reverse_iterator.h delete mode 100644 source/tinystl/memory.h delete mode 100644 source/tinystl/memory/addressof.h delete mode 100644 source/tinystl/memory/allocate_at_least.h delete mode 100644 source/tinystl/memory/allocator.h delete mode 100644 source/tinystl/memory/allocator_traits.h delete mode 100644 source/tinystl/memory/construct.h delete mode 100644 source/tinystl/memory/destroy.h delete mode 100644 source/tinystl/memory/pointer_traits.h delete mode 100644 source/tinystl/memory/temp_value.h delete mode 100644 source/tinystl/memory/to_address.h delete mode 100644 source/tinystl/type_traits.h delete mode 100644 source/tinystl/type_traits/add_reference.h delete mode 100644 source/tinystl/type_traits/conditional.h delete mode 100644 source/tinystl/type_traits/enable_if.h delete mode 100644 source/tinystl/type_traits/integral_constant.h delete mode 100644 source/tinystl/type_traits/is_arithmetic.h delete mode 100644 source/tinystl/type_traits/is_array.h delete mode 100644 source/tinystl/type_traits/is_class.h delete mode 100644 source/tinystl/type_traits/is_const.h delete mode 100644 source/tinystl/type_traits/is_constructible.h delete mode 100644 source/tinystl/type_traits/is_convertible.h delete mode 100644 source/tinystl/type_traits/is_empty.h delete mode 100644 source/tinystl/type_traits/is_enum.h delete mode 100644 source/tinystl/type_traits/is_floating_point.h delete mode 100644 source/tinystl/type_traits/is_function.h delete mode 100644 source/tinystl/type_traits/is_integral.h delete mode 100644 source/tinystl/type_traits/is_lvalue_reference.h delete mode 100644 source/tinystl/type_traits/is_member_pointer.h delete mode 100644 source/tinystl/type_traits/is_null_pointer.h delete mode 100644 source/tinystl/type_traits/is_object.h delete mode 100644 source/tinystl/type_traits/is_pointer.h delete mode 100644 source/tinystl/type_traits/is_reference.h delete mode 100644 source/tinystl/type_traits/is_renferenceable.h delete mode 100644 source/tinystl/type_traits/is_rvalue_reference.h delete mode 100644 source/tinystl/type_traits/is_same.h delete mode 100644 source/tinystl/type_traits/is_scalar.h delete mode 100644 source/tinystl/type_traits/is_union.h delete mode 100644 source/tinystl/type_traits/is_void.h delete mode 100644 source/tinystl/type_traits/make_unsigned.h delete mode 100644 source/tinystl/type_traits/remove_cv.h delete mode 100644 source/tinystl/type_traits/void_t.h delete mode 100644 source/tinystl/utility/exception_guard.h delete mode 100644 test/memory/allocator.cpp delete mode 100644 test/type_traits/integral_constant.cpp delete mode 100644 test/type_traits/is_same.cpp delete mode 100644 test/type_traits/is_void.cpp delete mode 100644 test/type_traits/remove_cv.cpp diff --git a/source/tinystl/allocator/.gitkeep b/source/tinystl/allocator/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/source/tinystl/container/array.h b/source/tinystl/container/array.h index 821f4c7..6b176ac 100644 --- a/source/tinystl/container/array.h +++ b/source/tinystl/container/array.h @@ -4,10 +4,9 @@ #include #include +#include #include -#include "tinystl/iterator/reverse_iterator.h" - namespace tinystl { template struct array { @@ -21,8 +20,8 @@ struct array { using const_pointer = const value_type *; using iterator = pointer; using const_iterator = const_pointer; - using reverse_iterator = tinystl::reverse_iterator; - using const_reverse_iterator = tinystl::reverse_iterator; + using reverse_iterator = std::reverse_iterator; + using const_reverse_iterator = std::reverse_iterator; // Member functions diff --git a/source/tinystl/experimental/type_traits.h b/source/tinystl/experimental/type_traits.h deleted file mode 100644 index 3c0c119..0000000 --- a/source/tinystl/experimental/type_traits.h +++ /dev/null @@ -1,62 +0,0 @@ -#pragma once - -#include "tinystl/type_traits/integral_constant.h" -#include "tinystl/type_traits/void_t.h" -#include "tinystl/type_traits/is_same.h" -#include "tinystl/type_traits/is_convertible.h" - -namespace detail { -template < - class Default, class AlwaysVoid, template class Op, class... Args> -struct detector { - using value_t = tinystl::false_type; - using type = Default; -}; - -template class Op, class... Args> -struct detector>, Op, Args...> { - using value_t = tinystl::true_type; - using type = Op; -}; -} // namespace detail - -namespace tinystl { - -struct nonesuch { - ~nonesuch() = delete; - nonesuch(nonesuch const &) = delete; - void operator=(nonesuch const &) = delete; -}; - -template