[/
 / Copyright (c) 2014 Mathieu Champlon
 /
 / Distributed under the Boost Software License, Version 1.0. (See accompanying
 / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 /]

[section Patterns]
[import example/patterns_static_objects.cpp]
[import example/patterns_async_call.cpp]
[import example/patterns_retrieve_cref.cpp]
[import example/patterns_invoke_functor.cpp]
[import example/patterns_quick_constraint.cpp]

This section highlights not-so-obvious features of the library gathered from real use cases.

[section Managing static mock objects]

Problem :

[static_objects_problem]

Partial solution :

[static_objects_partial_solution]

Solution :

[static_objects_solution]

[endsect]

[section Waiting for an asynchronous call]

Problem :

[async_call_problem]

Solution :

[async_call_solution]

[endsect]

[section Retrieving an argument to use in a later constraint]

Problem :

[retrieve_cref_problem]

Solution :

[retrieve_cref_solution]

[endsect]

[section Invoking a functor received as parameter]

Problem :

[invoke_functor_problem]

Solution :

[invoke_functor_solution]

[endsect]

[section Quickly writing a custom constraint for a serializable type]

Problem :

[quick_constraint_problem]

Solution :

[quick_constraint_solution]

[endsect]

[endsect]
