74 void write(F f,
unsigned sliceAxis=2,
int slicePosOnAxis=0){
75 for (loc iY=0; iY < _extent[1]; ++iY) {
76 for (loc iX=0; iX < _extent[0]; ++iX) {
77 if constexpr (D == 3) {
78 int iZ = slicePosOnAxis;
85 iZeval = _extent[1]-iY-1;
86 }
else if (sliceAxis==1){
89 iZeval = _extent[1]-iY-1;
92 iYeval = _extent[1]-iY-1;
96 if constexpr (std::is_invocable_v<F, DATA&, LatticeR<D>>) {
97 os << f(_data,{iXeval,iYeval,iZeval});
99 os << f(_data,iXeval,iYeval,iZeval);
104 loc iYeval = _extent[1]-iY-1;
106 if constexpr (std::is_invocable_v<F, DATA&, LatticeR<D>>) {
107 os << f(_data,{iXeval,iYeval});
109 os << f(_data,iXeval,iYeval);
112 os << (iX==_extent[0]-1?
"" : sequence(_charEmpty,_spacing[0]));
116 if (iY<_extent[1]-1){
117 for (
unsigned i=0; i<_spacing[1]; ++i){
118 for (loc iX=0; iX < _extent[0]; ++iX) {
119 os << (iX==_extent[0]-1? _charEmpty : sequence(_charEmpty,_spacing[0]+1));