mpl Namespace Reference

mpl Namespace Reference#

Rocprofiler SDK Developer API: rocprofiler::sdk::mpl Namespace Reference
Rocprofiler SDK Developer API 0.4.0
ROCm Profiling API and tools
rocprofiler::sdk::mpl Namespace Reference

Namespaces

namespace  impl
 

Data Structures

struct  can_stringify
 
struct  has_empty_member_function
 
struct  is_iterable
 
struct  is_same_unqualified_identity
 
struct  is_string_type
 
struct  string_support
 
struct  string_support< const char * >
 
struct  unqualified_identity
 

Typedefs

template<typename Tp >
using unqualified_identity_t = typename unqualified_identity< Tp >::type
 
template<typename Tp >
using supports_ostream = can_stringify< Tp >
 

Functions

template<typename Tp , typename = typename Tp:: traits_type>
constexpr bool has_traits (int)
 
template<typename Tp >
constexpr bool has_traits (long)
 
template<typename Tp , typename = typename Tp:: value_type>
constexpr bool has_value_type (int)
 
template<typename Tp >
constexpr bool has_value_type (long)
 
template<typename Tp , typename = typename Tp:: key_type>
constexpr bool has_key_type (int)
 
template<typename Tp >
constexpr bool has_key_type (long)
 
template<typename Tp , typename = typename Tp:: mapped_type>
constexpr bool has_mapped_type (int)
 
template<typename Tp >
constexpr bool has_mapped_type (long)
 
template<typename ArgT >
bool is_empty (ArgT &&_v)
 
template<typename ContainerT , typename... Args>
auto emplace (ContainerT &_c, Args &&... _args)
 
template<typename ContainerT , typename ArgT >
auto reserve (ContainerT &_c, ArgT _arg)
 

Data Structure Documentation

◆ rocprofiler::sdk::mpl::unqualified_identity

struct rocprofiler::sdk::mpl::unqualified_identity
template<typename Tp>
struct rocprofiler::sdk::mpl::unqualified_identity< Tp >

Definition at line 68 of file mpl.hpp.

+ Collaboration diagram for rocprofiler::sdk::mpl::unqualified_identity< Tp >:
Data Fields
typedef remove_cv_t< remove_reference_t< decay_t< Tp > > > type

Typedef Documentation

◆ supports_ostream

template<typename Tp >
using rocprofiler::sdk::mpl::supports_ostream = typedef can_stringify<Tp>

Definition at line 184 of file mpl.hpp.

◆ unqualified_identity_t

template<typename Tp >
using rocprofiler::sdk::mpl::unqualified_identity_t = typedef typename unqualified_identity<Tp>::type

Definition at line 74 of file mpl.hpp.

Function Documentation

◆ emplace()

template<typename ContainerT , typename... Args>
auto rocprofiler::sdk::mpl::emplace ( ContainerT &  _c,
Args &&...  _args 
)
inline

Definition at line 241 of file mpl.hpp.

242{
243 return impl::emplace(_c, 0, std::forward<Args>(_args)...);
244}

References rocprofiler::sdk::mpl::impl::emplace().

+ Here is the call graph for this function:

◆ has_key_type() [1/2]

template<typename Tp , typename = typename Tp:: key_type>
constexpr bool rocprofiler::sdk::mpl::has_key_type ( int  )
inlineconstexpr

Definition at line 173 of file mpl.hpp.

◆ has_key_type() [2/2]

template<typename Tp >
constexpr bool rocprofiler::sdk::mpl::has_key_type ( long  )
inlineconstexpr

Definition at line 173 of file mpl.hpp.

◆ has_mapped_type() [1/2]

template<typename Tp , typename = typename Tp:: mapped_type>
constexpr bool rocprofiler::sdk::mpl::has_mapped_type ( int  )
inlineconstexpr

Definition at line 174 of file mpl.hpp.

◆ has_mapped_type() [2/2]

template<typename Tp >
constexpr bool rocprofiler::sdk::mpl::has_mapped_type ( long  )
inlineconstexpr

Definition at line 174 of file mpl.hpp.

◆ has_traits() [1/2]

template<typename Tp , typename = typename Tp:: traits_type>
constexpr bool rocprofiler::sdk::mpl::has_traits ( int  )
inlineconstexpr

Definition at line 171 of file mpl.hpp.

◆ has_traits() [2/2]

template<typename Tp >
constexpr bool rocprofiler::sdk::mpl::has_traits ( long  )
inlineconstexpr

Definition at line 171 of file mpl.hpp.

◆ has_value_type() [1/2]

template<typename Tp , typename = typename Tp:: value_type>
constexpr bool rocprofiler::sdk::mpl::has_value_type ( int  )
inlineconstexpr

Definition at line 172 of file mpl.hpp.

◆ has_value_type() [2/2]

template<typename Tp >
constexpr bool rocprofiler::sdk::mpl::has_value_type ( long  )
inlineconstexpr

Definition at line 172 of file mpl.hpp.

◆ is_empty()

template<typename ArgT >
bool rocprofiler::sdk::mpl::is_empty ( ArgT &&  _v)
inline

Definition at line 188 of file mpl.hpp.

189{
190 using arg_type = unqualified_identity_t<ArgT>;
191
193 {
194 return std::forward<ArgT>(_v).empty();
195 }
196 else if constexpr(is_string_type<arg_type>::value)
197 {
198 static_assert(std::is_constructible<std::string_view, ArgT>::value,
199 "not string_view constructible");
200 return std::string_view{std::forward<ArgT>(_v)}.empty();
201 }
202
203 return false;
204}
typename unqualified_identity< Tp >::type unqualified_identity_t
Definition mpl.hpp:74

Referenced by rocprofiler::sdk::join::join().

+ Here is the caller graph for this function:

◆ reserve()

template<typename ContainerT , typename ArgT >
auto rocprofiler::sdk::mpl::reserve ( ContainerT &  _c,
ArgT  _arg 
)
inline

Definition at line 248 of file mpl.hpp.

249{
250 return impl::reserve(_c, 0, _arg);
251}

References rocprofiler::sdk::mpl::impl::reserve().

+ Here is the call graph for this function: