Skip to content

Commit

Permalink
⬆️ [SML] Version 1.1.3
Browse files Browse the repository at this point in the history
Problem:
- There are new features and bug fixes available.

Solution:
- Update the minor version to `1.1.3`
  • Loading branch information
kris-jusiak committed Aug 2, 2020
1 parent 3737aca commit 07a503c
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 37 deletions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ send: 42
* [8. Handle errors](https://boost-ext.github.io/sml/tutorial.html#8-handle-errors)
* [9. Test it](https://boost-ext.github.io/sml/tutorial.html#9-test-it)
* [10. Debug it](https://boost-ext.github.io/sml/tutorial.html#10-debug-it)
* [Workshop](https://boost-ext.github.io/sml/tutorial.html#workshop)
* [[Workshop](https://boost-ext.github.io/sml/embo-2018)](https://boost-ext.github.io/sml/tutorial.html#workshophttpsboost-extgithubiosmlembo-2018)
* [UML vs SML](https://boost-ext.github.io/sml/uml_vs_sml.html)
* [Unified Modeling Language™ (UML®) Version 2.5](https://boost-ext.github.io/sml/uml_vs_sml.html#unified-modeling-language-uml-version-25)
* [Initial Pseudostate](https://boost-ext.github.io/sml/uml_vs_sml.html#initial-pseudostate)
Expand Down Expand Up @@ -264,6 +264,7 @@ send: 42
* [Plant UML Integration](https://boost-ext.github.io/sml/examples.html#plant-uml-integration)
* [FAQ](https://boost-ext.github.io/sml/faq.html)
* [CHANGELOG](https://boost-ext.github.io/sml/CHANGELOG.html)
* [[1.1.3] - 2020-08-02](https://boost-ext.github.io/sml/CHANGELOG.html#113-2020-08-02)
* [[1.1.2] - 2020-06-14](https://boost-ext.github.io/sml/CHANGELOG.html#112-2020-06-14)
* [[1.1.1] - 2020-05-17](https://boost-ext.github.io/sml/CHANGELOG.html#111-2020-05-17)
* [[1.1.0] - 2019-01-08](https://boost-ext.github.io/sml/CHANGELOG.html#110-2019-01-08)
Expand Down
12 changes: 12 additions & 0 deletions doc/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
## [1.1.3] - 2020-08-02
- **Additions**
- Support for member-function like guards/actions
- https://github.com/boost-ext/sml/commit/e6d0685993a8a0160dde1610d7f8be4f811c89d0
>
- **Bug Fixes**
- [Issues](https://github.com/boost-ext/sml/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aclosed+closed%3A2020-08-02..2020-07-17+)
>
- **Contributions**
- [Guilhem Codron](https://github.com/GuiCodron)

## [1.1.2] - 2020-06-14
- **Additions**
- Support for GCC-10
Expand Down Expand Up @@ -68,6 +79,7 @@
##[1.0.0] - 2016-01-28
- Initial version

[1.1.3]: https://github.com/boost-ext/sml/compare/v1.1.2...v1.1.3
[1.1.2]: https://github.com/boost-ext/sml/compare/v1.1.1...v1.1.2
[1.1.1]: https://github.com/boost-ext/sml/compare/v1.1.0...v1.1.1
[1.1.0]: https://github.com/boost-ext/sml/compare/v1.0.0...v1.1.0
Expand Down
72 changes: 36 additions & 36 deletions include/boost/sml.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
#if (__cplusplus < 201305L && _MSC_VER < 1900)
#error "[Boost::ext].SML requires C++14 support (Clang-3.4+, GCC-5.1+, MSVC-2015+)"
#else
#define BOOST_SML_VERSION 1'1'2
#define BOOST_SML_VERSION 1'1'3
#define BOOST_SML_NAMESPACE_BEGIN \
namespace boost { \
inline namespace ext { \
namespace sml { \
inline namespace v1_1_2 {
inline namespace v1_1_3 {
#define BOOST_SML_NAMESPACE_END \
} \
} \
Expand Down Expand Up @@ -216,7 +216,7 @@ struct remove_reference<T &&> {
};
template <class T>
using remove_reference_t = typename remove_reference<T>::type;
} // namespace aux
}
namespace aux {
using swallow = int[];
template <int...>
Expand Down Expand Up @@ -480,7 +480,7 @@ auto get_type_name(const char *ptr, index_sequence<Ns...>) {
static const char str[] = {ptr[N + Ns]..., 0};
return str;
}
} // namespace detail
}
template <class T>
const char *get_type_name() {
#if defined(_MSC_VER) && !defined(__clang__)
Expand Down Expand Up @@ -525,7 +525,7 @@ struct string<T> {
}
static auto c_str_impl(...) { return get_type_name<T>(); }
};
} // namespace aux
}
namespace back {
namespace policies {
struct defer_queue_policy__ {};
Expand All @@ -535,8 +535,8 @@ struct defer_queue : aux::pair<back::policies::defer_queue_policy__, defer_queue
using rebind = T<U>;
using flag = bool;
};
} // namespace policies
} // namespace back
}
}
namespace back {
template <class... Ts>
class queue_event {
Expand Down Expand Up @@ -627,7 +627,7 @@ struct deque_handler : queue_event_call<TEvents>... {
}
void *deque_{};
};
} // namespace back
}
namespace back {
struct _ {};
struct initial {};
Expand Down Expand Up @@ -709,7 +709,7 @@ template <class... TEvents>
struct defer : deque_handler<TEvents...> {
using deque_handler<TEvents...>::deque_handler;
};
} // namespace back
}
namespace back {
template <class>
class sm;
Expand Down Expand Up @@ -832,7 +832,7 @@ template <class T, class... Ts>
struct convert_to_sm<T, aux::type_list<Ts...>> {
using type = aux::type_list<sm_impl<T>, sm_impl<typename T::template rebind<Ts>>...>;
};
} // namespace back
}
namespace back {
template <class>
class sm;
Expand Down Expand Up @@ -919,7 +919,7 @@ struct transitions_sub<sm<TSM>> {
return false;
}
};
} // namespace back
}
namespace back {
template <class>
class sm;
Expand Down Expand Up @@ -1037,7 +1037,7 @@ struct get_event_mapping_impl_helper<on_exit<T1, T2>, TMappings>
: decltype(get_event_mapping_impl<on_exit<T1, T2>>((TMappings *)0)) {};
template <class T, class TMappings>
using get_event_mapping_t = get_event_mapping_impl_helper<T, TMappings>;
} // namespace back
}
namespace back {
namespace policies {
struct dispatch_policy__ {};
Expand Down Expand Up @@ -1112,8 +1112,8 @@ struct fold_expr {
}
};
#endif
} // namespace policies
} // namespace back
}
}
namespace back {
template <class>
class sm;
Expand Down Expand Up @@ -1180,8 +1180,8 @@ void log_guard(const aux::type<TLogger> &, TDeps &deps, const aux::zero_wrapper<
bool result) {
return static_cast<aux::pool_type<TLogger &> &>(deps).value.template log_guard<SM>(guard.get(), event, result);
}
} // namespace policies
} // namespace back
}
}
namespace back {
namespace policies {
struct process_queue_policy__ {};
Expand All @@ -1190,14 +1190,14 @@ struct process_queue : aux::pair<back::policies::process_queue_policy__, process
template <class U>
using rebind = T<U>;
};
} // namespace policies
} // namespace back
}
}
namespace back {
namespace policies {
struct testing_policy__ {};
struct testing : aux::pair<testing_policy__, testing> {};
} // namespace policies
} // namespace back
}
}
namespace back {
namespace policies {
struct thread_safety_policy__ {
Expand All @@ -1217,8 +1217,8 @@ struct thread_safe : aux::pair<thread_safety_policy__, thread_safe<TLock>> {
}
TLock lock;
};
} // namespace policies
} // namespace back
}
}
namespace back {
struct no_policy : policies::thread_safety_policy__ {
using type = no_policy;
Expand Down Expand Up @@ -1257,7 +1257,7 @@ struct sm_policy {
template <class T>
using rebind = typename rebind_impl<T, TPolicies...>::type;
};
} // namespace back
}
namespace concepts {
struct callable_fallback {
void operator()();
Expand All @@ -1273,15 +1273,15 @@ template <class T, class R, class TBase, class... TArgs>
struct callable<T, R (TBase::*)(TArgs...)> : aux::true_type {};
template <class T, class R, class TBase, class... TArgs>
struct callable<T, R (TBase::*)(TArgs...) const> : aux::true_type {};
} // namespace concepts
}
namespace concepts {
template <class T>
decltype(aux::declval<T>().operator()()) composable_impl(int);
template <class>
void composable_impl(...);
template <class T>
struct composable : aux::is<aux::pool, decltype(composable_impl<T>(0))> {};
} // namespace concepts
}
#if !defined(BOOST_SML_DISABLE_EXCEPTIONS)
#if !(defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND))
#define BOOST_SML_DISABLE_EXCEPTIONS true
Expand Down Expand Up @@ -1738,7 +1738,7 @@ class sm {
deps_t deps_;
sub_sms_t sub_sms_;
};
} // namespace back
}
namespace front {
struct operator_base {};
struct action_base {};
Expand Down Expand Up @@ -1970,7 +1970,7 @@ class not_ : operator_base {
private:
T g;
};
} // namespace front
}
template <class T, __BOOST_SML_REQUIRES(concepts::callable<bool, T>::value)>
auto operator!(const T &t) {
return front::not_<aux::zero_wrapper<T>>(aux::zero_wrapper<T>{t});
Expand Down Expand Up @@ -1999,8 +1999,8 @@ struct defer : action_base {
}
}
};
} // namespace actions
} // namespace front
}
}
using testing = back::policies::testing;
template <class T>
using logger = back::policies::logger<T>;
Expand All @@ -2026,7 +2026,7 @@ auto transitional_impl(T &&t) -> aux::always<typename T::dst_state, typename T::
decltype(T::initial), decltype(T::history)>;
template <class T>
struct transitional : decltype(transitional_impl(aux::declval<T>())) {};
} // namespace concepts
}
namespace front {
namespace actions {
struct process {
Expand All @@ -2047,8 +2047,8 @@ struct process {
return process_impl<TEvent>{event};
}
};
} // namespace actions
} // namespace front
}
}
namespace front {
template <class, class>
struct transition_eg;
Expand All @@ -2066,7 +2066,7 @@ struct event {
}
auto operator()() const { return TEvent{}; }
};
} // namespace front
}
namespace front {
struct initial_state {};
struct history_state {};
Expand Down Expand Up @@ -2159,7 +2159,7 @@ struct state_sm<T, aux::enable_if_t<concepts::composable<T>::value>> {
using type = state<back::sm<back::sm_policy<T>>>;
};
#endif
} // namespace front
}
namespace front {
struct internal {};
template <class, class>
Expand Down Expand Up @@ -2593,7 +2593,7 @@ struct transition<state<internal>, state<S2>, front::event<E>, always, none> {
}
__BOOST_SML_ZERO_SIZE_ARRAY(aux::byte);
};
} // namespace front
}
using _ = back::_;
#if !(defined(_MSC_VER) && !defined(__clang__))
template <class TEvent>
Expand Down Expand Up @@ -2641,7 +2641,7 @@ constexpr auto operator""_e() {
return event<aux::string<T, Chrs...>>;
}
#endif
} // namespace literals
}
__BOOST_SML_UNUSED static front::state<back::terminate_state> X;
__BOOST_SML_UNUSED static front::history_state H;
__BOOST_SML_UNUSED static front::actions::defer defer;
Expand Down

0 comments on commit 07a503c

Please sign in to comment.