/// Members of ChainedIncludesSource, factored out so we can initialize
/// them before we initialize the ExternalSemaSource base class.
struct ChainedIncludesSourceMembers {
+ ChainedIncludesSourceMembers(
+ std::vector<std::unique_ptr<CompilerInstance>> CIs,
+ IntrusiveRefCntPtr<ExternalSemaSource> FinalReader)
+ : Impl(std::move(CIs)), FinalReader(std::move(FinalReader)) {}
ChainedIncludesSourceImpl Impl;
IntrusiveRefCntPtr<ExternalSemaSource> FinalReader;
};
public:
ChainedIncludesSource(std::vector<std::unique_ptr<CompilerInstance>> CIs,
IntrusiveRefCntPtr<ExternalSemaSource> FinalReader)
- : ChainedIncludesSourceMembers(ChainedIncludesSourceMembers{
- {std::move(CIs)}, std::move(FinalReader)}),
+ : ChainedIncludesSourceMembers(std::move(CIs), std::move(FinalReader)),
MultiplexExternalSemaSource(Impl, *this->FinalReader) {}
};
}