// -*- C++ -*- #include "ma_functional.h" namespace MultiArrayTools { namespace { template struct MapEvaluation { template static void eval(OutIndex& oi, const MapTuple& mt) { oi.template getIndex() = std::get(mt); MapEvaluation::eval(oi, mt); } }; template <> struct MapEvaluation<0> { template static void eval(OutIndex& oi, const MapTuple& mt) { oi.template getIndex<0>() = std::get<0>(mt); } }; } // anonymous namespace template void IndexMapFunction::linkIndicesTo(IndefinitIndexBase* target) { /*!!!!*/ } template void IndexMapFunction::eval() { MapEvaluation::eval(mOIndex, mMap); } template IndefinitIndexBase& IndexMapFunction::index() { return mOIndex; } }