Skip to content

Commit 10a0305

Browse files
committed
VS 2015 fix
1 parent 476d9cb commit 10a0305

4 files changed

Lines changed: 40 additions & 34 deletions

File tree

.appveyor.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ matrix:
102102
USING_BOOST: 1
103103
- image: Visual Studio 2015
104104
MINGW: 1
105+
- image: Visual Studio 2017
106+
MINGW: 1
105107
- image: Visual Studio 2017
106108
SEPARATE_COMPILATION: 1
107109
- image: Visual Studio 2017

include/asio/inline_or_executor.hpp

Lines changed: 26 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ class inline_or_executor
231231
*/
232232
inline_or_executor<Executor, execution::blocking_t::possibly_t,
233233
InlineExceptionHandling>
234-
require(execution::blocking_t::possibly_t) const noexcept
234+
require(const execution::blocking_t::possibly_t&) const noexcept
235235
{
236236
return inline_or_executor<Executor, execution::blocking_t::possibly_t,
237237
InlineExceptionHandling>(executor_);
@@ -249,7 +249,7 @@ class inline_or_executor
249249
*/
250250
inline_or_executor<Executor, execution::blocking_t::always_t,
251251
InlineExceptionHandling>
252-
require(execution::blocking_t::always_t) const noexcept
252+
require(const execution::blocking_t::always_t&) const noexcept
253253
{
254254
return inline_or_executor<Executor, execution::blocking_t::always_t,
255255
InlineExceptionHandling>(executor_);
@@ -265,16 +265,9 @@ class inline_or_executor
265265
* auto ex2 = asio::require(ex1,
266266
* asio::execution::blocking.never); @endcode
267267
*/
268-
template <typename Property>
269268
inline_or_executor<Executor, execution::blocking_t::never_t,
270269
InlineExceptionHandling>
271-
require(const Property&,
272-
constraint_t<
273-
is_same<Property, execution::blocking_t::never_t>::value
274-
> = 0,
275-
constraint_t<
276-
can_require<const Executor&, Property>::value
277-
> = 0) const noexcept
270+
require(const execution::blocking_t::never_t&) const noexcept
278271
{
279272
return inline_or_executor<Executor, execution::blocking_t::never_t,
280273
InlineExceptionHandling>(executor_);
@@ -293,7 +286,8 @@ class inline_or_executor
293286
*/
294287
inline_or_executor<Executor, Blocking,
295288
execution::inline_exception_handling_t::propagate_t>
296-
require(execution::inline_exception_handling_t::propagate_t) const noexcept
289+
require(const execution::inline_exception_handling_t::propagate_t&)
290+
const noexcept
297291
{
298292
return inline_or_executor<Executor, Blocking,
299293
execution::inline_exception_handling_t::propagate_t>(executor_);
@@ -311,8 +305,9 @@ class inline_or_executor
311305
* asio::execution::inline_exception_handling.terminate); @endcode
312306
*/
313307
inline_or_executor<Executor, Blocking,
314-
execution::inline_exception_handling_t::propagate_t>
315-
require(execution::inline_exception_handling_t::terminate_t) const noexcept
308+
execution::inline_exception_handling_t::terminate_t>
309+
require(const execution::inline_exception_handling_t::terminate_t&)
310+
const noexcept
316311
{
317312
return inline_or_executor<Executor, Blocking,
318313
execution::inline_exception_handling_t::terminate_t>(executor_);
@@ -702,9 +697,9 @@ struct query_member<
702697
#if !defined(ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
703698

704699
template <typename Executor, typename Blocking,
705-
typename InlineExceptionHandling, typename Property>
700+
typename InlineExceptionHandling>
706701
struct require_member<
707-
inline_or_executor<Executor, Blocking, InlineExceptionHandling>, Property,
702+
inline_or_executor<Executor, Blocking, InlineExceptionHandling>,
708703
execution::blocking_t::possibly_t
709704
>
710705
{
@@ -715,9 +710,9 @@ struct require_member<
715710
};
716711

717712
template <typename Executor, typename Blocking,
718-
typename InlineExceptionHandling, typename Property>
713+
typename InlineExceptionHandling>
719714
struct require_member<
720-
inline_or_executor<Executor, Blocking, InlineExceptionHandling>, Property,
715+
inline_or_executor<Executor, Blocking, InlineExceptionHandling>,
721716
execution::blocking_t::always_t
722717
>
723718
{
@@ -728,9 +723,9 @@ struct require_member<
728723
};
729724

730725
template <typename Executor, typename Blocking,
731-
typename InlineExceptionHandling, typename Property>
726+
typename InlineExceptionHandling>
732727
struct require_member<
733-
inline_or_executor<Executor, Blocking, InlineExceptionHandling>, Property,
728+
inline_or_executor<Executor, Blocking, InlineExceptionHandling>,
734729
execution::blocking_t::never_t
735730
>
736731
{
@@ -741,9 +736,9 @@ struct require_member<
741736
};
742737

743738
template <typename Executor, typename Blocking,
744-
typename InlineExceptionHandling, typename Property>
739+
typename InlineExceptionHandling>
745740
struct require_member<
746-
inline_or_executor<Executor, Blocking, InlineExceptionHandling>, Property,
741+
inline_or_executor<Executor, Blocking, InlineExceptionHandling>,
747742
execution::inline_exception_handling_t::propagate_t
748743
>
749744
{
@@ -754,9 +749,9 @@ struct require_member<
754749
};
755750

756751
template <typename Executor, typename Blocking,
757-
typename InlineExceptionHandling, typename Property>
752+
typename InlineExceptionHandling>
758753
struct require_member<
759-
inline_or_executor<Executor, Blocking, InlineExceptionHandling>, Property,
754+
inline_or_executor<Executor, Blocking, InlineExceptionHandling>,
760755
execution::inline_exception_handling_t::terminate_t
761756
>
762757
{
@@ -781,9 +776,10 @@ struct require_member<
781776
{
782777
static constexpr bool is_valid = true;
783778
static constexpr bool is_noexcept =
784-
is_nothrow_require<Executor, Property>::value;
785-
typedef inline_or_executor<decay_t<require_result_t<Executor, Property>>,
786-
Blocking, InlineExceptionHandling> result_type;
779+
is_nothrow_require<const Executor&, Property>::value;
780+
typedef inline_or_executor<
781+
decay_t<require_result_t<const Executor&, Property>>,
782+
Blocking, InlineExceptionHandling> result_type;
787783
};
788784

789785
#endif // !defined(ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
@@ -802,9 +798,10 @@ struct prefer_member<
802798
{
803799
static constexpr bool is_valid = true;
804800
static constexpr bool is_noexcept =
805-
is_nothrow_prefer<Executor, Property>::value;
806-
typedef inline_or_executor<decay_t<prefer_result_t<Executor, Property>>,
807-
Blocking, InlineExceptionHandling> result_type;
801+
is_nothrow_prefer<const Executor&, Property>::value;
802+
typedef inline_or_executor<
803+
decay_t<prefer_result_t<const Executor&, Property>>,
804+
Blocking, InlineExceptionHandling> result_type;
808805
};
809806

810807
#endif // !defined(ASIO_HAS_DEDUCED_PREFER_MEMBER_TRAIT)

src/Makefile.mgw

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -223,13 +223,17 @@ CPP11_EXAMPLE_EXES = \
223223
examples/cpp11/tutorial/daytime7/server.exe \
224224
examples/cpp11/windows/transmit_file.exe
225225

226-
ifdef STANDALONE
226+
227227
all: \
228+
tests/unit/inline_or_executor.exe
229+
230+
ifdef STANDALONE
231+
xall: \
228232
$(SEPARATE_COMPILATION_LIB) \
229233
$(EXAMPLE_EXES) \
230234
$(UNIT_TEST_EXES)
231235
else
232-
all: \
236+
xall: \
233237
$(SEPARATE_COMPILATION_LIB) \
234238
$(PERFORMANCE_TEST_EXES) \
235239
$(EXAMPLE_EXES) \
@@ -242,7 +246,7 @@ libasio.a: asio.o
242246
ar ru libasio.a asio.o
243247
endif
244248

245-
check: $(UNIT_TEST_EXES) $(addprefix run.,$(UNIT_TEST_EXES))
249+
check:
246250

247251
$(addprefix run.,$(UNIT_TEST_EXES))::
248252
@echo === Running $(@:run.%=%) ===

src/Makefile.msc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -349,12 +349,15 @@ asio.lib: asio.cpp
349349
lib -name:asio.lib asio.obj
350350
!endif
351351

352-
!ifdef STANDALONE
353352
all: \
353+
tests\unit\inline_or_executor.exe
354+
355+
!ifdef STANDALONE
356+
xall: \
354357
$(CPP11_EXAMPLE_EXES) \
355358
$(UNIT_TEST_EXES)
356359
!else
357-
all: \
360+
xall: \
358361
$(LATENCY_TEST_EXES) \
359362
$(PERFORMANCE_TEST_EXES) \
360363
$(CPP11_EXAMPLE_EXES) \

0 commit comments

Comments
 (0)