summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorGravatar misterg <misterg@google.com>2017-09-19 16:54:40 -0400
committerGravatar misterg <misterg@google.com>2017-09-19 16:54:40 -0400
commitc2e754829628d1e9b7a16b3389cfdace76950fdf (patch)
tree5a7f056f44e27c30e10025113b644f0b3b5801fc /README.md
Initial Commit
Diffstat (limited to 'README.md')
-rw-r--r--README.md89
1 files changed, 89 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..0301f611
--- /dev/null
+++ b/README.md
@@ -0,0 +1,89 @@
+# Abseil - C++ Common Libraries
+
+The repository contains the Abseil C++ library code. Abseil is an open-source
+collection of C++ code (compliant to C++11) designed to augment the C++
+standard library.
+
+## Table of Contents
+
+- [About Abseil](#about)
+- [Codemap](#codemap)
+- [License](#license)
+- [Links](#links)
+
+<a name="about"></a>
+## About Abseil
+
+Abseil is an open-source collection of C++ library code designed to augment
+the C++ standard library. The Abseil library code is collected from Google's
+own C++ code base, has been extensively tested and used in production, and
+is the same code we depend on in our daily coding lives.
+
+In some cases, Abseil provides pieces missing from the C++ standard; in
+others, Abseil provides alternatives to the standard for special needs
+we've found through usage in the Google code base. We denote those cases
+clearly within the library code we provide you.
+
+Abseil is not meant to be a competitor to the standard library; we've
+just found that many of these utilities serve a purpose within our code
+base, and we now want to provide those resources to the C++ community as
+a whole.
+
+## Codemap
+
+Abseil contains the following C++ library components:
+
+* [`base`](base/) Abseil Fundamentals
+ <br /> The `base` library contains initialization code and other code which
+ all other Abseil code depends on. Code within `base` may not depend on any
+ other code (other than the C++ standard library).
+* [`algorithm`](algorithm/)
+ <br /> The `algorithm` library contains additions to the C++ `<algorithm>`
+ library and container-based versions of such algorithms.
+* [`container`](container)
+ <br /> The `container` library contains additional STL-style containers.
+* [`debugging`](debugging)
+ <br /> The `debugging` library contains code useful for enabling leak
+ checks. Future updates will add stacktrace and symbolization utilities.
+* [`memory`](memory)
+ <br /> The `memory` library contains C++11-compatible versions of
+ `std::make_unique()` and related memory management facilities.
+* [`meta`](meta)
+ <br /> The `meta` library contains C++11-compatible versions of type checks
+ available within C++14 and C++17 versions of the C++ `<type_traits>` library.
+* [`numeric`](numeric)
+ <br /> The `numeric` library contains C++11-compatible 128-bit integers.
+* [`strings`](strings)
+ <br /> The `strings` library contains a variety of strings routines and
+ utilities, including a C++11-compatible version of the C++17
+ `std::string_view` type.
+* [`synchronization`](synchronization)
+ <br /> The `synchronization` library contains concurrency primitives (Abseil's
+ `absl::Mutex` class, an alternative to `std::mutex`) and a variety of
+ synchronization abstractions.
+* [`time`](time)
+ <br /> The `time` library contains abstractions for computing with absolute
+ points in time, durations of time, and formatting and parsing time within
+ time zones.
+* [`types`](types)
+ <br /> The `types` library contains non-container utility types, like a
+ C++11-compatible version of `absl::optional`.
+
+## License
+
+The Abseil C++ library is licensed under the terms of the Apache
+license. See [LICENSE](LICENSE) for more information.
+
+## Links
+
+For more information about Abseil:
+
+* Consult our [Abseil Introduction](http://abseil.io/about/about/intro)
+* Read [Why Adopt Abseil](http://abseil.io/about/philosophy) to understand our
+ design philosophy.
+* Peruse our [Abseil Project Contract](http://abseil.io/about/contract) to
+ understand both what we promise to you, and what we expect of you in return.
+
+## Disclaimer
+
+* This is not an official Google product.