/******************************************************************************** * Copyright (C) 2019 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH * * * * This software is distributed under the terms of the * * GNU Lesser General Public Licence (LGPL) version 3, * * copied verbatim in the file "LICENSE" * ********************************************************************************/ #ifndef FAIR_MQ_SDK_TRAITS_H #define FAIR_MQ_SDK_TRAITS_H #include #include #include namespace asio { namespace detail { /// Specialize to match our coding conventions template struct associated_executor_impl::value>> { using type = typename T::ExecutorType; static auto get(const T& obj, const Executor& /*ex = Executor()*/) noexcept -> type { return obj.GetExecutor(); } }; /// Specialize to match our coding conventions template struct associated_allocator_impl> { using type = typename T::AllocatorType; static auto get(const T& obj, const Allocator& /*alloc = Allocator()*/) noexcept -> type { return obj.GetAllocator(); } }; } /* namespace detail */ } /* namespace asio */ #endif /* FAIR_MQ_SDK_TRAITS_H */