You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
1 year ago | |
|---|---|---|
| .. | ||
| .clang-format | 1 year ago | |
| Android.bp | 1 year ago | |
| README.md | 1 year ago | |
| TEST_MAPPING | 1 year ago | |
| algorithm_test.cpp | 1 year ago | |
| cast_test.cpp | 1 year ago | |
| concat_test.cpp | 1 year ago | |
| enum_test.cpp | 1 year ago | |
| fake_guard_test.cpp | 1 year ago | |
| flags_test.cpp | 1 year ago | |
| future_test.cpp | 1 year ago | |
| match_test.cpp | 1 year ago | |
| mixins_test.cpp | 1 year ago | |
| non_null_test.cpp | 1 year ago | |
| optional_test.cpp | 1 year ago | |
| shared_mutex_test.cpp | 1 year ago | |
| small_map_test.cpp | 1 year ago | |
| small_vector_test.cpp | 1 year ago | |
| static_vector_test.cpp | 1 year ago | |
| string_test.cpp | 1 year ago | |
README.md
FTL
FTL is a template library shared by SurfaceFlinger and InputFlinger, inspired by and supplementing the C++ Standard Library. The intent is to fill gaps for areas not (yet) covered—like cache-efficient data structures and lock-free concurrency primitives—and implement proposals that are missing or experimental in Android's libc++ branch. The design takes some liberties with standard compliance, notably assuming that exceptions are disabled.
Tests
atest ftl_test
Style
- Based on Google C++ Style.
- Informed by C++ Core Guidelines.
Naming conventions are as follows:
PascalCase- Types and aliases, except standard interfaces.
- Template parameters, including non-type ones.
snake_case- Variables, and data members with trailing underscore.
- Functions, free and member alike.
- Type traits, with standard
_tand_vsuffixes.
kCamelCase- Enumerators and
constexprconstants with static storage duration.
- Enumerators and
MACRO_CASE- Macros, with
FTL_prefix unless#undefed.
- Macros, with
Template parameter packs are named with the following convention:
typename T, typename... Ts
typename Arg, typename... Args
std::size_t I, std::size_t... Is
std::size_t Size, std::size_t... Sizes
The details namespace contains implementation details.