Add alias templates for associators.
This commit is contained in:
parent
e502a6b364
commit
64ae9bcaee
@ -116,6 +116,14 @@ get_associated_allocator(const T& t, const Allocator& a) ASIO_NOEXCEPT
|
|||||||
return associated_allocator<T, Allocator>::get(t, a);
|
return associated_allocator<T, Allocator>::get(t, a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(ASIO_HAS_ALIAS_TEMPLATES)
|
||||||
|
|
||||||
|
template <typename T, typename Allocator = std::allocator<void> >
|
||||||
|
using associated_allocator_t
|
||||||
|
= typename associated_allocator<T, Allocator>::type;
|
||||||
|
|
||||||
|
#endif // defined(ASIO_HAS_ALIAS_TEMPLATES)
|
||||||
|
|
||||||
} // namespace asio
|
} // namespace asio
|
||||||
|
|
||||||
#include "asio/detail/pop_options.hpp"
|
#include "asio/detail/pop_options.hpp"
|
||||||
|
@ -135,6 +135,13 @@ get_associated_executor(const T& t, ExecutionContext& ctx,
|
|||||||
typename ExecutionContext::executor_type>::get(t, ctx.get_executor());
|
typename ExecutionContext::executor_type>::get(t, ctx.get_executor());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(ASIO_HAS_ALIAS_TEMPLATES)
|
||||||
|
|
||||||
|
template <typename T, typename Executor = system_executor>
|
||||||
|
using associated_executor_t = typename associated_executor<T, Executor>::type;
|
||||||
|
|
||||||
|
#endif // defined(ASIO_HAS_ALIAS_TEMPLATES)
|
||||||
|
|
||||||
} // namespace asio
|
} // namespace asio
|
||||||
|
|
||||||
#include "asio/detail/pop_options.hpp"
|
#include "asio/detail/pop_options.hpp"
|
||||||
|
@ -264,6 +264,24 @@
|
|||||||
# endif // !defined(ASIO_DISABLE_DECLTYPE)
|
# endif // !defined(ASIO_DISABLE_DECLTYPE)
|
||||||
#endif // !defined(ASIO_HAS_DECLTYPE)
|
#endif // !defined(ASIO_HAS_DECLTYPE)
|
||||||
|
|
||||||
|
// Support alias templates on compilers known to allow it.
|
||||||
|
#if !defined(ASIO_HAS_ALIAS_TEMPLATES)
|
||||||
|
# if !defined(ASIO_DISABLE_ALIAS_TEMPLATES)
|
||||||
|
# if defined(__clang__)
|
||||||
|
# if __has_feature(__cxx_alias_templates__)
|
||||||
|
# define ASIO_HAS_ALIAS_TEMPLATES 1
|
||||||
|
# endif // __has_feature(__cxx_alias_templates__)
|
||||||
|
# endif // defined(__clang__)
|
||||||
|
# if defined(__GNUC__)
|
||||||
|
# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)
|
||||||
|
# if defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||||
|
# define ASIO_HAS_ALIAS_TEMPLATES 1
|
||||||
|
# endif // defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||||
|
# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)
|
||||||
|
# endif // defined(__GNUC__)
|
||||||
|
# endif // !defined(ASIO_DISABLE_ALIAS_TEMPLATES)
|
||||||
|
#endif // !defined(ASIO_HAS_ALIAS_TEMPLATES)
|
||||||
|
|
||||||
// Standard library support for system errors.
|
// Standard library support for system errors.
|
||||||
#if !defined(ASIO_HAS_STD_SYSTEM_ERROR)
|
#if !defined(ASIO_HAS_STD_SYSTEM_ERROR)
|
||||||
# if !defined(ASIO_DISABLE_STD_SYSTEM_ERROR)
|
# if !defined(ASIO_DISABLE_STD_SYSTEM_ERROR)
|
||||||
|
Loading…
Reference in New Issue
Block a user