8 #include "util/object_util.hpp"
9 #include "Grid/util.hpp"
10 #include "Vector/vect_isel.hpp"
11 #include "Vector/util.hpp"
12 #include "Vector/map_vector_grow_p.hpp"
13 #include "memory/ExtPreAlloc.hpp"
14 #include "util/util_debug.hpp"
15 #include "util/Pack_stat.hpp"
16 #include <boost/fusion/include/mpl.hpp>
17 #include <boost/fusion/sequence/intrinsic/at_c.hpp>
18 #include <boost/fusion/include/at_c.hpp>
19 #include <boost/fusion/include/for_each.hpp>
20 #include <boost/fusion/container/vector.hpp>
21 #include <boost/fusion/include/vector.hpp>
22 #include <boost/fusion/container/vector/vector_fwd.hpp>
23 #include <boost/fusion/include/vector_fwd.hpp>
24 #include <boost/type_traits.hpp>
25 #include <boost/fusion/include/for_each.hpp>
26 #include <boost/mpl/range_c.hpp>
27 #include <boost/mpl/for_each.hpp>
28 #include "memory_ly/memory_conf.hpp"
29 #include "util/copy_compare/meta_copy.hpp"
31 #include "Memleak_check.hpp"
33 #include "util/for_each_ref.hpp"
37 #include "memory/CudaMemory.cuh"
39 #include "grid_sm.hpp"
41 #include "memory_ly/memory_array.hpp"
42 #include "memory_ly/memory_c.hpp"
44 #include "se_grid.hpp"
45 #include "memory/HeapMemory.hpp"
46 #include "memory/PtrMemory.hpp"
47 #include "grid_common.hpp"
48 #include "util/se_util.hpp"
49 #include "iterators/grid_key_dx_iterator.hpp"
50 #include "iterators/grid_key_dx_iterator_sub.hpp"
51 #include "iterators/grid_key_dx_iterator_sp.hpp"
52 #include "iterators/grid_key_dx_iterator_sub_bc.hpp"
53 #include "Packer_Unpacker/Packer_util.hpp"
54 #include "Packer_Unpacker/has_pack_agg.hpp"
55 #include "grid_base_implementation.hpp"
64 template<unsigned int dim, typename T, typename S=HeapMemory, typename layout = typename memory_traits_lin<T>::type >
101 template<
unsigned int dim,
typename T,
typename S>
186 #include "grid_gpu.hpp"
Transform the boost::fusion::vector into memory specification (memory_traits)
grid_cpu< dim, T, S, typename memory_traits_lin< T >::type > & operator=(const grid_base_impl< dim, T, S, layout, memory_traits_lin > &g)
It copy a grid.
grid_base_impl< dim, T, S, typename memory_traits_lin< T >::type, memory_traits_lin >::container container
Object container for T, it is the return type of get_o it return a object type trough.
static bool noPointers()
This structure has pointers.
grid_cpu() THROW
Default constructor.
This class allocate, and destroy CPU memory.
memory_traits_lin< T >::type layout
type of layout of the structure
void swap(grid_base_impl< dim, T, S, layout, layout_base > &grid)
It move the allocated object from one grid to another.
grid_cpu< dim, T, S, typename memory_traits_lin< T >::type > & operator=(grid_base_impl< dim, T, S, layout, memory_traits_lin > &&g)
It copy a grid.
grid_cpu(const size_t &sz) THROW
create a grid of size sz on each direction
This class is a container for the memory interface like HeapMemory CudaMemory.
grid_cpu(const grid_cpu< dim, T, S, typename memory_traits_lin< T >::type > &g) THROW
create a grid from another grid
grid_base_impl< dim, T, S, layout, layout_base > duplicate() const THROW
create a duplicated version of the grid
grid_cpu(const size_t(&sz)[dim]) THROW
Constructor allocate memory and give them a representation.
Implementation of a N-dimensional grid.