ewmscp  ..
Public Types | Public Member Functions | Private Attributes | List of all members
enumAsBitmask< T > Class Template Reference

#include <enumAsBitmask.h>

Public Types

typedef T enumType
 

Public Member Functions

 enumAsBitmask ()
 
 enumAsBitmask (const T &aBits)
 
std::underlying_type< T >::type asBits () const
 
enumAsBitmask operator& (const T &aBits) const
 
enumAsBitmask operator| (const enumAsBitmask &rhs)
 
enumAsBitmask operator|= (const T &aBits)
 
void clear (const T aBits)
 
void set (const T aBits)
 
 operator bool () const
 

Private Attributes

std::underlying_type< T >::type bits
 

Detailed Description

template<typename T>
class enumAsBitmask< T >

Definition at line 5 of file enumAsBitmask.h.

Member Typedef Documentation

◆ enumType

template<typename T >
typedef T enumAsBitmask< T >::enumType

Definition at line 8 of file enumAsBitmask.h.

Constructor & Destructor Documentation

◆ enumAsBitmask() [1/2]

template<typename T >
enumAsBitmask< T >::enumAsBitmask ( )
inline

Definition at line 9 of file enumAsBitmask.h.

9  :
10  bits(0) {
11  }

◆ enumAsBitmask() [2/2]

template<typename T >
enumAsBitmask< T >::enumAsBitmask ( const T &  aBits)
inline

Definition at line 12 of file enumAsBitmask.h.

12  :
13  bits(static_cast<decltype(bits)>(aBits)) {
14  }

Member Function Documentation

◆ asBits()

template<typename T >
std::underlying_type<T>::type enumAsBitmask< T >::asBits ( ) const
inline

Definition at line 15 of file enumAsBitmask.h.

15  {
16  return bits;
17  }

Referenced by acl::list::entryType::getFlagBits(), and acl::list::entryType::getMaskBits().

Here is the caller graph for this function:

◆ clear()

template<typename T >
void enumAsBitmask< T >::clear ( const T  aBits)
inline

Definition at line 31 of file enumAsBitmask.h.

31  {
32  this->bits &= ~static_cast<decltype(bits)>(aBits);
33  }

Referenced by copyRequest::base::retry(), copyRequest::fileInWork::typeChanger::typeChanger(), outputHandler::daosFs::writerDaosFs::writerDaosFs(), outputHandler::davix::writerDavix::writerDavix(), outputHandler::dcap::writerDcap::writerDcap(), outputHandler::libssh::writerLibssh::writerLibssh(), and outputHandler::posixFile::writerPosixFile::writerPosixFile().

Here is the caller graph for this function:

◆ operator bool()

template<typename T >
enumAsBitmask< T >::operator bool ( ) const
inline

Definition at line 37 of file enumAsBitmask.h.

37  {
38  return this->bits != 0;
39  }

◆ operator&()

template<typename T >
enumAsBitmask enumAsBitmask< T >::operator& ( const T &  aBits) const
inline

Definition at line 18 of file enumAsBitmask.h.

18  {
19  enumAsBitmask state;
20  state.bits = this->bits & static_cast<decltype(bits)>(aBits);
21  return state;
22  }

◆ operator|()

template<typename T >
enumAsBitmask enumAsBitmask< T >::operator| ( const enumAsBitmask< T > &  rhs)
inline

Definition at line 23 of file enumAsBitmask.h.

23  {
24  bits |= rhs.bits;
25  return *this;
26  }

◆ operator|=()

template<typename T >
enumAsBitmask enumAsBitmask< T >::operator|= ( const T &  aBits)
inline

Definition at line 27 of file enumAsBitmask.h.

27  {
28  this->bits |= static_cast<decltype(bits)>(aBits);
29  return *this;
30  }

◆ set()

template<typename T >
void enumAsBitmask< T >::set ( const T  aBits)
inline

Definition at line 34 of file enumAsBitmask.h.

34  {
35  this->bits |= static_cast<decltype(bits)>(aBits);
36  }

Referenced by copyRequest::fileInWork::typeChanger::typeChanger().

Here is the caller graph for this function:

Member Data Documentation

◆ bits

template<typename T >
std::underlying_type<T>::type enumAsBitmask< T >::bits
private

The documentation for this class was generated from the following file:
enumAsBitmask::bits
std::underlying_type< T >::type bits
Definition: enumAsBitmask.h:6
enumAsBitmask
Definition: enumAsBitmask.h:5