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

#include <CL/sycl/detail/property_list_base.hpp>

Inheritance diagram for cl::sycl::detail::PropertyListBase:
Collaboration diagram for cl::sycl::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 >
detail::enable_if_t< std::is_base_of< DataLessPropertyBase, PropT >::value > ctorHelper (PropT &, PropsT... Props)
 
template<typename... PropsT, class PropT >
detail::enable_if_t< std::is_base_of< PropertyWithDataBase, PropT >::value > ctorHelper (PropT &Prop, PropsT... Props)
 
template<typename... PropsT, class PropT >
detail::enable_if_t< !std::is_base_of< PropertyWithDataBase, PropT >::value &&!std::is_base_of< DataLessPropertyBase, PropT >::value > ctorHelper (PropT &, PropsT... Props)
 
template<typename PropT >
detail::enable_if_t< std::is_base_of< DataLessPropertyBase, PropT >::value, bool > has_property_helper () const
 
template<typename PropT >
detail::enable_if_t< std::is_base_of< PropertyWithDataBase, PropT >::value, bool > has_property_helper () const
 
template<typename PropT >
detail::enable_if_t< std::is_base_of< DataLessPropertyBase, PropT >::value, PropT > get_property_helper () const
 
template<typename PropT >
detail::enable_if_t< std::is_base_of< PropertyWithDataBase, PropT >::value, 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 22 of file property_list_base.hpp.

Constructor & Destructor Documentation

◆ PropertyListBase() [1/2]

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

Definition at line 24 of file property_list_base.hpp.

◆ PropertyListBase() [2/2]

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

Definition at line 27 of file property_list_base.hpp.

Member Function Documentation

◆ add_or_replace_accessor_properties_helper()

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

Definition at line 106 of file property_list_base.hpp.

References cl::sycl::detail::AccPropBufferLocation.

◆ ctorHelper() [1/4]

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

Definition at line 32 of file property_list_base.hpp.

◆ ctorHelper() [2/4]

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

Definition at line 37 of file property_list_base.hpp.

◆ ctorHelper() [3/4]

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

Definition at line 56 of file property_list_base.hpp.

◆ ctorHelper() [4/4]

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

Definition at line 46 of file property_list_base.hpp.

◆ delete_accessor_property_helper()

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

Definition at line 118 of file property_list_base.hpp.

◆ get_property_helper() [1/2]

template<typename PropT >
detail::enable_if_t< std::is_base_of<DataLessPropertyBase, PropT>::value, PropT> cl::sycl::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 >
detail::enable_if_t< std::is_base_of<PropertyWithDataBase, PropT>::value, PropT> cl::sycl::detail::PropertyListBase::get_property_helper ( ) const
inlineprotected

◆ has_property_helper() [1/2]

template<typename PropT >
detail::enable_if_t< std::is_base_of<DataLessPropertyBase, PropT>::value, bool> cl::sycl::detail::PropertyListBase::has_property_helper ( ) const
inlineprotected

◆ has_property_helper() [2/2]

template<typename PropT >
detail::enable_if_t< std::is_base_of<PropertyWithDataBase, PropT>::value, bool> cl::sycl::detail::PropertyListBase::has_property_helper ( ) const
inlineprotected

Definition at line 73 of file property_list_base.hpp.

Member Data Documentation

◆ MDataLessProps

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

Definition at line 131 of file property_list_base.hpp.

◆ MPropsWithData

std::vector<std::shared_ptr<PropertyWithDataBase> > cl::sycl::detail::PropertyListBase::MPropsWithData
protected

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