Compute Library
 22.05
acl::detail Namespace Reference

Data Structures

class  ObjectBase
 Object base class for library objects. More...
 
struct  ObjectDeleter
 Construct to handle destruction of objects. More...
 
struct  ObjectDeleter< AclContext >
 
struct  ObjectDeleter< AclOperator >
 
struct  ObjectDeleter< AclQueue >
 
struct  ObjectDeleter< AclTensor >
 
struct  ObjectDeleter< AclTensorPack >
 

Functions

template<typename E , typename SE >
constexpr E as_cenum (SE v) noexcept
 Convert a strongly typed enum to an old plain c enum. More...
 
template<typename SE , typename E >
constexpr SE as_enum (E val) noexcept
 Convert plain old enumeration to a strongly typed enum. More...
 
template<typename T >
bool operator== (const ObjectBase< T > &lhs, const ObjectBase< T > &rhs)
 Equality operator for library object. More...
 
template<typename T >
bool operator!= (const ObjectBase< T > &lhs, const ObjectBase< T > &rhs)
 Inequality operator for library object. More...
 

Function Documentation

◆ as_cenum()

constexpr E acl::detail::as_cenum ( SE  v)
noexcept

Convert a strongly typed enum to an old plain c enum.

Template Parameters
EPlain old C enum
SEStrongly typed resulting enum
Parameters
[in]vValue to convert
Returns
A corresponding plain old C enumeration

Definition at line 104 of file Acl.hpp.

References type.

105 {
106  return static_cast<E>(static_cast<typename std::underlying_type<SE>::type>(v));
107 }
decltype(strategy::transforms) typedef type

◆ as_enum()

constexpr SE acl::detail::as_enum ( val)
noexcept

Convert plain old enumeration to a strongly typed enum.

Template Parameters
SEStrongly typed resulting enum
EPlain old C enum
Parameters
[in]valValue to convert
Returns
A corresponding strongly typed enumeration

Definition at line 119 of file Acl.hpp.

120 {
121  return static_cast<SE>(val);
122 }

◆ operator!=()

bool acl::detail::operator!= ( const ObjectBase< T > &  lhs,
const ObjectBase< T > &  rhs 
)

Inequality operator for library object.

Template Parameters
TParameter to template on
Parameters
[in]lhsLeft hand-side argument
[in]rhsRight hand-side argument
Returns
True if objects are equal, else false

Definition at line 202 of file Acl.hpp.

References ARM_COMPUTE_IGNORE_UNUSED, and acl::Success.

203 {
204  return !(lhs == rhs);
205 }

◆ operator==()

bool acl::detail::operator== ( const ObjectBase< T > &  lhs,
const ObjectBase< T > &  rhs 
)

Equality operator for library object.

Template Parameters
TParameter to template on
Parameters
[in]lhsLeft hand-side argument
[in]rhsRight hand-side argument
Returns
True if objects are equal, else false

Definition at line 187 of file Acl.hpp.

References ObjectBase< T >::get().

188 {
189  return lhs.get() == rhs.get();
190 }