Skip to content

Commit 07a503c

Browse files
committed
⬆️ [SML] Version 1.1.3
Problem: - There are new features and bug fixes available. Solution: - Update the minor version to `1.1.3`
1 parent 3737aca commit 07a503c

File tree

3 files changed

+50
-37
lines changed

3 files changed

+50
-37
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ send: 42
222222
* [8. Handle errors](https://boost-ext.github.io/sml/tutorial.html#8-handle-errors)
223223
* [9. Test it](https://boost-ext.github.io/sml/tutorial.html#9-test-it)
224224
* [10. Debug it](https://boost-ext.github.io/sml/tutorial.html#10-debug-it)
225-
* [Workshop](https://boost-ext.github.io/sml/tutorial.html#workshop)
225+
* [[Workshop](https://boost-ext.github.io/sml/embo-2018)](https://boost-ext.github.io/sml/tutorial.html#workshophttpsboost-extgithubiosmlembo-2018)
226226
* [UML vs SML](https://boost-ext.github.io/sml/uml_vs_sml.html)
227227
* [Unified Modeling Language™ (UML®) Version 2.5](https://boost-ext.github.io/sml/uml_vs_sml.html#unified-modeling-language-uml-version-25)
228228
* [Initial Pseudostate](https://boost-ext.github.io/sml/uml_vs_sml.html#initial-pseudostate)
@@ -264,6 +264,7 @@ send: 42
264264
* [Plant UML Integration](https://boost-ext.github.io/sml/examples.html#plant-uml-integration)
265265
* [FAQ](https://boost-ext.github.io/sml/faq.html)
266266
* [CHANGELOG](https://boost-ext.github.io/sml/CHANGELOG.html)
267+
* [[1.1.3] - 2020-08-02](https://boost-ext.github.io/sml/CHANGELOG.html#113-2020-08-02)
267268
* [[1.1.2] - 2020-06-14](https://boost-ext.github.io/sml/CHANGELOG.html#112-2020-06-14)
268269
* [[1.1.1] - 2020-05-17](https://boost-ext.github.io/sml/CHANGELOG.html#111-2020-05-17)
269270
* [[1.1.0] - 2019-01-08](https://boost-ext.github.io/sml/CHANGELOG.html#110-2019-01-08)

doc/CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
## [1.1.3] - 2020-08-02
2+
- **Additions**
3+
- Support for member-function like guards/actions
4+
- https://github.com/boost-ext/sml/commit/e6d0685993a8a0160dde1610d7f8be4f811c89d0
5+
>
6+
- **Bug Fixes**
7+
- [Issues](https://github.com/boost-ext/sml/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aclosed+closed%3A2020-08-02..2020-07-17+)
8+
>
9+
- **Contributions**
10+
- [Guilhem Codron](https://github.com/GuiCodron)
11+
112
## [1.1.2] - 2020-06-14
213
- **Additions**
314
- Support for GCC-10
@@ -68,6 +79,7 @@
6879
##[1.0.0] - 2016-01-28
6980
- Initial version
7081

82+
[1.1.3]: https://github.com/boost-ext/sml/compare/v1.1.2...v1.1.3
7183
[1.1.2]: https://github.com/boost-ext/sml/compare/v1.1.1...v1.1.2
7284
[1.1.1]: https://github.com/boost-ext/sml/compare/v1.1.0...v1.1.1
7385
[1.1.0]: https://github.com/boost-ext/sml/compare/v1.0.0...v1.1.0

include/boost/sml.hpp

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@
99
#if (__cplusplus < 201305L && _MSC_VER < 1900)
1010
#error "[Boost::ext].SML requires C++14 support (Clang-3.4+, GCC-5.1+, MSVC-2015+)"
1111
#else
12-
#define BOOST_SML_VERSION 1'1'2
12+
#define BOOST_SML_VERSION 1'1'3
1313
#define BOOST_SML_NAMESPACE_BEGIN \
1414
namespace boost { \
1515
inline namespace ext { \
1616
namespace sml { \
17-
inline namespace v1_1_2 {
17+
inline namespace v1_1_3 {
1818
#define BOOST_SML_NAMESPACE_END \
1919
} \
2020
} \
@@ -216,7 +216,7 @@ struct remove_reference<T &&> {
216216
};
217217
template <class T>
218218
using remove_reference_t = typename remove_reference<T>::type;
219-
} // namespace aux
219+
}
220220
namespace aux {
221221
using swallow = int[];
222222
template <int...>
@@ -480,7 +480,7 @@ auto get_type_name(const char *ptr, index_sequence<Ns...>) {
480480
static const char str[] = {ptr[N + Ns]..., 0};
481481
return str;
482482
}
483-
} // namespace detail
483+
}
484484
template <class T>
485485
const char *get_type_name() {
486486
#if defined(_MSC_VER) && !defined(__clang__)
@@ -525,7 +525,7 @@ struct string<T> {
525525
}
526526
static auto c_str_impl(...) { return get_type_name<T>(); }
527527
};
528-
} // namespace aux
528+
}
529529
namespace back {
530530
namespace policies {
531531
struct defer_queue_policy__ {};
@@ -535,8 +535,8 @@ struct defer_queue : aux::pair<back::policies::defer_queue_policy__, defer_queue
535535
using rebind = T<U>;
536536
using flag = bool;
537537
};
538-
} // namespace policies
539-
} // namespace back
538+
}
539+
}
540540
namespace back {
541541
template <class... Ts>
542542
class queue_event {
@@ -627,7 +627,7 @@ struct deque_handler : queue_event_call<TEvents>... {
627627
}
628628
void *deque_{};
629629
};
630-
} // namespace back
630+
}
631631
namespace back {
632632
struct _ {};
633633
struct initial {};
@@ -709,7 +709,7 @@ template <class... TEvents>
709709
struct defer : deque_handler<TEvents...> {
710710
using deque_handler<TEvents...>::deque_handler;
711711
};
712-
} // namespace back
712+
}
713713
namespace back {
714714
template <class>
715715
class sm;
@@ -832,7 +832,7 @@ template <class T, class... Ts>
832832
struct convert_to_sm<T, aux::type_list<Ts...>> {
833833
using type = aux::type_list<sm_impl<T>, sm_impl<typename T::template rebind<Ts>>...>;
834834
};
835-
} // namespace back
835+
}
836836
namespace back {
837837
template <class>
838838
class sm;
@@ -919,7 +919,7 @@ struct transitions_sub<sm<TSM>> {
919919
return false;
920920
}
921921
};
922-
} // namespace back
922+
}
923923
namespace back {
924924
template <class>
925925
class sm;
@@ -1037,7 +1037,7 @@ struct get_event_mapping_impl_helper<on_exit<T1, T2>, TMappings>
10371037
: decltype(get_event_mapping_impl<on_exit<T1, T2>>((TMappings *)0)) {};
10381038
template <class T, class TMappings>
10391039
using get_event_mapping_t = get_event_mapping_impl_helper<T, TMappings>;
1040-
} // namespace back
1040+
}
10411041
namespace back {
10421042
namespace policies {
10431043
struct dispatch_policy__ {};
@@ -1112,8 +1112,8 @@ struct fold_expr {
11121112
}
11131113
};
11141114
#endif
1115-
} // namespace policies
1116-
} // namespace back
1115+
}
1116+
}
11171117
namespace back {
11181118
template <class>
11191119
class sm;
@@ -1180,8 +1180,8 @@ void log_guard(const aux::type<TLogger> &, TDeps &deps, const aux::zero_wrapper<
11801180
bool result) {
11811181
return static_cast<aux::pool_type<TLogger &> &>(deps).value.template log_guard<SM>(guard.get(), event, result);
11821182
}
1183-
} // namespace policies
1184-
} // namespace back
1183+
}
1184+
}
11851185
namespace back {
11861186
namespace policies {
11871187
struct process_queue_policy__ {};
@@ -1190,14 +1190,14 @@ struct process_queue : aux::pair<back::policies::process_queue_policy__, process
11901190
template <class U>
11911191
using rebind = T<U>;
11921192
};
1193-
} // namespace policies
1194-
} // namespace back
1193+
}
1194+
}
11951195
namespace back {
11961196
namespace policies {
11971197
struct testing_policy__ {};
11981198
struct testing : aux::pair<testing_policy__, testing> {};
1199-
} // namespace policies
1200-
} // namespace back
1199+
}
1200+
}
12011201
namespace back {
12021202
namespace policies {
12031203
struct thread_safety_policy__ {
@@ -1217,8 +1217,8 @@ struct thread_safe : aux::pair<thread_safety_policy__, thread_safe<TLock>> {
12171217
}
12181218
TLock lock;
12191219
};
1220-
} // namespace policies
1221-
} // namespace back
1220+
}
1221+
}
12221222
namespace back {
12231223
struct no_policy : policies::thread_safety_policy__ {
12241224
using type = no_policy;
@@ -1257,7 +1257,7 @@ struct sm_policy {
12571257
template <class T>
12581258
using rebind = typename rebind_impl<T, TPolicies...>::type;
12591259
};
1260-
} // namespace back
1260+
}
12611261
namespace concepts {
12621262
struct callable_fallback {
12631263
void operator()();
@@ -1273,15 +1273,15 @@ template <class T, class R, class TBase, class... TArgs>
12731273
struct callable<T, R (TBase::*)(TArgs...)> : aux::true_type {};
12741274
template <class T, class R, class TBase, class... TArgs>
12751275
struct callable<T, R (TBase::*)(TArgs...) const> : aux::true_type {};
1276-
} // namespace concepts
1276+
}
12771277
namespace concepts {
12781278
template <class T>
12791279
decltype(aux::declval<T>().operator()()) composable_impl(int);
12801280
template <class>
12811281
void composable_impl(...);
12821282
template <class T>
12831283
struct composable : aux::is<aux::pool, decltype(composable_impl<T>(0))> {};
1284-
} // namespace concepts
1284+
}
12851285
#if !defined(BOOST_SML_DISABLE_EXCEPTIONS)
12861286
#if !(defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND))
12871287
#define BOOST_SML_DISABLE_EXCEPTIONS true
@@ -1738,7 +1738,7 @@ class sm {
17381738
deps_t deps_;
17391739
sub_sms_t sub_sms_;
17401740
};
1741-
} // namespace back
1741+
}
17421742
namespace front {
17431743
struct operator_base {};
17441744
struct action_base {};
@@ -1970,7 +1970,7 @@ class not_ : operator_base {
19701970
private:
19711971
T g;
19721972
};
1973-
} // namespace front
1973+
}
19741974
template <class T, __BOOST_SML_REQUIRES(concepts::callable<bool, T>::value)>
19751975
auto operator!(const T &t) {
19761976
return front::not_<aux::zero_wrapper<T>>(aux::zero_wrapper<T>{t});
@@ -1999,8 +1999,8 @@ struct defer : action_base {
19991999
}
20002000
}
20012001
};
2002-
} // namespace actions
2003-
} // namespace front
2002+
}
2003+
}
20042004
using testing = back::policies::testing;
20052005
template <class T>
20062006
using logger = back::policies::logger<T>;
@@ -2026,7 +2026,7 @@ auto transitional_impl(T &&t) -> aux::always<typename T::dst_state, typename T::
20262026
decltype(T::initial), decltype(T::history)>;
20272027
template <class T>
20282028
struct transitional : decltype(transitional_impl(aux::declval<T>())) {};
2029-
} // namespace concepts
2029+
}
20302030
namespace front {
20312031
namespace actions {
20322032
struct process {
@@ -2047,8 +2047,8 @@ struct process {
20472047
return process_impl<TEvent>{event};
20482048
}
20492049
};
2050-
} // namespace actions
2051-
} // namespace front
2050+
}
2051+
}
20522052
namespace front {
20532053
template <class, class>
20542054
struct transition_eg;
@@ -2066,7 +2066,7 @@ struct event {
20662066
}
20672067
auto operator()() const { return TEvent{}; }
20682068
};
2069-
} // namespace front
2069+
}
20702070
namespace front {
20712071
struct initial_state {};
20722072
struct history_state {};
@@ -2159,7 +2159,7 @@ struct state_sm<T, aux::enable_if_t<concepts::composable<T>::value>> {
21592159
using type = state<back::sm<back::sm_policy<T>>>;
21602160
};
21612161
#endif
2162-
} // namespace front
2162+
}
21632163
namespace front {
21642164
struct internal {};
21652165
template <class, class>
@@ -2593,7 +2593,7 @@ struct transition<state<internal>, state<S2>, front::event<E>, always, none> {
25932593
}
25942594
__BOOST_SML_ZERO_SIZE_ARRAY(aux::byte);
25952595
};
2596-
} // namespace front
2596+
}
25972597
using _ = back::_;
25982598
#if !(defined(_MSC_VER) && !defined(__clang__))
25992599
template <class TEvent>
@@ -2641,7 +2641,7 @@ constexpr auto operator""_e() {
26412641
return event<aux::string<T, Chrs...>>;
26422642
}
26432643
#endif
2644-
} // namespace literals
2644+
}
26452645
__BOOST_SML_UNUSED static front::state<back::terminate_state> X;
26462646
__BOOST_SML_UNUSED static front::history_state H;
26472647
__BOOST_SML_UNUSED static front::actions::defer defer;

0 commit comments

Comments
 (0)