Визуальная студия 2017 STL визуализатор не работает на одном стандарте :: карта> - PullRequest
0 голосов
/ 31 мая 2018

Отображаются все окна просмотра Visual Studio:

std::_Tree<std::_TMap_traits<.....

Все остальные данные отображаются нормально - с использованием тех же или похожих данных.

Вот заголовок:

typedef std::set<expression::ptr> expressionSet;
//pairOfExpression2Usage m_sBool;
typedef boost::flyweights::flyweight<
    expressionSet,
    boost::flyweights::set_factory<>,
    boost::flyweights::refcounted
> expressionSetFW;
typedef std::pair<expressionSetFW, expressionSetFW> pairOfExpressionSetFW;
    // these are or-ed together
struct comparePairOfExpressionSetFW
{   bool operator()(
        const pairOfExpressionSetFW &_r0,
        const pairOfExpressionSetFW&_r1) const;
};
typedef std::set<
    pairOfExpressionSetFW,
    comparePairOfExpressionSetFW
> setOfPairOfExpressionSet;
struct compareSetOfPairOfExpressionSet
{   bool operator()(
        const setOfPairOfExpressionSet &_r0,
        const setOfPairOfExpressionSet&_r1) const;
};
typedef boost::flyweights::flyweight<
    setOfPairOfExpressionSet,
    boost::flyweights::set_factory<compareSetOfPairOfExpressionSet>,
    boost::flyweights::refcounted
> setOfPairOfExpressionSetFW;
typedef std::tuple<std::size_t, double, setOfPairOfExpressionSetFW> exprData;
typedef std::map<expression::ptr, exprData> expr2Data;

Я уже переустановил визуализаторы.Сделал

devenv.exe /resetsettings

Поместить определения типов в глобальную область видимости.Любопытно, что все остальные вещи (также использующие выражение :: ptr) в качестве индекса или данных отображаются нормально.

1 Ответ

0 голосов
/ 18 августа 2018

Что я сделал, чтобы взломать эту проблему, так это скопировал и преобразовал оскорбительные

std::map<> 

в

std::map<std::string, std::string>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...