DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::detail::PropertyListBase Class Reference

#include <sycl/detail/property_list_base.hpp>

Inheritance diagram for sycl::_V1::detail::PropertyListBase:
Collaboration diagram for sycl::_V1::detail::PropertyListBase:

Protected Member Functions

 PropertyListBase (std::bitset< DataLessPropKind::DataLessPropKindSize > DataLessProps)
 
 PropertyListBase (std::bitset< DataLessPropKind::DataLessPropKindSize > DataLessProps, std::vector< std::shared_ptr< PropertyWithDataBase >> PropsWithData)
 
void ctorHelper ()
 
template<typename... PropsT, class PropT >
std::enable_if_t< std::is_base_of_v< DataLessPropertyBase, PropT > > ctorHelper (PropT &, PropsT... Props)
 
template<typename... PropsT, class PropT >
std::enable_if_t< std::is_base_of_v< PropertyWithDataBase, PropT > > ctorHelper (PropT &Prop, PropsT... Props)
 
template<typename... PropsT, class PropT >
std::enable_if_t<!std::is_base_of_v< PropertyWithDataBase, PropT > &&!std::is_base_of_v< DataLessPropertyBase, PropT > > ctorHelper (PropT &, PropsT... Props)
 
template<typename PropT >
std::enable_if_t< std::is_base_of_v< DataLessPropertyBase, PropT >, bool > has_property_helper () const noexcept
 
template<typename PropT >
std::enable_if_t< std::is_base_of_v< PropertyWithDataBase, PropT >, bool > has_property_helper () const noexcept
 
template<typename PropT >
std::enable_if_t< std::is_base_of_v< DataLessPropertyBase, PropT >, PropT > get_property_helper () const
 
template<typename PropT >
std::enable_if_t< std::is_base_of_v< PropertyWithDataBase, PropT >, PropT > get_property_helper () const
 
void add_or_replace_accessor_properties_helper (const std::vector< std::shared_ptr< PropertyWithDataBase >> &PropsWithData)
 
void delete_accessor_property_helper (const PropWithDataKind &Kind)
 

Protected Attributes

std::bitset< DataLessPropKind::DataLessPropKindSize > MDataLessProps
 
std::vector< std::shared_ptr< PropertyWithDataBase > > MPropsWithData
 

Detailed Description

Definition at line 25 of file property_list_base.hpp.

Constructor & Destructor Documentation

◆ PropertyListBase() [1/2]

sycl::_V1::detail::PropertyListBase::PropertyListBase ( std::bitset< DataLessPropKind::DataLessPropKindSize >  DataLessProps)
inlineexplicitprotected

Definition at line 27 of file property_list_base.hpp.

◆ PropertyListBase() [2/2]

sycl::_V1::detail::PropertyListBase::PropertyListBase ( std::bitset< DataLessPropKind::DataLessPropKindSize >  DataLessProps,
std::vector< std::shared_ptr< PropertyWithDataBase >>  PropsWithData 
)
inlineprotected

Definition at line 30 of file property_list_base.hpp.

Member Function Documentation

◆ add_or_replace_accessor_properties_helper()

void sycl::_V1::detail::PropertyListBase::add_or_replace_accessor_properties_helper ( const std::vector< std::shared_ptr< PropertyWithDataBase >> &  PropsWithData)
inlineprotected

◆ ctorHelper() [1/4]

void sycl::_V1::detail::PropertyListBase::ctorHelper ( )
inlineprotected

Definition at line 35 of file property_list_base.hpp.

Referenced by ctorHelper(), and sycl::_V1::property_list::property_list().

◆ ctorHelper() [2/4]

template<typename... PropsT, class PropT >
std::enable_if_t<std::is_base_of_v<DataLessPropertyBase, PropT> > sycl::_V1::detail::PropertyListBase::ctorHelper ( PropT &  ,
PropsT...  Props 
)
inlineprotected

Definition at line 39 of file property_list_base.hpp.

References ctorHelper(), and MDataLessProps.

◆ ctorHelper() [3/4]

template<typename... PropsT, class PropT >
std::enable_if_t<!std::is_base_of_v<PropertyWithDataBase, PropT> && !std::is_base_of_v<DataLessPropertyBase, PropT> > sycl::_V1::detail::PropertyListBase::ctorHelper ( PropT &  ,
PropsT...  Props 
)
inlineprotected

Definition at line 56 of file property_list_base.hpp.

References ctorHelper().

◆ ctorHelper() [4/4]

template<typename... PropsT, class PropT >
std::enable_if_t<std::is_base_of_v<PropertyWithDataBase, PropT> > sycl::_V1::detail::PropertyListBase::ctorHelper ( PropT &  Prop,
PropsT...  Props 
)
inlineprotected

Definition at line 47 of file property_list_base.hpp.

References ctorHelper(), and MPropsWithData.

◆ delete_accessor_property_helper()

void sycl::_V1::detail::PropertyListBase::delete_accessor_property_helper ( const PropWithDataKind Kind)
inlineprotected

◆ get_property_helper() [1/2]

template<typename PropT >
std::enable_if_t<std::is_base_of_v<DataLessPropertyBase, PropT>, PropT> sycl::_V1::detail::PropertyListBase::get_property_helper ( ) const
inlineprotected

Definition at line 84 of file property_list_base.hpp.

◆ get_property_helper() [2/2]

template<typename PropT >
std::enable_if_t<std::is_base_of_v<PropertyWithDataBase, PropT>, PropT> sycl::_V1::detail::PropertyListBase::get_property_helper ( ) const
inlineprotected

◆ has_property_helper() [1/2]

template<typename PropT >
std::enable_if_t<std::is_base_of_v<DataLessPropertyBase, PropT>, bool> sycl::_V1::detail::PropertyListBase::has_property_helper ( ) const
inlineprotectednoexcept

◆ has_property_helper() [2/2]

template<typename PropT >
std::enable_if_t<std::is_base_of_v<PropertyWithDataBase, PropT>, bool> sycl::_V1::detail::PropertyListBase::has_property_helper ( ) const
inlineprotectednoexcept

Definition at line 73 of file property_list_base.hpp.

References MPropsWithData.

Member Data Documentation

◆ MDataLessProps

std::bitset<DataLessPropKind::DataLessPropKindSize> sycl::_V1::detail::PropertyListBase::MDataLessProps
protected

Definition at line 131 of file property_list_base.hpp.

Referenced by ctorHelper(), and has_property_helper().

◆ MPropsWithData


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