platform_system_core/libutils/include/utils
Jiyong Park 705abe2d30 OR_RETURN supports status_t
This change provide a specialization of android::base::OkOrFail for
status_t. As a result, a statement whose type is status_t can be used
with OR_RETURN.

The specialization also provides conversion operators to Result<T,
StatusT> where StatusT is a wrapper type for status_t. This allows
OR_RETURN macro to be used in newer functions that returns Result<T,
StatusT>.

Example usage:

\#include <utils/ErrorsMacros.h>

status_t legacy_inner();

status_t legacy_outer() {
  OR_RETURN(legacy_inner());
  return OK;
}

Result<T, StatusT> new_outer() {
  OR_RETURN(legacy_inner()); // the same macro
  return T{...};
}

Bug: 209929099
Test: atest libutils_test
Change-Id: I0def0e84ce3f0c4ff6d508c202bd51902dfc9618
2022-01-12 09:20:27 +09:00
..
AndroidThreads.h Revert "Add choice for changing sched policy when setting thread priority" 2020-09-27 11:21:11 +08:00
Atomic.h Usage suggestions. 2017-12-19 01:16:00 +00:00
BitSet.h Soften BitSet class comment. 2020-07-16 00:04:20 +00:00
ByteOrder.h Remove unused big-endian cruft. 2019-09-18 08:02:10 -07:00
CallStack.h CallStack: include prefix/tag when unlinked 2019-01-03 10:17:07 -08:00
Compat.h Fix mac build. 2020-05-08 15:30:21 -07:00
Condition.h [libutils] Modernize codebase by replacing NULL with nullptr 2018-07-16 18:11:34 -07:00
Debug.h Deprecate <utils/Debug.h>. 2020-08-17 10:07:29 -07:00
Endian.h
Errors.h Add statusToString function. 2019-11-18 17:38:22 +00:00
ErrorsMacros.h OR_RETURN supports status_t 2022-01-12 09:20:27 +09:00
FastStrcmp.h logd: ASAN cleansing 2017-03-27 13:32:57 -07:00
FileMap.h Add noexcept to move constructors and assignment operators. 2018-10-05 16:43:47 +00:00
Flattenable.h Don't #include <utils/Debug.h> from <utils/Flattenable.h>. 2020-08-17 10:14:16 -07:00
Functor.h Move system/core/ off NO_ERROR. 2018-10-08 11:15:52 -07:00
JenkinsHash.h
KeyedVector.h Fix implicit cast from ssize_t to size_t in KeyedVector.h 2021-05-21 16:45:46 +00:00
LightRefBase.h libutils: LightRefBase: incStrongRequireStrong 2021-05-04 21:42:26 +00:00
List.h Remove more semicolons at the end of namespaces 2018-04-11 23:14:13 -07:00
Log.h Remove ALOGD_IF_SLOW 2017-07-14 19:51:57 +00:00
Looper.h Looper: Use sequence numbers in epoll_event to track requests 2021-09-01 14:52:52 +00:00
LruCache.h [libutils] Modernize codebase by replacing NULL with nullptr 2018-07-16 18:11:34 -07:00
misc.h Remove extra semicolon at end of namespace 2018-04-10 22:10:54 +00:00
Mutex.h libutils: Fix thread safety annotations in Mutex 2019-03-29 12:21:57 -07:00
NativeHandle.h clean-up libutils includes 2017-03-03 14:47:47 -08:00
Printer.h [libutils] Modernize codebase by replacing NULL with nullptr 2018-07-16 18:11:34 -07:00
ProcessCallStack.h [libutils] Modernize codebase by replacing NULL with nullptr 2018-07-16 18:11:34 -07:00
RefBase.h libutils: group deprecated RefBase functions 2021-04-12 23:56:07 +00:00
RWLock.h Modernize codebase by replacing NULL with nullptr 2018-07-13 15:28:59 -07:00
Singleton.h Modernize codebase by replacing NULL with nullptr 2018-07-13 15:28:59 -07:00
SortedVector.h Remove more semicolons at the end of namespaces 2018-04-11 23:14:13 -07:00
StopWatch.h libutils: remove the unused StopWatch lap functionality. 2021-05-11 16:33:47 -07:00
String8.h Revert "Revert "Remove unused String8::setPathName."" 2021-07-19 20:19:44 +00:00
String16.h libutil: no special copy from StaticString16 2021-06-30 09:04:29 +09:00
StrongPointer.h libutils: group deprecated RefBase functions 2021-04-12 23:56:07 +00:00
SystemClock.h Add docs to SystemClock.h 2021-02-23 12:14:57 -08:00
Thread.h Suppress lint warnings on google-default-arguments 2018-10-29 23:06:23 +09:00
ThreadDefs.h Remove more semicolons at the end of namespaces 2018-04-11 23:14:13 -07:00
threads.h
Timers.h Make systemTime() abort on bad input. 2020-05-27 15:31:55 -07:00
Tokenizer.h Move system/core/ off NO_ERROR. 2018-10-08 11:15:52 -07:00
Trace.h Trace.h: explicitly use global namespace 2019-11-05 17:59:46 -08:00
TypeHelpers.h Remove extra semicolon at end of namespace 2018-04-10 22:10:54 +00:00
Unicode.h Remove move dead code. 2021-04-15 15:18:54 -07:00
Vector.h Update language to comply with Android's inclusive language guidance 2020-07-28 15:58:25 -07:00
VectorImpl.h Modernize codebase by replacing NULL with nullptr 2018-07-13 15:28:59 -07:00