diff options
author | Adam Lesinski <adamlesinski@google.com> | 2014-11-03 12:05:15 -0800 |
---|---|---|
committer | Adam Lesinski <adamlesinski@google.com> | 2014-11-03 12:09:58 -0800 |
commit | c3dc0b57b8d0b3875f868788e110aa67fb032b4a (patch) | |
tree | d29bf5702b81c4f283ae5e463af00c1e9327d459 /tools/split-select/Grouper.cpp | |
parent | 425b1dc88c47e0e9d3a653ad902a69f3ec09b966 (diff) |
Build the split-select tool without C++11 support
It was complicated to get the tool building on Windows, Linux,
and OSX with C++11 support.
OSX uses Clang to build C++11 binaries, which requires the libc++
standard library. Since most of the dependencies of this program
are built against libstdc++, this was difficult to resolve.
Now we build without C++11 support.
Change-Id: I4e537c113734508a8f480a1c402ed237de4f0e60
Diffstat (limited to 'tools/split-select/Grouper.cpp')
-rw-r--r-- | tools/split-select/Grouper.cpp | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/tools/split-select/Grouper.cpp b/tools/split-select/Grouper.cpp index 15edf89bd60f..22685cd4e194 100644 --- a/tools/split-select/Grouper.cpp +++ b/tools/split-select/Grouper.cpp @@ -16,25 +16,17 @@ #include "Grouper.h" +#include "aapt/AaptUtil.h" #include "SplitDescription.h" #include <utils/KeyedVector.h> #include <utils/Vector.h> using namespace android; +using AaptUtil::appendValue; namespace split { -template <typename Key, typename Value> -static void addToVector(KeyedVector<Key, SortedVector<Value> >& group, - const Key& key, const Value& value) { - ssize_t idx = group.indexOfKey(key); - if (idx < 0) { - idx = group.add(key, SortedVector<Value>()); - } - group.editValueAt(idx).add(value); -} - Vector<SortedVector<SplitDescription> > groupByMutualExclusivity(const Vector<SplitDescription>& splits) { Vector<SortedVector<SplitDescription> > groups; @@ -43,20 +35,22 @@ groupByMutualExclusivity(const Vector<SplitDescription>& splits) { KeyedVector<SplitDescription, SortedVector<SplitDescription> > densityGroups; KeyedVector<SplitDescription, SortedVector<SplitDescription> > abiGroups; KeyedVector<SplitDescription, SortedVector<SplitDescription> > localeGroups; - for (const SplitDescription& split : splits) { + const size_t splitCount = splits.size(); + for (size_t i = 0; i < splitCount; i++) { + const SplitDescription& split = splits[i]; if (split.config.density != 0) { SplitDescription key(split); key.config.density = 0; key.config.sdkVersion = 0; // Ignore density so we can support anydpi. - addToVector(densityGroups, key, split); - } else if (split.abi != abi::Variant::none) { + appendValue(densityGroups, key, split); + } else if (split.abi != abi::Variant_none) { SplitDescription key(split); - key.abi = abi::Variant::none; - addToVector(abiGroups, key, split); + key.abi = abi::Variant_none; + appendValue(abiGroups, key, split); } else if (split.config.locale != 0) { SplitDescription key(split); key.config.clearLocale(); - addToVector(localeGroups, key, split); + appendValue(localeGroups, key, split); } else { groups.add(); groups.editTop().add(split); |