19 #include <ThirdPartyWarningsDisable.h>
21 #include <ThirdPartyWarningsRestore.h>
42 if (!dimInfo.empty() && (newStartPos || newSize != oldSize))
45 if (dimInfo.size() == oldSize)
47 auto it = dimInfo.begin();
51 if (
static_cast<size_t>(newStartPos) < oldSize){
53 dimInfo.erase(it, it+newStartPos);
60 else if (newStartPos < 0){
62 dimInfo.insert(it,
static_cast<size_t>(-newStartPos), defaultValue);
65 dimInfo.resize(newSize, defaultValue);
SSIZE_T MLssize_t
The signed ML size type that is a signed 32-bit size_t on 32-bit platforms and 64-bit one on 64-bit p...
void AdjustDimensionInfos(std::vector< T > &dimInfo, MLssize_t newStartPos, size_t newSize, size_t oldSize, T defaultValue=T{})
Cut a new sub region out of existing C, T, or U dimension infos, filling undefined range with default...