Android-cuttlefish cvd tool
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
android::base::unique_fd_impl< Closer > Class Template Referencefinal

#include <unique_fd.h>

Public Member Functions

 unique_fd_impl ()
 
 unique_fd_impl (int fd)
 
 ~unique_fd_impl ()
 
 unique_fd_impl (const unique_fd_impl &)=delete
 
void operator= (const unique_fd_impl &)=delete
 
 unique_fd_impl (unique_fd_impl &&other) noexcept
 
unique_fd_imploperator= (unique_fd_impl &&s) noexcept
 
void reset (int new_value=-1)
 
int get () const
 
 operator int () const
 
bool operator>= (int rhs) const
 
bool operator< (int rhs) const
 
bool operator== (int rhs) const
 
bool operator!= (int rhs) const
 
bool operator== (const unique_fd_impl &rhs) const
 
bool operator!= (const unique_fd_impl &rhs) const
 
bool operator! () const =delete
 
bool ok () const
 
int release () __attribute__((warn_unused_result))
 

Private Member Functions

void reset (int new_value, void *previous_tag)
 

Static Private Member Functions

template<typename T = Closer>
static auto tag (int fd, void *old_tag, void *new_tag) -> decltype(T::Tag(fd, old_tag, new_tag), void())
 
template<typename T = Closer>
static void tag (long, void *, void *)
 
template<typename T = Closer>
static auto close (int fd, void *tag_value) -> decltype(T::Close(fd, tag_value), void())
 
template<typename T = Closer>
static auto close (int fd, void *) -> decltype(T::Close(fd), void())
 

Private Attributes

int fd_ = -1
 

Constructor & Destructor Documentation

◆ unique_fd_impl() [1/4]

template<typename Closer >
android::base::unique_fd_impl< Closer >::unique_fd_impl ( )
inline

◆ unique_fd_impl() [2/4]

template<typename Closer >
android::base::unique_fd_impl< Closer >::unique_fd_impl ( int  fd)
inlineexplicit

◆ ~unique_fd_impl()

template<typename Closer >
android::base::unique_fd_impl< Closer >::~unique_fd_impl ( )
inline

◆ unique_fd_impl() [3/4]

template<typename Closer >
android::base::unique_fd_impl< Closer >::unique_fd_impl ( const unique_fd_impl< Closer > &  )
delete

◆ unique_fd_impl() [4/4]

template<typename Closer >
android::base::unique_fd_impl< Closer >::unique_fd_impl ( unique_fd_impl< Closer > &&  other)
inlinenoexcept

Member Function Documentation

◆ close() [1/2]

template<typename Closer >
template<typename T = Closer>
static auto android::base::unique_fd_impl< Closer >::close ( int  fd,
void *   
) -> decltype(T::Close(fd), void())
inlinestaticprivate

◆ close() [2/2]

template<typename Closer >
template<typename T = Closer>
static auto android::base::unique_fd_impl< Closer >::close ( int  fd,
void *  tag_value 
) -> decltype(T::Close(fd, tag_value), void())
inlinestaticprivate

◆ get()

template<typename Closer >
int android::base::unique_fd_impl< Closer >::get ( ) const
inline

◆ ok()

template<typename Closer >
bool android::base::unique_fd_impl< Closer >::ok ( ) const
inline

◆ operator int()

template<typename Closer >
android::base::unique_fd_impl< Closer >::operator int ( ) const
inline

◆ operator!()

template<typename Closer >
bool android::base::unique_fd_impl< Closer >::operator! ( ) const
delete

◆ operator!=() [1/2]

template<typename Closer >
bool android::base::unique_fd_impl< Closer >::operator!= ( const unique_fd_impl< Closer > &  rhs) const
inline

◆ operator!=() [2/2]

template<typename Closer >
bool android::base::unique_fd_impl< Closer >::operator!= ( int  rhs) const
inline

◆ operator<()

template<typename Closer >
bool android::base::unique_fd_impl< Closer >::operator< ( int  rhs) const
inline

◆ operator=() [1/2]

template<typename Closer >
void android::base::unique_fd_impl< Closer >::operator= ( const unique_fd_impl< Closer > &  )
delete

◆ operator=() [2/2]

template<typename Closer >
unique_fd_impl & android::base::unique_fd_impl< Closer >::operator= ( unique_fd_impl< Closer > &&  s)
inlinenoexcept

◆ operator==() [1/2]

template<typename Closer >
bool android::base::unique_fd_impl< Closer >::operator== ( const unique_fd_impl< Closer > &  rhs) const
inline

◆ operator==() [2/2]

template<typename Closer >
bool android::base::unique_fd_impl< Closer >::operator== ( int  rhs) const
inline

◆ operator>=()

template<typename Closer >
bool android::base::unique_fd_impl< Closer >::operator>= ( int  rhs) const
inline

◆ release()

template<typename Closer >
int android::base::unique_fd_impl< Closer >::release ( )
inline

◆ reset() [1/2]

template<typename Closer >
void android::base::unique_fd_impl< Closer >::reset ( int  new_value,
void *  previous_tag 
)
inlineprivate

◆ reset() [2/2]

template<typename Closer >
void android::base::unique_fd_impl< Closer >::reset ( int  new_value = -1)
inline

◆ tag() [1/2]

template<typename Closer >
template<typename T = Closer>
static auto android::base::unique_fd_impl< Closer >::tag ( int  fd,
void *  old_tag,
void *  new_tag 
) -> decltype(T::Tag(fd, old_tag, new_tag), void())
inlinestaticprivate

◆ tag() [2/2]

template<typename Closer >
template<typename T = Closer>
static void android::base::unique_fd_impl< Closer >::tag ( long  ,
void *  ,
void *   
)
inlinestaticprivate

Member Data Documentation

◆ fd_

template<typename Closer >
int android::base::unique_fd_impl< Closer >::fd_ = -1
private

The documentation for this class was generated from the following file: