From b8c17dd7c0aa80830e7c8b972a901dca6530038e Mon Sep 17 00:00:00 2001 From: Valentin Shergin Date: Tue, 3 Mar 2020 16:35:21 -0800 Subject: [PATCH] Revert D19965405: Fabric: Small improvements in Differentiator/TinyMap Differential Revision: D19965405 Original commit changeset: 92eedf38d55b fbshipit-source-id: 92073ca877899e2a607f283275f0d7c894dd4720 --- ReactCommon/fabric/mounting/Differentiator.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ReactCommon/fabric/mounting/Differentiator.cpp b/ReactCommon/fabric/mounting/Differentiator.cpp index 4d327419224..05e1cd8f5f4 100644 --- a/ReactCommon/fabric/mounting/Differentiator.cpp +++ b/ReactCommon/fabric/mounting/Differentiator.cpp @@ -45,11 +45,11 @@ class TinyMap final { using Iterator = Pair *; inline Iterator begin() { - return &vector_.front(); + return (Pair *)vector_; } inline Iterator end() { - return &vector_.back() + 1; + return nullptr; } inline Iterator find(KeyT key) { @@ -68,8 +68,11 @@ class TinyMap final { } inline void erase(Iterator iterator) { - *iterator = vector_.at(vector_.size() - 1); - vector_.pop_back(); + static_assert( + std::is_same::value, + "The collection is designed to store only `Tag`s as keys."); + // Zero is a invalid tag. + iterator->first = 0; } private: