template <typename T, int (*CloseFunction)(T), T InvalidValue, bool CheckClose = true, class Checker = internal::DefaultValidityChecker<T, InvalidValue>>

class ScopedResource

Defined at line 54 of file ../../third_party/perfetto/include/perfetto/ext/base/scoped_file.h

RAII classes for auto-releasing fds and dirs.

if T is a pointer type, InvalidValue must be nullptr. Doing otherwise

causes weird unexpected behaviors (See https://godbolt.org/z/5nGMW4).

Public Members

static const T kInvalid

Public Methods

void ScopedResource<T, CloseFunction, InvalidValue, CheckClose, Checker> (T t)

Defined at line 59 of file ../../third_party/perfetto/include/perfetto/ext/base/scoped_file.h

void ScopedResource<T, CloseFunction, InvalidValue, CheckClose, Checker> (ScopedResource<T, CloseFunction, InvalidValue, CheckClose, Checker> && other)

Defined at line 60 of file ../../third_party/perfetto/include/perfetto/ext/base/scoped_file.h

ScopedResource<T, CloseFunction, InvalidValue, CheckClose, Checker> & operator= (ScopedResource<T, CloseFunction, InvalidValue, CheckClose, Checker> && other)

Defined at line 63 of file ../../third_party/perfetto/include/perfetto/ext/base/scoped_file.h

T get ()

Defined at line 68 of file ../../third_party/perfetto/include/perfetto/ext/base/scoped_file.h

T operator* ()

Defined at line 69 of file ../../third_party/perfetto/include/perfetto/ext/base/scoped_file.h

bool operator bool ()

Defined at line 70 of file ../../third_party/perfetto/include/perfetto/ext/base/scoped_file.h

void reset (T r)

Defined at line 71 of file ../../third_party/perfetto/include/perfetto/ext/base/scoped_file.h

T release ()

Defined at line 79 of file ../../third_party/perfetto/include/perfetto/ext/base/scoped_file.h

void ~ScopedResource<T, CloseFunction, InvalidValue, CheckClose, Checker> ()

Defined at line 84 of file ../../third_party/perfetto/include/perfetto/ext/base/scoped_file.h