├── .clang-format ├── .gitignore ├── CMakeLists.txt ├── Doxyfile.in ├── README.md ├── benchmarks ├── 0initial.svg ├── 1after_imp_benchmark.svg ├── 2after_imp_v_iface.svg ├── CMakeLists.txt ├── access_patterns.hpp ├── benchmark.cpp ├── benchmark.hpp ├── benchmark.py ├── cartesian_product.hpp ├── dummy.png ├── dummy.svg ├── initializers.hpp ├── is_fusion_pair.hpp ├── is_scattered.hpp ├── operations.hpp ├── res.png ├── res.svg ├── scattered_vector_large_object_multiply_by_itself_one_sequential.dat ├── scattered_vector_medium_object_multiply_by_itself_one_sequential.dat ├── scattered_vector_small_object_multiply_by_itself_one_sequential.dat ├── scattered_vector_very_small_object_multiply_by_itself_one_sequential.dat ├── size_sequences.hpp ├── std_vector_large_object_multiply_by_itself_one_sequential.dat ├── std_vector_medium_object_multiply_by_itself_one_sequential.dat ├── std_vector_small_object_multiply_by_itself_one_sequential.dat ├── std_vector_very_small_object_multiply_by_itself_one_sequential.dat ├── template.gp ├── tests.hpp ├── time_function.hpp ├── types.hpp ├── vector_benchmark └── vector_benchmark.cpp ├── cmake └── FindLIBCXX.cmake ├── configure.sh ├── docs └── img │ └── memory_layout.svg ├── ext └── catch │ └── CMakeLists.txt ├── scattered ├── detail │ ├── as_fusion_map.hpp │ ├── assert.hpp │ ├── container_traits.hpp │ ├── fusion_swap.hpp │ ├── get.hpp │ ├── map.hpp │ ├── map_mutation.hpp │ ├── pair.hpp │ ├── returns.hpp │ ├── type_list.hpp │ ├── unqualified.hpp │ ├── vector.hpp │ └── vector_iterator_base.hpp └── vector.hpp ├── tests ├── CMakeLists.txt ├── example_test.cpp ├── map_test.cpp ├── pair_test.cpp ├── test_types.hpp └── vector_test.cpp └── tools ├── check_format.sh ├── cleanup.sh └── update_format.sh /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/.clang-format -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /Doxyfile.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/Doxyfile.in -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/README.md -------------------------------------------------------------------------------- /benchmarks/0initial.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/0initial.svg -------------------------------------------------------------------------------- /benchmarks/1after_imp_benchmark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/1after_imp_benchmark.svg -------------------------------------------------------------------------------- /benchmarks/2after_imp_v_iface.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/2after_imp_v_iface.svg -------------------------------------------------------------------------------- /benchmarks/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_benchmark(vector) 2 | -------------------------------------------------------------------------------- /benchmarks/access_patterns.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/access_patterns.hpp -------------------------------------------------------------------------------- /benchmarks/benchmark.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/benchmark.cpp -------------------------------------------------------------------------------- /benchmarks/benchmark.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/benchmark.hpp -------------------------------------------------------------------------------- /benchmarks/benchmark.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | -------------------------------------------------------------------------------- /benchmarks/cartesian_product.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/cartesian_product.hpp -------------------------------------------------------------------------------- /benchmarks/dummy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/dummy.png -------------------------------------------------------------------------------- /benchmarks/dummy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /benchmarks/initializers.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/initializers.hpp -------------------------------------------------------------------------------- /benchmarks/is_fusion_pair.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/is_fusion_pair.hpp -------------------------------------------------------------------------------- /benchmarks/is_scattered.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/is_scattered.hpp -------------------------------------------------------------------------------- /benchmarks/operations.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/operations.hpp -------------------------------------------------------------------------------- /benchmarks/res.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/res.png -------------------------------------------------------------------------------- /benchmarks/res.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/res.svg -------------------------------------------------------------------------------- /benchmarks/scattered_vector_large_object_multiply_by_itself_one_sequential.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/scattered_vector_large_object_multiply_by_itself_one_sequential.dat -------------------------------------------------------------------------------- /benchmarks/scattered_vector_medium_object_multiply_by_itself_one_sequential.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/scattered_vector_medium_object_multiply_by_itself_one_sequential.dat -------------------------------------------------------------------------------- /benchmarks/scattered_vector_small_object_multiply_by_itself_one_sequential.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/scattered_vector_small_object_multiply_by_itself_one_sequential.dat -------------------------------------------------------------------------------- /benchmarks/scattered_vector_very_small_object_multiply_by_itself_one_sequential.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/scattered_vector_very_small_object_multiply_by_itself_one_sequential.dat -------------------------------------------------------------------------------- /benchmarks/size_sequences.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/size_sequences.hpp -------------------------------------------------------------------------------- /benchmarks/std_vector_large_object_multiply_by_itself_one_sequential.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/std_vector_large_object_multiply_by_itself_one_sequential.dat -------------------------------------------------------------------------------- /benchmarks/std_vector_medium_object_multiply_by_itself_one_sequential.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/std_vector_medium_object_multiply_by_itself_one_sequential.dat -------------------------------------------------------------------------------- /benchmarks/std_vector_small_object_multiply_by_itself_one_sequential.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/std_vector_small_object_multiply_by_itself_one_sequential.dat -------------------------------------------------------------------------------- /benchmarks/std_vector_very_small_object_multiply_by_itself_one_sequential.dat: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /benchmarks/template.gp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/template.gp -------------------------------------------------------------------------------- /benchmarks/tests.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/tests.hpp -------------------------------------------------------------------------------- /benchmarks/time_function.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/time_function.hpp -------------------------------------------------------------------------------- /benchmarks/types.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/types.hpp -------------------------------------------------------------------------------- /benchmarks/vector_benchmark: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/vector_benchmark -------------------------------------------------------------------------------- /benchmarks/vector_benchmark.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/benchmarks/vector_benchmark.cpp -------------------------------------------------------------------------------- /cmake/FindLIBCXX.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/cmake/FindLIBCXX.cmake -------------------------------------------------------------------------------- /configure.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/configure.sh -------------------------------------------------------------------------------- /docs/img/memory_layout.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/docs/img/memory_layout.svg -------------------------------------------------------------------------------- /ext/catch/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/ext/catch/CMakeLists.txt -------------------------------------------------------------------------------- /scattered/detail/as_fusion_map.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/scattered/detail/as_fusion_map.hpp -------------------------------------------------------------------------------- /scattered/detail/assert.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/scattered/detail/assert.hpp -------------------------------------------------------------------------------- /scattered/detail/container_traits.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/scattered/detail/container_traits.hpp -------------------------------------------------------------------------------- /scattered/detail/fusion_swap.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/scattered/detail/fusion_swap.hpp -------------------------------------------------------------------------------- /scattered/detail/get.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/scattered/detail/get.hpp -------------------------------------------------------------------------------- /scattered/detail/map.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/scattered/detail/map.hpp -------------------------------------------------------------------------------- /scattered/detail/map_mutation.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/scattered/detail/map_mutation.hpp -------------------------------------------------------------------------------- /scattered/detail/pair.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/scattered/detail/pair.hpp -------------------------------------------------------------------------------- /scattered/detail/returns.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/scattered/detail/returns.hpp -------------------------------------------------------------------------------- /scattered/detail/type_list.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/scattered/detail/type_list.hpp -------------------------------------------------------------------------------- /scattered/detail/unqualified.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/scattered/detail/unqualified.hpp -------------------------------------------------------------------------------- /scattered/detail/vector.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/scattered/detail/vector.hpp -------------------------------------------------------------------------------- /scattered/detail/vector_iterator_base.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/scattered/detail/vector_iterator_base.hpp -------------------------------------------------------------------------------- /scattered/vector.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/scattered/vector.hpp -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/tests/CMakeLists.txt -------------------------------------------------------------------------------- /tests/example_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/tests/example_test.cpp -------------------------------------------------------------------------------- /tests/map_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/tests/map_test.cpp -------------------------------------------------------------------------------- /tests/pair_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/tests/pair_test.cpp -------------------------------------------------------------------------------- /tests/test_types.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/tests/test_types.hpp -------------------------------------------------------------------------------- /tests/vector_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/tests/vector_test.cpp -------------------------------------------------------------------------------- /tools/check_format.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/tools/check_format.sh -------------------------------------------------------------------------------- /tools/cleanup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/tools/cleanup.sh -------------------------------------------------------------------------------- /tools/update_format.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnzlbg/scattered/HEAD/tools/update_format.sh --------------------------------------------------------------------------------