Commit 6dd0f369 authored by Orvid King's avatar Orvid King Committed by Facebook Github Bot

Workaround ICE in MSVC 2017.8

Summary: MSVC is having issues with this, so explicitly refer to `AllocTraits` via `Super`.

Reviewed By: wez

Differential Revision: D9387914

fbshipit-source-id: 1751b029d678151cbce90cdffdce586498cdf756
parent 1722836d
...@@ -466,10 +466,11 @@ class ValueContainerPolicy : public BasePolicy< ...@@ -466,10 +466,11 @@ class ValueContainerPolicy : public BasePolicy<
using Super::kIsMap; using Super::kIsMap;
public: public:
using ConstIter = ValueContainerIterator<typename AllocTraits::const_pointer>; using ConstIter =
ValueContainerIterator<typename Super::AllocTraits::const_pointer>;
using Iter = std::conditional_t< using Iter = std::conditional_t<
kIsMap, kIsMap,
ValueContainerIterator<typename AllocTraits::pointer>, ValueContainerIterator<typename Super::AllocTraits::pointer>,
ConstIter>; ConstIter>;
//////// F14Table policy //////// F14Table policy
...@@ -717,10 +718,11 @@ class NodeContainerPolicy ...@@ -717,10 +718,11 @@ class NodeContainerPolicy
using Super::kIsMap; using Super::kIsMap;
public: public:
using ConstIter = NodeContainerIterator<typename AllocTraits::const_pointer>; using ConstIter =
NodeContainerIterator<typename Super::AllocTraits::const_pointer>;
using Iter = std::conditional_t< using Iter = std::conditional_t<
kIsMap, kIsMap,
NodeContainerIterator<typename AllocTraits::pointer>, NodeContainerIterator<typename Super::AllocTraits::pointer>,
ConstIter>; ConstIter>;
//////// F14Table policy //////// F14Table policy
...@@ -964,16 +966,18 @@ class VectorContainerPolicy : public BasePolicy< ...@@ -964,16 +966,18 @@ class VectorContainerPolicy : public BasePolicy<
using InternalSizeType = Item; using InternalSizeType = Item;
using ConstIter = using ConstIter =
VectorContainerIterator<typename AllocTraits::const_pointer>; VectorContainerIterator<typename Super::AllocTraits::const_pointer>;
using Iter = std::conditional_t< using Iter = std::conditional_t<
kIsMap, kIsMap,
VectorContainerIterator<typename AllocTraits::pointer>, VectorContainerIterator<typename Super::AllocTraits::pointer>,
ConstIter>; ConstIter>;
using ConstReverseIter = typename AllocTraits::const_pointer; using ConstReverseIter = typename Super::AllocTraits::const_pointer;
using ReverseIter = std:: using ReverseIter = std::conditional_t<
conditional_t<kIsMap, typename AllocTraits::pointer, ConstReverseIter>; kIsMap,
typename Super::AllocTraits::pointer,
ConstReverseIter>;
using ValuePtr = typename AllocTraits::pointer; using ValuePtr = typename Super::AllocTraits::pointer;
//////// F14Table policy //////// F14Table policy
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment