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.
atest ftl_test
Naming conventions are as follows:
PascalCase
snake_case
_t
and _v
suffixes.kCamelCase
constexpr
constants with static storage duration.MACRO_CASE
FTL_
prefix unless #undef
ed.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.