From 487280c1b638d05f4bbc2bc41c81d1fdb424cd4d Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Sat, 25 Feb 2012 11:01:40 -0500 Subject: 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 --- Carpet/CarpetIOHDF5/src/Output.cc | 8 ++++---- Carpet/CarpetIOHDF5/src/OutputSlice.cc | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'Carpet/CarpetIOHDF5') diff --git a/Carpet/CarpetIOHDF5/src/Output.cc b/Carpet/CarpetIOHDF5/src/Output.cc index d77324860..f8c580335 100644 --- a/Carpet/CarpetIOHDF5/src/Output.cc +++ b/Carpet/CarpetIOHDF5/src/Output.cc @@ -189,8 +189,8 @@ int WriteVarUnchunked (const cGH* const cctkGH, const ggf* ff = arrdata.at(gindex).at(Carpet::map).data.at(var); const gdata* const data = local_component >= 0 - ? (*ff) (request->timelevel, refinementlevel, - local_component, mglevel) + ? ff->data_pointer (request->timelevel, refinementlevel, + local_component, mglevel) : NULL; #if 0 // TODO: This does not work; data may be NULL @@ -367,8 +367,8 @@ int WriteVarChunkedSequential (const cGH* const cctkGH, const ggf* ff = arrdata.at(gindex).at(Carpet::map).data.at(var); const gdata* const data = local_component >= 0 - ? (*ff) (request->timelevel, refinementlevel, - local_component, mglevel) + ? ff->data_pointer (request->timelevel, refinementlevel, + local_component, mglevel) : NULL; #if 0 // TODO: This does not work; data may be NULL diff --git a/Carpet/CarpetIOHDF5/src/OutputSlice.cc b/Carpet/CarpetIOHDF5/src/OutputSlice.cc index f0d570ced..9a691be5f 100644 --- a/Carpet/CarpetIOHDF5/src/OutputSlice.cc +++ b/Carpet/CarpetIOHDF5/src/OutputSlice.cc @@ -624,7 +624,7 @@ namespace CarpetIOHDF5 { if (dist::rank() == proc) { const ggf* const ff = arrdata.at(group).at(m).data.at(n + n_min); - datas.at(n) = (*ff) (tl, rl, lc, ml); + datas.at(n) = ff->data_pointer (tl, rl, lc, ml); } else { datas.at(n) = NULL; } -- cgit v1.2.3