summaryrefslogtreecommitdiffstats
path: root/base/containers
Commit message (Collapse)AuthorAgeFilesLines
* Rename base/hash_tables to base/containers/hash_tables.brettw@chromium.org2013-06-113-3/+3
| | | | | | | | | | | Remove forwarding header BUG= R=avi@chromium.org Review URL: https://codereview.chromium.org/16667019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205584 0039d316-1c4b-4281-b951-d872f2087c98
* Use a direct include of strings headers in base/.avi@chromium.org2013-06-112-3/+3
| | | | | | | | | | BUG=247723 TEST=none TBR=ben@chromium.org Review URL: https://chromiumcodereview.appspot.com/16745002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205530 0039d316-1c4b-4281-b951-d872f2087c98
* Move hash_tables.h to base/containers.brettw@chromium.org2013-06-101-0/+120
| | | | | | | | | | | This keeps a fowrarding header to keep the change small. BUG= R=avi@chromium.org Review URL: https://codereview.chromium.org/16160022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205241 0039d316-1c4b-4281-b951-d872f2087c98
* Fix BufferAlignment build issue for Android x86james.wei@intel.com2013-01-301-1/+1
| | | | | | | | | | | | This issue is related to https://chromiumcodereview.appspot.com/12025021 On Android x86, the alignment could be 256 bytes. BUG= Review URL: https://chromiumcodereview.appspot.com/12095031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179617 0039d316-1c4b-4281-b951-d872f2087c98
* Fix BufferAlignment test on ARM linux.sbc@chromium.org2013-01-241-3/+4
| | | | | | | | | | | | | | It seems that linux's ARM gcc has the same problem that android's did. This change disables the check for 256 byte alignment for all gcc arm compilers, not only android. BUG=169817 Review URL: https://chromiumcodereview.appspot.com/12025021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@178635 0039d316-1c4b-4281-b951-d872f2087c98
* Add missing, and remove unnecessary, 'explicit' from constructors. (base/)hans@chromium.org2013-01-151-1/+2
| | | | | | | | | | | | | | | The style guide says that constructors which can be called with one argument should be explicit. For constructors which cannot be called with exactly one argument, there is no reason to mark them explicit. BUG=163357 Review URL: https://chromiumcodereview.appspot.com/11779022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176881 0039d316-1c4b-4281-b951-d872f2087c98
* Move mru_cache to the new containers subdirectory.brettw@chromium.org2012-11-132-0/+576
| | | | | | Review URL: https://codereview.chromium.org/11361193 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167456 0039d316-1c4b-4281-b951-d872f2087c98
* Move stack_container and linked_list to the new containers subdirectory.brettw@chromium.org2012-11-104-0/+825
| | | | | | | | | | This also replaces the StackWString with StackString16 and adds a char traits definition to the string16 header file to make this possible without ifdefs. BUG= Review URL: https://codereview.chromium.org/11360174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167022 0039d316-1c4b-4281-b951-d872f2087c98
* Add a SmallMap to base for small map lookups.brettw@chromium.org2012-11-092-0/+1143
This map has a static array that it will check brute-force before overflowing into a normal map. For cases where simple key-value lookup is needed where there are not expected to be many elements, this will be faster. This adds ManualConstructor which is required for this. This code is from internal util/gtl/small_map.h. I made the following changes: Renamed small_map to SmallMap. Added everything to the base namespace. Added the helper templates at the top to a sub namespace "internal" I renamed small_map_default_init to SmallMapDefaultInit since it's a class and that's how we name clases. However, I didn't rename has_key_equal and select_key_equal since those work with something called key_equal on the base container. I went back and forth on this, I'm happy to change. Renamed the non-STL-like functions to CamelCase. The only case was "using_full_map" -> UsingFullMap Removed unit test for the size of a Small Map (I don't think we care). Added note about preferring hash_map for key equality checking. Redid manual_constructor to use aligned_memory instead of manually doing everything itself. This removed a bunch of preprocessor goop and manual alignment. I also removed the 9-12 argument constructor versions of Init, which seemed excessive. Removed InsertIfNotPresent unit test (we don't have an InsertIfNotPresent map helper function). Added std:: on various things like pairs and make_pair and max. Made SmallMap::size() and count() and erase() return size_t insted of int to keep compat for unsigned-vs-signed for STL. Added "u" after numbers in EXPECT_EQs to avoid signed/unsigned warnings. BUG= Review URL: https://codereview.chromium.org/11366050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167001 0039d316-1c4b-4281-b951-d872f2087c98