# fit Namespace

# fit

## Summary

| ### Typedefs ||
|---|---|
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ad08e0ef3a5cdee675232e9bdf3ad59f2` | using `https://fuchsia.dev/reference/cpp/class/fit/callback-impl#classfit_1_1callback__impl< internal::RoundUpToWord(inline_target_size), false, T, Allocator >` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ae09ed133c1fe36d3eb05705fd014a01e` | using `https://fuchsia.dev/reference/cpp/class/fit/function-impl#classfit_1_1function__impl< void()>` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a78c9319e3e0e02600a694527659c95b3` | using `std::allocator< std::byte >` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a5917d3e8a463a6d8a3d1efac7f11f722` | using `https://fuchsia.dev/reference/cpp/class/fit/deferred-action#classfit_1_1deferred__action< https://fuchsia.dev/reference/cpp/class/fit/callback-impl#classfit_1_1callback__impl< void()>>` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a34737a18a40e4b9694dc65c979025ca8` | using `typename::fit::internal::detector< Default, void, Op, Args...>` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a5341761efab7fcdf87d2e3126e4a3cd0` | using `typename detected_or< Default, Op, Args...>::type` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1abe3eb78a679714124ce8ee883d206a4b` | using `typename::fit::internal::detector< https://fuchsia.dev/reference/cpp/struct/fit/nonesuch#structfit_1_1nonesuch, void, Op, Args...>::type` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1afed5f1f395546177248b8999dbb2407e` | using `https://fuchsia.dev/reference/cpp/class/fit/function-impl#classfit_1_1function__impl< internal::RoundUpToWord(inline_target_size), false, T, Allocator >` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1acb218aadcf2472090931201251bbe05e` | using `https://fuchsia.dev/reference/cpp/struct/fit/callable-traits#structfit_1_1callable__traits< T >` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a20b42aa040c3bd8700e88554184c0429` | using `https://fuchsia.dev/reference/cpp/class/fit/callback-impl#classfit_1_1callback__impl< internal::RoundUpToWord(inline_target_size), true, T, default_callable_allocator >` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a34a36930324be431e35e4e8f72f744c2` | using `https://fuchsia.dev/reference/cpp/class/fit/function-impl#classfit_1_1function__impl< internal::RoundUpToWord(inline_target_size), true, T, default_callable_allocator >` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a94ed89f77bb7fabfc22df43e7bd2c0f3` | using `typename::fit::internal::detector< https://fuchsia.dev/reference/cpp/struct/fit/nonesuch#structfit_1_1nonesuch, void, Op, Args...>::value_t` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a927a171eff7d9c7f9f0366d40e5e0182` | using `std::is_convertible< detected_t< Op, Args...>, To >` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ab98a91d2dbb454eeae7c99564992195c` | using `std::is_same< Expected, detected_t< Op, Args...>>` |

| ### Functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a2363a8ad56e11c0fcb0082d483877921("mutex") thread_checker final` | `class` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a7319d49430a9d6cd7e6aae1d21726a05((__warn_unused_result__))` | ` `` ` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a197afb64144106a47a12c88e7ae9e1cc(E && error_value)` | `constexpr https://fuchsia.dev/reference/cpp/other/singletonfit/error#singletonfit_1_1error< std::decay_t< E > >` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a4871d5c6e6035cf3af9ea0cec44fa849(T *instance, R(T::*)(Args...) fn)` | `auto` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1aeb7fa91ca039fecf35421390cc712387(T *instance)` | `auto` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a271dfc84982b74f54336594a45c28362(T) -> error< T >` | ` `` ` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1af5de35480408203c93e8160d204529d6(T && value)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a63bbd057d50f8d56eb3e3e6778147602(T && value)` | `constexpr https://fuchsia.dev/reference/cpp/other/singletonfit/success#singletonfit_1_1success< std::decay_t< T > >` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a5dc6a9b0005d4ec409a6f2fc7b626b0e()` | `constexpr https://fuchsia.dev/reference/cpp/other/singletonfit/success#singletonfit_1_1success` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a540e7cfd3106df36ea29302080032021(const https://fuchsia.dev/reference/cpp/class/fit/deferred-action#classfit_1_1deferred__action< T > & action, decltype(nullptr))` | `bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a73d832198106010a4d5f00b443966843(decltype(nullptr), const https://fuchsia.dev/reference/cpp/class/fit/deferred-action#classfit_1_1deferred__action< T > & action)` | `bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a3052e57d9f5b410e351da5f0c4dc2bdd(const https://fuchsia.dev/reference/cpp/class/fit/function-impl#classfit_1_1function__impl< inline_target_size, require_inline, FunctionType, Allocator > & f, decltype(nullptr))` | `bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a45aaddf01e8c22ab7160099319bbf2f9(decltype(nullptr), const https://fuchsia.dev/reference/cpp/class/fit/function-impl#classfit_1_1function__impl< inline_target_size, require_inline, FunctionType, Allocator > & f)` | `bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a63d64e2a809728cd33f90657a0b126c5(const https://fuchsia.dev/reference/cpp/class/fit/callback-impl#classfit_1_1callback__impl< inline_target_size, require_inline, FunctionType, Allocator > & f, decltype(nullptr))` | `bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1aea7c50a261568ce7aca245a1ef99875a(decltype(nullptr), const https://fuchsia.dev/reference/cpp/class/fit/callback-impl#classfit_1_1callback__impl< inline_target_size, require_inline, FunctionType, Allocator > & f)` | `bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a8ba254050adc8215b2757c007b79a7fd(const https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable< T > & lhs, decltype(nullptr))` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a8478228a7c903beaec52366b76bbea81(decltype(nullptr), const https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable< T > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1af943dc2bf196483fc1df010648cbd7e0(const https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable< T > & lhs, const https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable< U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1abc6441ae8f1429f78bfd4e2fd6101f3e(const https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable< T > & lhs, const U & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ac03ecf0f9d8e427ec262dd064a02c2da(const T & lhs, const https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable< U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ab87412bceecb7a818b35cd26a0467866(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, Ts...> & lhs, const https://fuchsia.dev/reference/cpp/other/singletonfit/success#singletonfit_1_1success<> &)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ad5aa5dbf574a09a8ba0ae1b82ba86ee6(const https://fuchsia.dev/reference/cpp/other/singletonfit/success#singletonfit_1_1success<> &, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, Ts...> & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a14e1b6834186cd4bce1b0d85b8090032(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, Ts...> & lhs, https://fuchsia.dev/reference/cpp/struct/fit/failed#structfit_1_1failed)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a7624d6caa84bd9528e4cacc5ba391dcc(https://fuchsia.dev/reference/cpp/struct/fit/failed#structfit_1_1failed, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, Ts...> & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1af38d1a1129fd140140a4a182908df804(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, T > & lhs, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< F, U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ae27a2ba224513e40a564832deb1f06f2(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, T > & lhs, const U & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a1c9291120697cd8d042c66bd683fa76b(const T & lhs, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< F, U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a92a447a58e57a5a3e4287d21615d7a0e(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, T > & lhs, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< F, U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1af87aed07c7a31ba6dd5bc1fdc6735329(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, T > & lhs, const U & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ab32efacc0ef24692668e3d21034cdcf0(const T & lhs, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< F, U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a958fc00fc0285eff4cc4e21b8294a737(std::ostream & out, const std::optional< std::string > & str)` | `std::ostream &` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a932077e96f9e563380503d72a98ccb83(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, T > & lhs, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< F, U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ad4a5f71a74c9b83d9d3d13a06e1d6b27(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, T > & lhs, const U & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a4e37b34692318b9095834ee0904cb057(const T & lhs, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< F, U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a77a5eb004a21fd1c0177f9d66406dd36(const https://fuchsia.dev/reference/cpp/class/fit/deferred-action#classfit_1_1deferred__action< T > & action, decltype(nullptr))` | `bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ab244be3f158625c1c9bf88e12459fc40(decltype(nullptr), const https://fuchsia.dev/reference/cpp/class/fit/deferred-action#classfit_1_1deferred__action< T > & action)` | `bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a068ef3b84c5706c98a09b0413d37e657(const https://fuchsia.dev/reference/cpp/class/fit/function-impl#classfit_1_1function__impl< inline_target_size, require_inline, FunctionType, Allocator > & f, decltype(nullptr))` | `bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ac6171794b10f3b5b3447e6019b4ad7c8(decltype(nullptr), const https://fuchsia.dev/reference/cpp/class/fit/function-impl#classfit_1_1function__impl< inline_target_size, require_inline, FunctionType, Allocator > & f)` | `bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a8baeada1b300987971e22ae2350e6dca(const https://fuchsia.dev/reference/cpp/class/fit/callback-impl#classfit_1_1callback__impl< inline_target_size, require_inline, FunctionType, Allocator > & f, decltype(nullptr))` | `bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1adf98838c8114fe72a3022ecde890e2d7(decltype(nullptr), const https://fuchsia.dev/reference/cpp/class/fit/callback-impl#classfit_1_1callback__impl< inline_target_size, require_inline, FunctionType, Allocator > & f)` | `bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1adf22464c63039d2a1611bf17d2a4cd68(const https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable< T > & lhs, decltype(nullptr))` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a3cf67247e35204e897f9a85639d0a497(decltype(nullptr), const https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable< T > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a37b38241974a48cdf40f993dd052d4ae(const https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable< T > & lhs, const https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable< U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a1bb286137d7539ee04bdf098ee24f5b7(const https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable< T > & lhs, const U & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a75e8a220b2564d15fb6f376df5a91adc(const T & lhs, const https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable< U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a936f3d1d3e152026c2cd3a96fb4b896d(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, Ts...> & lhs, const https://fuchsia.dev/reference/cpp/other/singletonfit/success#singletonfit_1_1success<> &)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1acc012c386f8a73770eb7067c0aab7895(const https://fuchsia.dev/reference/cpp/other/singletonfit/success#singletonfit_1_1success<> &, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, Ts...> & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a5b633f4ad4c1ceb1433deae4ea71fee2(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, Ts...> & lhs, https://fuchsia.dev/reference/cpp/struct/fit/failed#structfit_1_1failed)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1aac5502f0e710dd72c533804cfc87d602(https://fuchsia.dev/reference/cpp/struct/fit/failed#structfit_1_1failed, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, Ts...> & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a21407bc12a8936b2bf643f6031ce3a88(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, T > & lhs, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< F, U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a037ffb9c14be29f83b7455ffd984fc53(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, T > & lhs, const U & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a875a55b2f2665ae09513209778c789d0(const T & lhs, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< F, U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ac16f492b3fd45dcd41568a42e2dcb49f(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, T > & lhs, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< F, U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a23f37be6882cfb51c0fa055abf639cb5(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, T > & lhs, const U & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a0a7d7e601b24b8089ac711c7b68c4022(const T & lhs, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< F, U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1aa2e481c2f339fe40e8ac3204f3407920(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, T > & lhs, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< F, U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1acc454753f9f23a4363eec8682084bb64(const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, T > & lhs, const U & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a18a06698fc9363c5305a5ef67bc72515(const T & lhs, const https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< F, U > & rhs)` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ac4b36ddb741658a2d2d34d363c933d78(typename Tag::__allow_ctad...) -> result< Tag...>` | ` `` ` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1afc2158e1b7abef7af322cc700ebe2e7c() -> success<>` | ` `` ` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ae86abaa9ad26bdf1ad9c1a822886c2fa(T) -> success< T >` | ` `` ` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a1265908539c314d2683d2b4ced3c633b(https://fuchsia.dev/reference/cpp/class/fit/function-impl#classfit_1_1function__impl< inline_target_size, require_inline, FunctionType, Allocator > & a, https://fuchsia.dev/reference/cpp/class/fit/function-impl#classfit_1_1function__impl< inline_target_size, require_inline, FunctionType, Allocator > & b)` | `void` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1ab2ec700763eff7807d1f5094783cbfef(https://fuchsia.dev/reference/cpp/class/fit/callback-impl#classfit_1_1callback__impl< inline_target_size, require_inline, FunctionType, Allocator > & a, https://fuchsia.dev/reference/cpp/class/fit/callback-impl#classfit_1_1callback__impl< inline_target_size, require_inline, FunctionType, Allocator > & b)` | `void` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a00538f8f76728193d797c84acb15ce61(https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable< T > & a, https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable< T > & b)` | `void` |
| `https://fuchsia.dev/reference/cpp/namespace/fit#namespacefit_1a8f7c8dff5e73546947bc864c6466b23e(https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, Ts...> & r, https://fuchsia.dev/reference/cpp/other/singletonfit/result#singletonfit_1_1result< E, Ts...> & s)` | `constexpr void` |

| ### Classes ||
|---|---|
| [fit::callback_impl](https://fuchsia.dev/reference/cpp/class/fit/callback-impl) |   |
| [fit::callback_impl\< inline_target_size, require_inline, Result(Args...), Allocator \>](https://fuchsia.dev/reference/cpp/class/fit/callback-impl-inline-target-size-require-inline-result-07-args-08-allocator-) |   |
| [fit::deferred_action](https://fuchsia.dev/reference/cpp/class/fit/deferred-action) |   |
| [fit::function_impl](https://fuchsia.dev/reference/cpp/class/fit/function-impl) |   |
| [fit::function_impl\< inline_target_size, require_inline, Result(Args...), Allocator \>](https://fuchsia.dev/reference/cpp/class/fit/function-impl-inline-target-size-require-inline-result-07-args-08-allocator-) |   |
| [fit::inline_any](https://fuchsia.dev/reference/cpp/class/fit/inline-any) |   |
| [fit::nullable](https://fuchsia.dev/reference/cpp/class/fit/nullable) |   |
| [fit::nullable\< T, true \>](https://fuchsia.dev/reference/cpp/class/fit/nullable-t-true-) |   |
| [fit::pinned_inline_any](https://fuchsia.dev/reference/cpp/class/fit/pinned-inline-any) |   |
| [fit::result\< E \>](https://fuchsia.dev/reference/cpp/class/fit/result-e-) |   |
| [fit::result\< E, T \>](https://fuchsia.dev/reference/cpp/class/fit/result-e-t-) |   |
| [fit::success\< T \>](https://fuchsia.dev/reference/cpp/class/fit/success-t-) |   |
| [fit::success\<\>](https://fuchsia.dev/reference/cpp/class/fit/success-3-4) |   |

| ### Structs ||
|---|---|
| [fit::callable_traits](https://fuchsia.dev/reference/cpp/struct/fit/callable-traits) |   |
| [fit::callable_traits\< ReturnType(\*)(ArgTypes...)\>](https://fuchsia.dev/reference/cpp/struct/fit/callable-traits-return-type-07-5-08-07-arg-types-08-4) |   |
| [fit::callable_traits\< ReturnType(ArgTypes...)\>](https://fuchsia.dev/reference/cpp/struct/fit/callable-traits-return-type-07-arg-types-08-4) |   |
| [fit::callable_traits\< ReturnType(FunctorType::\*)(ArgTypes...) const \>](https://fuchsia.dev/reference/cpp/struct/fit/callable-traits-return-type-07-functor-type/5-08-07-arg-types-08-01const-01-) |   |
| [fit::callable_traits\< ReturnType(FunctorType::\*)(ArgTypes...)\>](https://fuchsia.dev/reference/cpp/struct/fit/callable-traits-return-type-07-functor-type/5-08-07-arg-types-08-4) |   |
| [fit::failed](https://fuchsia.dev/reference/cpp/struct/fit/failed) |   |
| [fit::is_callable](https://fuchsia.dev/reference/cpp/struct/fit/is-callable) |   |
| [fit::is_callable\< ReturnType(\*)(ArgTypes...)\>](https://fuchsia.dev/reference/cpp/struct/fit/is-callable-return-type-07-5-08-07-arg-types-08-4) |   |
| [fit::is_callable\< ReturnType(FunctorType::\*)(ArgTypes...)\>](https://fuchsia.dev/reference/cpp/struct/fit/is-callable-return-type-07-functor-type/5-08-07-arg-types-08-4) |   |
| [fit::is_callable\< T, std::void_t\< decltype(\&T::operator())\> \>](https://fuchsia.dev/reference/cpp/struct/fit/is-callable-t-std/void-t-decltype-07-6-t/operator-07-08-08-4-) |   |
| [fit::is_comparable_with_null](https://fuchsia.dev/reference/cpp/struct/fit/is-comparable-with-null) |   |
| [fit::is_comparable_with_null\< T, decltype(std::declval\< const T \& \>()==nullptr)\>](https://fuchsia.dev/reference/cpp/struct/fit/is-comparable-with-null-t-decltype-07std/declval-const-01-t-01-6-07-08-0A-0Anullptr-08-4) |   |
| [fit::is_nullable](https://fuchsia.dev/reference/cpp/struct/fit/is-nullable) |   |
| [fit::is_nullable\< void \>](https://fuchsia.dev/reference/cpp/struct/fit/is-nullable-void-) |   |
| [fit::nonesuch](https://fuchsia.dev/reference/cpp/struct/fit/nonesuch) |   |
| [fit::parameter_pack](https://fuchsia.dev/reference/cpp/struct/fit/parameter-pack) |   |

## Typedefs

### callback

```c++
callback_impl< internal::RoundUpToWord(inline_target_size), false, T, Allocator > callback
```

### closure

```c++
function< void()> closure
```

### default_callable_allocator

```c++
std::allocator< std::byte > default_callable_allocator
```

### deferred_callback

```c++
deferred_action< fit::callback< void()>> deferred_callback
```

### detected_or

```c++
typename::fit::internal::detector< Default, void, Op, Args...> detected_or
```

### detected_or_t

```c++
typename detected_or< Default, Op, Args...>::type detected_or_t
```

### detected_t

```c++
typename::fit::internal::detector< nonesuch, void, Op, Args...>::type detected_t
```

### function

```c++
function_impl< internal::RoundUpToWord(inline_target_size), false, T, Allocator > function
```

### function_traits

```c++
callable_traits< T > function_traits
```

### inline_callback

```c++
callback_impl< internal::RoundUpToWord(inline_target_size), true, T, default_callable_allocator > inline_callback
```

### inline_function

```c++
function_impl< internal::RoundUpToWord(inline_target_size), true, T, default_callable_allocator > inline_function
```

### is_detected

```c++
typename::fit::internal::detector< nonesuch, void, Op, Args...>::value_t is_detected
```

### is_detected_convertible

```c++
std::is_convertible< detected_t< Op, Args...>, To > is_detected_convertible
```

### is_detected_exact

```c++
std::is_same< Expected, detected_t< Op, Args...>> is_detected_exact
```

## Functions

### FIT_CAPABILITY

```c++
class FIT_CAPABILITY(
  "mutex"
) thread_checker final
```

### __attribute__

```c++
 __attribute__(
  (__warn_unused_result__)
)
```

### as_error

```c++
constexpr error< std::decay_t< E > > as_error(
  E && error_value
)
```

### bind_member

```c++
auto bind_member(
  T *instance,
  R(T::*)(Args...) fn
)
```

### bind_member

```c++
auto bind_member(
  T *instance
)
```

### error

```c++
 error(
  T
) -> error< T >
```

### is_null

```c++
constexpr bool is_null(
  T && value
)
```

### ok

```c++
constexpr success< std::decay_t< T > > ok(
  T && value
)
```

### ok

```c++
constexpr success ok()
```

### operator!=

```c++
bool operator!=(
  const deferred_action< T > & action,
  decltype(nullptr)
)
```

### operator!=

```c++
bool operator!=(
  decltype(nullptr),
  const deferred_action< T > & action
)
```

### operator!=

```c++
bool operator!=(
  const function_impl< inline_target_size, require_inline, FunctionType, Allocator > & f,
  decltype(nullptr)
)
```

### operator!=

```c++
bool operator!=(
  decltype(nullptr),
  const function_impl< inline_target_size, require_inline, FunctionType, Allocator > & f
)
```

### operator!=

```c++
bool operator!=(
  const callback_impl< inline_target_size, require_inline, FunctionType, Allocator > & f,
  decltype(nullptr)
)
```

### operator!=

```c++
bool operator!=(
  decltype(nullptr),
  const callback_impl< inline_target_size, require_inline, FunctionType, Allocator > & f
)
```

### operator!=

```c++
constexpr bool operator!=(
  const nullable< T > & lhs,
  decltype(nullptr)
)
```

### operator!=

```c++
constexpr bool operator!=(
  decltype(nullptr),
  const nullable< T > & rhs
)
```

### operator!=

```c++
constexpr bool operator!=(
  const nullable< T > & lhs,
  const nullable< U > & rhs
)
```

### operator!=

```c++
constexpr bool operator!=(
  const nullable< T > & lhs,
  const U & rhs
)
```

### operator!=

```c++
constexpr bool operator!=(
  const T & lhs,
  const nullable< U > & rhs
)
```

### operator!=

```c++
constexpr bool operator!=(
  const result< E, Ts...> & lhs,
  const success<> &
)
```

### operator!=

```c++
constexpr bool operator!=(
  const success<> &,
  const result< E, Ts...> & rhs
)
```

### operator!=

```c++
constexpr bool operator!=(
  const result< E, Ts...> & lhs,
  failed
)
```

### operator!=

```c++
constexpr bool operator!=(
  failed,
  const result< E, Ts...> & rhs
)
```

### operator!=

```c++
constexpr bool operator!=(
  const result< E, T > & lhs,
  const result< F, U > & rhs
)
```

### operator!=

```c++
constexpr bool operator!=(
  const result< E, T > & lhs,
  const U & rhs
)
```

### operator!=

```c++
constexpr bool operator!=(
  const T & lhs,
  const result< F, U > & rhs
)
```

### operator\<

```c++
constexpr bool operator<(
  const result< E, T > & lhs,
  const result< F, U > & rhs
)
```

### operator\<

```c++
constexpr bool operator<(
  const result< E, T > & lhs,
  const U & rhs
)
```

### operator\<

```c++
constexpr bool operator<(
  const T & lhs,
  const result< F, U > & rhs
)
```

### operator\<\<

```c++
std::ostream & operator<<(
  std::ostream & out,
  const std::optional< std::string > & str
)
```

### operator\<=

```c++
constexpr bool operator<=(
  const result< E, T > & lhs,
  const result< F, U > & rhs
)
```

### operator\<=

```c++
constexpr bool operator<=(
  const result< E, T > & lhs,
  const U & rhs
)
```

### operator\<=

```c++
constexpr bool operator<=(
  const T & lhs,
  const result< F, U > & rhs
)
```

### operator==

```c++
bool operator==(
  const deferred_action< T > & action,
  decltype(nullptr)
)
```

### operator==

```c++
bool operator==(
  decltype(nullptr),
  const deferred_action< T > & action
)
```

### operator==

```c++
bool operator==(
  const function_impl< inline_target_size, require_inline, FunctionType, Allocator > & f,
  decltype(nullptr)
)
```

### operator==

```c++
bool operator==(
  decltype(nullptr),
  const function_impl< inline_target_size, require_inline, FunctionType, Allocator > & f
)
```

### operator==

```c++
bool operator==(
  const callback_impl< inline_target_size, require_inline, FunctionType, Allocator > & f,
  decltype(nullptr)
)
```

### operator==

```c++
bool operator==(
  decltype(nullptr),
  const callback_impl< inline_target_size, require_inline, FunctionType, Allocator > & f
)
```

### operator==

```c++
constexpr bool operator==(
  const nullable< T > & lhs,
  decltype(nullptr)
)
```

### operator==

```c++
constexpr bool operator==(
  decltype(nullptr),
  const nullable< T > & rhs
)
```

### operator==

```c++
constexpr bool operator==(
  const nullable< T > & lhs,
  const nullable< U > & rhs
)
```

### operator==

```c++
constexpr bool operator==(
  const nullable< T > & lhs,
  const U & rhs
)
```

### operator==

```c++
constexpr bool operator==(
  const T & lhs,
  const nullable< U > & rhs
)
```

### operator==

```c++
constexpr bool operator==(
  const result< E, Ts...> & lhs,
  const success<> &
)
```

### operator==

```c++
constexpr bool operator==(
  const success<> &,
  const result< E, Ts...> & rhs
)
```

### operator==

```c++
constexpr bool operator==(
  const result< E, Ts...> & lhs,
  failed
)
```

### operator==

```c++
constexpr bool operator==(
  failed,
  const result< E, Ts...> & rhs
)
```

### operator==

```c++
constexpr bool operator==(
  const result< E, T > & lhs,
  const result< F, U > & rhs
)
```

### operator==

```c++
constexpr bool operator==(
  const result< E, T > & lhs,
  const U & rhs
)
```

### operator==

```c++
constexpr bool operator==(
  const T & lhs,
  const result< F, U > & rhs
)
```

### operator\>

```c++
constexpr bool operator>(
  const result< E, T > & lhs,
  const result< F, U > & rhs
)
```

### operator\>

```c++
constexpr bool operator>(
  const result< E, T > & lhs,
  const U & rhs
)
```

### operator\>

```c++
constexpr bool operator>(
  const T & lhs,
  const result< F, U > & rhs
)
```

### operator\>=

```c++
constexpr bool operator>=(
  const result< E, T > & lhs,
  const result< F, U > & rhs
)
```

### operator\>=

```c++
constexpr bool operator>=(
  const result< E, T > & lhs,
  const U & rhs
)
```

### operator\>=

```c++
constexpr bool operator>=(
  const T & lhs,
  const result< F, U > & rhs
)
```

### result

```c++
 result(
  typename Tag::__allow_ctad...
) -> result< Tag...>
```

### success

```c++
 success() -> success<>
```

### success

```c++
 success(
  T
) -> success< T >
```

### swap

```c++
void swap(
  function_impl< inline_target_size, require_inline, FunctionType, Allocator > & a,
  function_impl< inline_target_size, require_inline, FunctionType, Allocator > & b
)
```

### swap

```c++
void swap(
  callback_impl< inline_target_size, require_inline, FunctionType, Allocator > & a,
  callback_impl< inline_target_size, require_inline, FunctionType, Allocator > & b
)
```

### swap

```c++
void swap(
  nullable< T > & a,
  nullable< T > & b
)
```

### swap

```c++
constexpr void swap(
  result< E, Ts...> & r,
  result< E, Ts...> & s
)
```