Visual Studio .natvis file — матрицы

Я пытаюсь отобразить матричный класс в отладчике Visual Studio 2013. Соответствующая часть класса это:

class mat {
private:
size_t rowdim, coldim;
double* _mem;
};

Я пытаюсь визуализировать это как многомерный массив, но не могу понять, как указать размер измерений, когда они не хранятся в виде массива. Вот что я пытаюсь:

<Type Name="mat">
<DisplayString>{{ Matrix {rowdim}x{coldim} }}</DisplayString>
<StringView>_mem,[rowdim]</StringView>
<Expand>
<Item Name="[size]" ExcludeView="simple" >rowdim</Item>
<ArrayItems>
<Direction>Forward</Direction>
<Rank>2</Rank>
<Size>{rowdim, coldim}</Size>
<ValuePointer>_mem</ValuePointer>
</ArrayItems>
</Expand>
</Type>

Но, похоже, нет никакого способа дать измерения в виде литералов или отдельных переменных, только как массив для индексации. Кто-нибудь знает, есть ли способ сделать это?

2

Решение

Вы можете указать основные выражения, и отладчик оценит их, попробуйте использовать:

<Size>$i == 0 ? rowdim : coldim</Size>

Visual Studio 2015 принимает это, у меня больше не установлено 2013.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector