#include "tensorstore/index_space/dim_expression.h"
template <DimensionIndex InputRank,
         
 DimensionIndex OutputRank,
         
 ContainerKind CKind>
auto tensorstore::DimExpression<Op...>::operator()(
    
IndexTransform<InputRank, OutputRank, CKind> transform,
    
DimensionIndexBufferselection_output =
       
 &internal::GetLValue(DimensionIndexBuffer())
) const;

Applies this DimExpression to the specified index transform.

Requires:

This DimExpression contains at least one operation.

Parameters:
IndexTransform<InputRank, OutputRank, CKind> transform

The index transform to which this DimExpression is applied.

out
DimensionIndexBuffer *selection_output = &internal::GetLValue(DimensionIndexBuffer())

Optional. If specified, filled with the indices of the new dimension selection after applying this DimExpression.

Returns:

The new index transform, or any error caused by the initial dimension selection or one of the chained operations.