#include "multi_array_header.h" #include "high_level_operation.h" namespace MultiArrayTools { std::shared_ptr mkSubSpaceX(const std::shared_ptr& di, size_t max) { auto& o = di->range()->orig(); vector> ox(o.begin(),o.begin()+max); DynamicRangeFactory drf(ox); auto dr = createExplicit(drf); auto odi = getIndex(dr); vector> iv; iv.reserve(max); for(size_t i = 0; i != max; ++i){ iv.push_back(di->getP(i)); } (*odi)(iv); return odi; } template class OperationRoot; template class OperationRoot; template class HighLevelOpHolder; template class HighLevelOpHolder; template class HighLevelOpBase; template class HighLevelOpBase; template class HighLevelOpRoot; template class HighLevelOpRoot; }