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.
hmz007 36ed224bac
Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a)
1 year ago
..
.clang-format Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
Android.bp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
README.md Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
TEST_MAPPING Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
algorithm_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cast_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
concat_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
enum_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
fake_guard_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
flags_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
future_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
match_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
mixins_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
non_null_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
optional_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
shared_mutex_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
small_map_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
small_vector_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
static_vector_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
string_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 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

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 _t and _v suffixes.
  • kCamelCase
    • Enumerators and constexpr constants with static storage duration.
  • MACRO_CASE
    • Macros, with FTL_ prefix unless #undefed.

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.