gitextract_oaro068o/ ├── .clang-format ├── .gitattributes ├── .github/ │ └── workflows/ │ └── c-cpp.yml ├── .gitignore ├── .p4ignore ├── 3RDPARTYLICENSES.TXT ├── CMakeLists.txt ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── _config.yml ├── benchmark/ │ ├── CMakeLists.txt │ └── source/ │ ├── BenchmarkAlgorithm.cpp │ ├── BenchmarkBitset.cpp │ ├── BenchmarkDeque.cpp │ ├── BenchmarkHash.cpp │ ├── BenchmarkHeap.cpp │ ├── BenchmarkList.cpp │ ├── BenchmarkMap.cpp │ ├── BenchmarkSet.cpp │ ├── BenchmarkSort.cpp │ ├── BenchmarkString.cpp │ ├── BenchmarkTupleVector.cpp │ ├── BenchmarkVector.cpp │ ├── EASTLBenchmark.cpp │ ├── EASTLBenchmark.h │ └── main.cpp ├── doc/ │ ├── Benchmarks.md │ ├── BestPractices.md │ ├── Bonus/ │ │ └── tuple_vector_readme.md │ ├── CMake/ │ │ └── EASTL_Project_Integration.md │ ├── Design.md │ ├── EASTL.natvis │ ├── FAQ.md │ ├── Glossary.md │ ├── Gotchas.md │ ├── Introduction.md │ ├── Maintenance.md │ ├── Modules.md │ └── html/ │ ├── EASTL Benchmarks.html │ ├── EASTL Best Practices.html │ ├── EASTL Design.html │ ├── EASTL FAQ.html │ ├── EASTL Glossary.html │ ├── EASTL Gotchas.html │ ├── EASTL Introduction.html │ ├── EASTL Maintenance.html │ ├── EASTL Modules.html │ └── EASTLDoc.css ├── include/ │ └── EASTL/ │ ├── algorithm.h │ ├── allocator.h │ ├── allocator_malloc.h │ ├── any.h │ ├── array.h │ ├── atomic.h │ ├── atomic_raw.h │ ├── bit.h │ ├── bitset.h │ ├── bitvector.h │ ├── bonus/ │ │ ├── adaptors.h │ │ ├── call_traits.h │ │ ├── compressed_pair.h │ │ ├── fixed_ring_buffer.h │ │ ├── fixed_tuple_vector.h │ │ ├── flags.h │ │ ├── intrusive_sdlist.h │ │ ├── intrusive_slist.h │ │ ├── list_map.h │ │ ├── lru_cache.h │ │ ├── overloaded.h │ │ ├── ring_buffer.h │ │ ├── sort_extra.h │ │ └── tuple_vector.h │ ├── chrono.h │ ├── compare.h │ ├── core_allocator.h │ ├── core_allocator_adapter.h │ ├── deque.h │ ├── expected.h │ ├── finally.h │ ├── fixed_allocator.h │ ├── fixed_function.h │ ├── fixed_hash_map.h │ ├── fixed_hash_set.h │ ├── fixed_list.h │ ├── fixed_map.h │ ├── fixed_set.h │ ├── fixed_slist.h │ ├── fixed_string.h │ ├── fixed_substring.h │ ├── fixed_vector.h │ ├── functional.h │ ├── hash_map.h │ ├── hash_set.h │ ├── heap.h │ ├── initializer_list.h │ ├── internal/ │ │ ├── atomic/ │ │ │ ├── arch/ │ │ │ │ ├── arch.h │ │ │ │ ├── arch_acquire_fence.h │ │ │ │ ├── arch_add_fetch.h │ │ │ │ ├── arch_and_fetch.h │ │ │ │ ├── arch_cmpxchg_strong.h │ │ │ │ ├── arch_cmpxchg_weak.h │ │ │ │ ├── arch_compiler_barrier.h │ │ │ │ ├── arch_cpu_pause.h │ │ │ │ ├── arch_exchange.h │ │ │ │ ├── arch_fetch_add.h │ │ │ │ ├── arch_fetch_and.h │ │ │ │ ├── arch_fetch_or.h │ │ │ │ ├── arch_fetch_sub.h │ │ │ │ ├── arch_fetch_xor.h │ │ │ │ ├── arch_load.h │ │ │ │ ├── arch_memory_barrier.h │ │ │ │ ├── arch_or_fetch.h │ │ │ │ ├── arch_signal_fence.h │ │ │ │ ├── arch_store.h │ │ │ │ ├── arch_sub_fetch.h │ │ │ │ ├── arch_thread_fence.h │ │ │ │ ├── arch_xor_fetch.h │ │ │ │ ├── arm/ │ │ │ │ │ ├── arch_arm.h │ │ │ │ │ ├── arch_arm_acquire_fence.h │ │ │ │ │ ├── arch_arm_load.h │ │ │ │ │ ├── arch_arm_memory_barrier.h │ │ │ │ │ ├── arch_arm_store.h │ │ │ │ │ └── arch_arm_thread_fence.h │ │ │ │ └── x86/ │ │ │ │ ├── arch_x86.h │ │ │ │ ├── arch_x86_acquire_fence.h │ │ │ │ ├── arch_x86_add_fetch.h │ │ │ │ ├── arch_x86_and_fetch.h │ │ │ │ ├── arch_x86_cmpxchg_strong.h │ │ │ │ ├── arch_x86_cmpxchg_weak.h │ │ │ │ ├── arch_x86_exchange.h │ │ │ │ ├── arch_x86_fetch_add.h │ │ │ │ ├── arch_x86_fetch_and.h │ │ │ │ ├── arch_x86_fetch_or.h │ │ │ │ ├── arch_x86_fetch_sub.h │ │ │ │ ├── arch_x86_fetch_xor.h │ │ │ │ ├── arch_x86_load.h │ │ │ │ ├── arch_x86_memory_barrier.h │ │ │ │ ├── arch_x86_or_fetch.h │ │ │ │ ├── arch_x86_store.h │ │ │ │ ├── arch_x86_sub_fetch.h │ │ │ │ ├── arch_x86_thread_fence.h │ │ │ │ └── arch_x86_xor_fetch.h │ │ │ ├── atomic.h │ │ │ ├── atomic_asserts.h │ │ │ ├── atomic_base_width.h │ │ │ ├── atomic_casts.h │ │ │ ├── atomic_flag.h │ │ │ ├── atomic_flag_standalone.h │ │ │ ├── atomic_integral.h │ │ │ ├── atomic_macros/ │ │ │ │ ├── atomic_macros.h │ │ │ │ ├── atomic_macros_acquire_fence.h │ │ │ │ ├── atomic_macros_add_fetch.h │ │ │ │ ├── atomic_macros_and_fetch.h │ │ │ │ ├── atomic_macros_base.h │ │ │ │ ├── atomic_macros_cmpxchg_strong.h │ │ │ │ ├── atomic_macros_cmpxchg_weak.h │ │ │ │ ├── atomic_macros_compiler_barrier.h │ │ │ │ ├── atomic_macros_cpu_pause.h │ │ │ │ ├── atomic_macros_exchange.h │ │ │ │ ├── atomic_macros_fetch_add.h │ │ │ │ ├── atomic_macros_fetch_and.h │ │ │ │ ├── atomic_macros_fetch_or.h │ │ │ │ ├── atomic_macros_fetch_sub.h │ │ │ │ ├── atomic_macros_fetch_xor.h │ │ │ │ ├── atomic_macros_load.h │ │ │ │ ├── atomic_macros_memory_barrier.h │ │ │ │ ├── atomic_macros_or_fetch.h │ │ │ │ ├── atomic_macros_signal_fence.h │ │ │ │ ├── atomic_macros_store.h │ │ │ │ ├── atomic_macros_sub_fetch.h │ │ │ │ ├── atomic_macros_thread_fence.h │ │ │ │ └── atomic_macros_xor_fetch.h │ │ │ ├── atomic_macros.h │ │ │ ├── atomic_memory_order.h │ │ │ ├── atomic_pointer.h │ │ │ ├── atomic_size_aligned.h │ │ │ ├── atomic_standalone.h │ │ │ └── compiler/ │ │ │ ├── compiler.h │ │ │ ├── compiler_acquire_fence.h │ │ │ ├── compiler_add_fetch.h │ │ │ ├── compiler_and_fetch.h │ │ │ ├── compiler_barrier.h │ │ │ ├── compiler_cmpxchg_strong.h │ │ │ ├── compiler_cmpxchg_weak.h │ │ │ ├── compiler_cpu_pause.h │ │ │ ├── compiler_exchange.h │ │ │ ├── compiler_fetch_add.h │ │ │ ├── compiler_fetch_and.h │ │ │ ├── compiler_fetch_or.h │ │ │ ├── compiler_fetch_sub.h │ │ │ ├── compiler_fetch_xor.h │ │ │ ├── compiler_load.h │ │ │ ├── compiler_memory_barrier.h │ │ │ ├── compiler_or_fetch.h │ │ │ ├── compiler_signal_fence.h │ │ │ ├── compiler_store.h │ │ │ ├── compiler_sub_fetch.h │ │ │ ├── compiler_thread_fence.h │ │ │ ├── compiler_xor_fetch.h │ │ │ ├── gcc/ │ │ │ │ ├── compiler_gcc.h │ │ │ │ ├── compiler_gcc_add_fetch.h │ │ │ │ ├── compiler_gcc_and_fetch.h │ │ │ │ ├── compiler_gcc_barrier.h │ │ │ │ ├── compiler_gcc_cmpxchg_strong.h │ │ │ │ ├── compiler_gcc_cmpxchg_weak.h │ │ │ │ ├── compiler_gcc_cpu_pause.h │ │ │ │ ├── compiler_gcc_exchange.h │ │ │ │ ├── compiler_gcc_fetch_add.h │ │ │ │ ├── compiler_gcc_fetch_and.h │ │ │ │ ├── compiler_gcc_fetch_or.h │ │ │ │ ├── compiler_gcc_fetch_sub.h │ │ │ │ ├── compiler_gcc_fetch_xor.h │ │ │ │ ├── compiler_gcc_load.h │ │ │ │ ├── compiler_gcc_or_fetch.h │ │ │ │ ├── compiler_gcc_signal_fence.h │ │ │ │ ├── compiler_gcc_store.h │ │ │ │ ├── compiler_gcc_sub_fetch.h │ │ │ │ ├── compiler_gcc_thread_fence.h │ │ │ │ └── compiler_gcc_xor_fetch.h │ │ │ └── msvc/ │ │ │ ├── compiler_msvc.h │ │ │ ├── compiler_msvc_add_fetch.h │ │ │ ├── compiler_msvc_and_fetch.h │ │ │ ├── compiler_msvc_barrier.h │ │ │ ├── compiler_msvc_cmpxchg_strong.h │ │ │ ├── compiler_msvc_cmpxchg_weak.h │ │ │ ├── compiler_msvc_cpu_pause.h │ │ │ ├── compiler_msvc_exchange.h │ │ │ ├── compiler_msvc_fetch_add.h │ │ │ ├── compiler_msvc_fetch_and.h │ │ │ ├── compiler_msvc_fetch_or.h │ │ │ ├── compiler_msvc_fetch_sub.h │ │ │ ├── compiler_msvc_fetch_xor.h │ │ │ ├── compiler_msvc_or_fetch.h │ │ │ ├── compiler_msvc_signal_fence.h │ │ │ ├── compiler_msvc_sub_fetch.h │ │ │ └── compiler_msvc_xor_fetch.h │ │ ├── char_traits.h │ │ ├── concepts.h │ │ ├── config.h │ │ ├── copy_help.h │ │ ├── enable_shared.h │ │ ├── fill_help.h │ │ ├── fixed_pool.h │ │ ├── function.h │ │ ├── function_detail.h │ │ ├── function_help.h │ │ ├── functional_base.h │ │ ├── generic_iterator.h │ │ ├── hashtable.h │ │ ├── in_place_t.h │ │ ├── integer_sequence.h │ │ ├── intrusive_hashtable.h │ │ ├── mem_fn.h │ │ ├── memory_base.h │ │ ├── memory_uses_allocator.h │ │ ├── move_help.h │ │ ├── pair_fwd_decls.h │ │ ├── piecewise_construct_t.h │ │ ├── red_black_tree.h │ │ ├── smart_ptr.h │ │ ├── special_member_functions.h │ │ ├── special_member_functions_expected.h │ │ ├── special_member_functions_variant_optional.h │ │ ├── thread_support.h │ │ ├── tuple_fwd_decls.h │ │ ├── type_compound.h │ │ ├── type_detected.h │ │ ├── type_fundamental.h │ │ ├── type_pod.h │ │ ├── type_properties.h │ │ ├── type_transformations.h │ │ └── type_void_t.h │ ├── intrusive_hash_map.h │ ├── intrusive_hash_set.h │ ├── intrusive_list.h │ ├── intrusive_ptr.h │ ├── iterator.h │ ├── linked_array.h │ ├── linked_ptr.h │ ├── list.h │ ├── map.h │ ├── memory.h │ ├── meta.h │ ├── numeric.h │ ├── numeric_limits.h │ ├── optional.h │ ├── priority_queue.h │ ├── queue.h │ ├── random.h │ ├── ratio.h │ ├── safe_ptr.h │ ├── scoped_array.h │ ├── scoped_ptr.h │ ├── segmented_vector.h │ ├── set.h │ ├── shared_array.h │ ├── shared_ptr.h │ ├── slist.h │ ├── sort.h │ ├── span.h │ ├── stack.h │ ├── string.h │ ├── string_hash_map.h │ ├── string_map.h │ ├── string_view.h │ ├── tuple.h │ ├── type_traits.h │ ├── unique_ptr.h │ ├── unordered_map.h │ ├── unordered_set.h │ ├── utility.h │ ├── variant.h │ ├── vector.h │ ├── vector_map.h │ ├── vector_multimap.h │ ├── vector_multiset.h │ ├── vector_set.h │ ├── version.h │ └── weak_ptr.h ├── scripts/ │ ├── CMake/ │ │ └── CommonCppFlags.cmake │ └── build.sh ├── source/ │ ├── allocator_eastl.cpp │ ├── assert.cpp │ ├── atomic.cpp │ ├── fixed_pool.cpp │ ├── hashtable.cpp │ ├── intrusive_list.cpp │ ├── numeric_limits.cpp │ ├── red_black_tree.cpp │ ├── string.cpp │ └── thread_support.cpp └── test/ ├── CMakeLists.txt └── source/ ├── ConceptImpls.h ├── EASTLTest.cpp ├── EASTLTest.h ├── EASTLTestAllocator.cpp ├── EASTLTestAllocator.h ├── EASTLTestIterators.h ├── GetTypeName.h ├── TestAlgorithm.cpp ├── TestAllocator.cpp ├── TestAllocatorPropagate.cpp ├── TestAny.cpp ├── TestArray.cpp ├── TestAssociativeContainers.h ├── TestAtomicAsm.cpp ├── TestAtomicBasic.cpp ├── TestAtomicMultiThreaded.cpp ├── TestAtomicRaw.cpp ├── TestBit.cpp ├── TestBitVector.cpp ├── TestBitcast.cpp ├── TestBitset.cpp ├── TestCharTraits.cpp ├── TestChrono.cpp ├── TestConcepts.cpp ├── TestContainerBehaviour.cpp ├── TestCppCXTypeTraits.cpp ├── TestDeque.cpp ├── TestExpected.cpp ├── TestExtra.cpp ├── TestFinally.cpp ├── TestFixedFunction.cpp ├── TestFixedHash.cpp ├── TestFixedList.cpp ├── TestFixedMap.cpp ├── TestFixedSList.cpp ├── TestFixedSet.cpp ├── TestFixedString.cpp ├── TestFixedTupleVector.cpp ├── TestFixedVector.cpp ├── TestFlags.cpp ├── TestFunctional.cpp ├── TestHash.cpp ├── TestHeap.cpp ├── TestIntrusiveHash.cpp ├── TestIntrusiveList.cpp ├── TestIntrusiveSDList.cpp ├── TestIntrusiveSList.cpp ├── TestIterator.cpp ├── TestList.cpp ├── TestListMap.cpp ├── TestLruCache.cpp ├── TestMap.cpp ├── TestMap.h ├── TestMemory.cpp ├── TestMeta.cpp ├── TestNumericLimits.cpp ├── TestOptional.cpp ├── TestRandom.cpp ├── TestRatio.cpp ├── TestRingBuffer.cpp ├── TestSList.cpp ├── TestSegmentedVector.cpp ├── TestSet.cpp ├── TestSet.h ├── TestSmartPtr.cpp ├── TestSort.cpp ├── TestSpan.cpp ├── TestString.cpp ├── TestString.inl ├── TestStringHashMap.cpp ├── TestStringMap.cpp ├── TestStringView.cpp ├── TestStringView.inl ├── TestTuple.cpp ├── TestTupleVector.cpp ├── TestTypeTraits.cpp ├── TestUtility.cpp ├── TestVariant.cpp ├── TestVariant2.cpp ├── TestVector.cpp ├── TestVectorMap.cpp ├── TestVectorSet.cpp └── main.cpp