iceoryx2
C++ Language Bindings
Loading...
Searching...
No Matches
service_builder_internal.hpp File Reference
#include "iox2/bb/slice.hpp"
#include "iox2/bb/static_string.hpp"
#include "iox2/bb/static_vector.hpp"
#include "iox2/payload_info.hpp"
#include "iox2/type_name.hpp"
#include <cstdio>
#include <typeinfo>

Go to the source code of this file.

Classes

struct  iox2::internal::HasPayloadTypeNameMember< Payload, typename >
 
struct  iox2::internal::HasPayloadTypeNameMember< Payload, decltype((void) Payload::IOX2_TYPE_NAME)>
 
struct  iox2::internal::HasPayloadTypeNameSpecialization< Payload, typename >
 
struct  iox2::internal::HasPayloadTypeNameSpecialization< Payload, decltype((void) TypeNameSpecialization< Payload >::value())>
 

Namespaces

namespace  iox2
 
namespace  iox2::internal
 

Typedefs

template<typename Payload >
using iox2::internal::FromPayloadTypeNameSpecialization = std::enable_if_t< HasPayloadTypeNameSpecialization< Payload >::value, TypeName >
 
template<typename Payload >
using iox2::internal::FromPayloadTypeNameMember = std::enable_if_t<!HasPayloadTypeNameSpecialization< Payload >::value &&HasPayloadTypeNameMember< Payload >::value, TypeName >
 
template<typename Payload >
using iox2::internal::FromNonSlice = std::enable_if_t<!HasPayloadTypeNameSpecialization< Payload >::value &&!HasPayloadTypeNameMember< Payload >::value &&!bb::IsSlice< Payload >::VALUE &&!iox2::bb::IsStaticVector< Payload >::value &&!iox2::bb::IsStaticString< Payload >::value, TypeName >
 
template<typename Payload >
using iox2::internal::FromStaticVector = std::enable_if_t<!HasPayloadTypeNameSpecialization< Payload >::value &&iox2::bb::IsStaticVector< Payload >::value, TypeName >
 
template<typename Payload >
using iox2::internal::FromStaticString = std::enable_if_t<!HasPayloadTypeNameSpecialization< Payload >::value &&iox2::bb::IsStaticString< Payload >::value, TypeName >
 
template<typename Payload >
using iox2::internal::FromSliceWithInnerPayloadTypeNameMember = std::enable_if_t<!HasPayloadTypeNameSpecialization< Payload >::value &&!HasPayloadTypeNameMember< Payload >::value &&bb::IsSlice< Payload >::VALUE &&HasPayloadTypeNameMember< typename Payload::ValueType >::value, TypeName >
 
template<typename Payload >
using iox2::internal::FromSliceWithoutInnerPayloadTypeNameMember = std::enable_if_t<!HasPayloadTypeNameSpecialization< Payload >::value &&!HasPayloadTypeNameMember< Payload >::value &&bb::IsSlice< Payload >::VALUE &&!HasPayloadTypeNameMember< typename Payload::ValueType >::value, TypeName >
 

Functions

template<typename >
auto iox2::internal::get_type_name () -> TypeName
 
template<typename PayloadType >
auto iox2::internal::get_type_name_impl () -> internal::FromPayloadTypeNameSpecialization< PayloadType >