diff options
author | Erik Schnetter <schnetter@gmail.com> | 2012-02-25 11:01:40 -0500 |
---|---|---|
committer | Barry Wardell <barry.wardell@gmail.com> | 2012-09-11 18:23:06 +0100 |
commit | 487280c1b638d05f4bbc2bc41c81d1fdb424cd4d (patch) | |
tree | d4ea7557f7cd42f74ce6f7a92b906e6401c69c97 /Carpet/CarpetReduce | |
parent | ae44c5e6d86a65cce382e313e2a10b214e9645da (diff) |
CarpetLib: Change API to obtain pointer to grid function data
Change the API to obtain a pointer to grid function data:
- Use a function "typed_data_pointer" instead of overloading the ()
operator (because this looks nicer)
- Don't use a virtual function (because this isn't needed)
- Update all uses
Diffstat (limited to 'Carpet/CarpetReduce')
-rw-r--r-- | Carpet/CarpetReduce/src/reduce.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Carpet/CarpetReduce/src/reduce.cc b/Carpet/CarpetReduce/src/reduce.cc index d18de8ce0..a849f100b 100644 --- a/Carpet/CarpetReduce/src/reduce.cc +++ b/Carpet/CarpetReduce/src/reduce.cc @@ -1464,9 +1464,13 @@ namespace CarpetReduce { int const vi = invars[n]; int const gi = CCTK_GroupIndexFromVarI (vi); int const vi0 = CCTK_FirstVarIndexI (gi); - myinarrays.AT(tl).AT(n) - = ((*arrdata.AT(gi).AT(Carpet::map).data.AT(vi-vi0)) - (tl, reflevel, local_component, mglevel)->storage()); + ggf const *const ff = + arrdata.AT(gi).AT(Carpet::map).data.AT(vi-vi0); + void const *const ptr = + ff-> + data_pointer(tl, reflevel, local_component, mglevel)-> + storage(); + myinarrays.AT(tl).AT(n) = ptr; #endif assert (myinarrays.AT(tl).AT(n)); } |