From 1d23ea1e64ed7b15a8d723dc17cdf15729120ec3 Mon Sep 17 00:00:00 2001 From: Tibor Molnar Date: Fri, 18 Aug 2017 08:01:40 +0200 Subject: [PATCH 1/8] yasmine 1.3.2 --- version.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/version.txt b/version.txt index 1084d0d..a59d400 100644 --- a/version.txt +++ b/version.txt @@ -1,5 +1,15 @@ Versions +• yasmine 1.3.2 released 2017-08-18 + • libyasmine 1.2.2 + • essentials 1.3.1 + • hermes 1.1.2 + • genesis 0.3.1 + • yasmine_model 0.2.1 + • libygen 0.2.1 + • ygen 0.1.2 + + • yasmine 1.3.1 released 2017-08-14 • libyasmine 1.2.1 • essentials 1.3.1 From 30dfadf15c399818405d2bdc014c8f63be10aafa Mon Sep 17 00:00:00 2001 From: Tibor Molnar Date: Fri, 18 Aug 2017 08:03:03 +0200 Subject: [PATCH 2/8] yasmine 1.3.2 --- build/debug_info_clang.props | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 build/debug_info_clang.props diff --git a/build/debug_info_clang.props b/build/debug_info_clang.props new file mode 100644 index 0000000..6966b2c --- /dev/null +++ b/build/debug_info_clang.props @@ -0,0 +1,18 @@ + + + + + + + + + NotSet + true + + + FullDebug + WIN32;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + + + + \ No newline at end of file From febc909035cb5cec0641373f50a339777d9100f3 Mon Sep 17 00:00:00 2001 From: Tibor Molnar Date: Fri, 18 Aug 2017 08:04:15 +0200 Subject: [PATCH 3/8] yasmine 1.3.2 --- externals/hermes/source/hermes_version.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/externals/hermes/source/hermes_version.cpp b/externals/hermes/source/hermes_version.cpp index d97db8b..e699fa3 100644 --- a/externals/hermes/source/hermes_version.cpp +++ b/externals/hermes/source/hermes_version.cpp @@ -30,7 +30,7 @@ namespace const sxe::uint16_t VERSION_MAJOR( 1 ); -const sxe::uint16_t VERSION_MINOR( 0 ); +const sxe::uint16_t VERSION_MINOR( 1 ); const sxe::uint16_t VERSION_PATCH( 2 ); From 85e9ffda734b6f9125436233a8829e6462f35e9c Mon Sep 17 00:00:00 2001 From: Tibor Molnar Date: Fri, 18 Aug 2017 08:05:02 +0200 Subject: [PATCH 4/8] yasmine 1.3.2 --- externals/hermes/include/hermes/log_and_throw.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/externals/hermes/include/hermes/log_and_throw.hpp b/externals/hermes/include/hermes/log_and_throw.hpp index 049507b..bf7a688 100644 --- a/externals/hermes/include/hermes/log_and_throw.hpp +++ b/externals/hermes/include/hermes/log_and_throw.hpp @@ -48,7 +48,7 @@ namespace hermes //!\def LOG_AND_THROW( _level, ... ) //!\brief Log a message and then throw an exception with the same message. -#define LOG_AND_THROW( _level, ... ) HEMRES_EXPAND( HERMES_VA_SELECT( LOG_AND_THROW_PARAM, _level, __VA_ARGS__ ) ) +#define LOG_AND_THROW( _level, ... ) EXPAND( HERMES_VA_SELECT( LOG_AND_THROW_PARAM, _level, __VA_ARGS__ ) ) #define LOG_AND_THROW_PARAM_1( _log_level, _what ) \ From 1a6ad4aa540658bfb42a3a41d7eb6295906257b0 Mon Sep 17 00:00:00 2001 From: Tibor Molnar Date: Fri, 18 Aug 2017 08:05:46 +0200 Subject: [PATCH 5/8] yasmine 1.3.2 --- libyasmine/CMakeLists.txt | 8 +++++--- libyasmine/changelog.txt | 14 ++++++++++++++ libyasmine/libyasmine.vcxproj | 2 +- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/libyasmine/CMakeLists.txt b/libyasmine/CMakeLists.txt index 99fabe2..3e48936 100644 --- a/libyasmine/CMakeLists.txt +++ b/libyasmine/CMakeLists.txt @@ -21,8 +21,10 @@ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQ if("${CPP_VERSION}" STREQUAL "03") set(extra_flags "${extra_flags} -std=c++03 -Wall -Wpedantic -g -Wno-unknown-pragmas -D \"SX_CPP03_BOOST\" -D \"SX_NO_VARIADIC_MACRO\"") - else() + elseif("${CPP_VERSION}" STREQUAL "14") set(extra_flags "${extra_flags} -std=c++14 -Wall -Wpedantic -g") + else() + set(extra_flags "${extra_flags} -std=c++11 -Wall -Wpedantic -g -D \"SX_NO_STD_MAKE_UNIQUE\"") endif() # yasmine's preprocessor definitions @@ -182,8 +184,8 @@ elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") endif() SET_TARGET_PROPERTIES ( libyasmine PROPERTIES - VERSION 1.1.2 - SOVERSION 1.1 ) + VERSION 1.2.1 + SOVERSION 1.2 ) install(TARGETS libyasmine DESTINATION lib) file(GLOB yasmine_hpp "include/*.hpp") diff --git a/libyasmine/changelog.txt b/libyasmine/changelog.txt index cceb6c8..95de654 100644 --- a/libyasmine/changelog.txt +++ b/libyasmine/changelog.txt @@ -1,6 +1,20 @@ # Change log All notable changes to this project are documented in this file. +##[1.2.2] - 2017-08-18 + +### Fix +• changed const_iterator to iterator in methods vertex_impl::add_outgoing_transition and +vertex_impl::find_first_transition_without_guard for compilers with incomplete C++11 support +• fixed incorrect use of logging macro when compiling C++03 code + + +##[1.2.1] - 2017-08-14 + +### Changed +• CMake file improvements: Set C++-standard version (when using gcc) using CPP_VERSION with values '03' for C++03, '14' for C++14. Default is C++11. + + ##[1.2.0] - 2017-06-26 ### Added diff --git a/libyasmine/libyasmine.vcxproj b/libyasmine/libyasmine.vcxproj index ca048de..045a428 100644 --- a/libyasmine/libyasmine.vcxproj +++ b/libyasmine/libyasmine.vcxproj @@ -501,10 +501,10 @@ + - From 61a4cce35bb290f79f8c8f24a1090a13fe80e1c9 Mon Sep 17 00:00:00 2001 From: Tibor Molnar Date: Fri, 18 Aug 2017 08:08:06 +0200 Subject: [PATCH 6/8] yasmine 1.3.2 --- libyasmine/include/vertex_impl.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libyasmine/include/vertex_impl.hpp b/libyasmine/include/vertex_impl.hpp index 989d753..31ab82f 100644 --- a/libyasmine/include/vertex_impl.hpp +++ b/libyasmine/include/vertex_impl.hpp @@ -46,7 +46,7 @@ class vertex_impl: private: void add_ancestor_uri( sxe::uri& _uri ) const SX_OVERRIDE; - raw_transitions::const_iterator find_first_transition_without_guard( const raw_transitions& _vector_of_transitions ); + raw_transitions::iterator find_first_transition_without_guard( raw_transitions& _vector_of_transitions ); static bool has_no_guard( const transition* const _transition ); From 05660a33b101836d19eedc4276fc385799c3d8e4 Mon Sep 17 00:00:00 2001 From: Tibor Molnar Date: Fri, 18 Aug 2017 08:11:13 +0200 Subject: [PATCH 7/8] yasmine 1.3.2 --- libyasmine/include_impl/build_number.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libyasmine/include_impl/build_number.hpp b/libyasmine/include_impl/build_number.hpp index a3784c0..1b63bf6 100644 --- a/libyasmine/include_impl/build_number.hpp +++ b/libyasmine/include_impl/build_number.hpp @@ -24,7 +24,7 @@ namespace version { -const sxe::uint16_t BUILD_NUMBER( 712 ); +const sxe::uint16_t BUILD_NUMBER( 716 ); } From c4ad90ae49dc0e226e4fcc6982c757c168664e63 Mon Sep 17 00:00:00 2001 From: Tibor Molnar Date: Fri, 18 Aug 2017 08:12:47 +0200 Subject: [PATCH 8/8] yasmine 1.3.2 --- libyasmine/source/async_state_machine.cpp | 28 ++++++++++---------- libyasmine/source/state_pseudostate_impl.cpp | 14 +++++----- libyasmine/source/timed_event_creator.cpp | 2 +- libyasmine/source/transition_finder.cpp | 2 +- libyasmine/source/vertex_impl.cpp | 17 ++++-------- 5 files changed, 28 insertions(+), 35 deletions(-) diff --git a/libyasmine/source/async_state_machine.cpp b/libyasmine/source/async_state_machine.cpp index 2e03de7..cf1abeb 100644 --- a/libyasmine/source/async_state_machine.cpp +++ b/libyasmine/source/async_state_machine.cpp @@ -87,8 +87,8 @@ void async_state_machine::halt_and_join() { SX_LOG( hermes::log_level::LL_INFO, "Stopping and joining async state machine '%'.", get_name() ); - halt(); - join(); + halt(); + join(); SX_LOG( hermes::log_level::LL_INFO, "Stopped and joined async state machine '%'.", get_name() ); } @@ -104,7 +104,7 @@ void async_state_machine::halt() "Status is not 'STARTED' or 'TERMINATED' on stop!" ); status_ = state_machine_status::STOP_REQUESTED; } - run_and_event_condition_.notify_one(); + run_and_event_condition_.notify_one(); SX_LOG( hermes::log_level::LL_TRACE, "Stopped state machine '%'.", get_name() ); } @@ -121,7 +121,7 @@ void async_state_machine::join() } worker_thread_->join(); - worker_thread_.reset(); + worker_thread_.reset(); status_ = state_machine_status::STOPPED; state_machine_base::halt(); @@ -169,10 +169,10 @@ bool async_state_machine::push( const event_sptr& _event ) void async_state_machine::start_state_machine() { SX_ASSERT( ( state_machine_status::NEW == status_ ) || ( state_machine_status::STOPPED == status_ ), - "Status is neither 'NEW' nor 'STOPPED' on start!" ); + "Status is neither 'NEW' nor 'STOPPED' on start!" ); - status_ = state_machine_status::STARTED; - worker_thread_ = SX_MAKE_UNIQUE< sxe::thread >( &async_state_machine::work, this ); + status_ = state_machine_status::STARTED; + worker_thread_ = SX_MAKE_UNIQUE< sxe::thread >( &async_state_machine::work, this ); } @@ -182,16 +182,16 @@ bool async_state_machine::insert( const event_sptr& _event ) bool event_added = false; { - sxe::lock_guard< sxe::mutex > lock( run_and_event_mutex_ ); + sxe::lock_guard< sxe::mutex > lock( run_and_event_mutex_ ); if( status_ == state_machine_status::STARTED ) - { + { insert_impl( _event ); event_added = true; } else { SX_LOG( hermes::log_level::LL_WARN, "Event '%' was not inserted in the queue of events! State machine is not running.", _event->get_name() ); - } + } } if( event_added ) { @@ -214,7 +214,7 @@ void async_state_machine::insert_impl( const event_sptr& _event ) event_list_.push_back( _event ); } else - { + { std::list< event_sptr >::iterator position = event_list_.begin(); while( position != event_list_.end() ) { @@ -225,13 +225,13 @@ void async_state_machine::insert_impl( const event_sptr& _event ) ++position; } SX_ASSERT( position != event_list_.end(), "No element found before which to insert!" ); - event_list_.insert( position, _event ); + event_list_.insert( position, _event ); } } - + bool async_state_machine::wait_predicate() const -{ +{ return( !( status_ == state_machine_status::STARTED ) || !event_list_.empty() ); } diff --git a/libyasmine/source/state_pseudostate_impl.cpp b/libyasmine/source/state_pseudostate_impl.cpp index 6dabccf..196029a 100644 --- a/libyasmine/source/state_pseudostate_impl.cpp +++ b/libyasmine/source/state_pseudostate_impl.cpp @@ -32,7 +32,7 @@ state_pseudostate_impl::state_pseudostate_impl( const std::string& _name ) #ifdef Y_OPTIMIZE_4_SPEED ancestors_as_regions_.reserve( ANCESTORS_VECTOR_SIZE ); ancestors_.reserve( ANCESTORS_VECTOR_SIZE ); -#endif +#endif } @@ -40,7 +40,7 @@ state_pseudostate_impl::~state_pseudostate_impl() SX_NOEXCEPT { // Nothing to do... } - + const state_machine_element* state_pseudostate_impl::get_parent() const { @@ -73,7 +73,7 @@ raw_composite_states state_pseudostate_impl::get_ancestors( composite_state* con raw_composite_states ancestors; collect_ancestors( ancestors, _final_ancestor, _include_final_ancestor ); return( ancestors ); -#endif +#endif } @@ -86,8 +86,8 @@ raw_regions state_pseudostate_impl::get_ancestors_as_regions() const } return( ancestors_as_regions_ ); #else - return( get_parent_state().get_ancestors_as_regions() ); -#endif + return( get_parent_state().get_ancestors_as_regions() ); +#endif } @@ -98,8 +98,8 @@ void state_pseudostate_impl::collect_ancestors( raw_composite_states& _ancestors const raw_composite_states& ancestors_of_parent_state = get_parent_state().get_ancestors( _final_ancestor ); _ancestors.insert( _ancestors.end(), ancestors_of_parent_state.begin(), ancestors_of_parent_state.end() ); if( !_include_final_ancestor ) - { - _ancestors.erase( _ancestors.end() ); + { + _ancestors.erase( _ancestors.end() ); } } diff --git a/libyasmine/source/timed_event_creator.cpp b/libyasmine/source/timed_event_creator.cpp index 2f292b7..d7989fa 100644 --- a/libyasmine/source/timed_event_creator.cpp +++ b/libyasmine/source/timed_event_creator.cpp @@ -53,7 +53,7 @@ handle_type timed_event_creator::create_event_creation_request( sxe::unique_lock< sxe::mutex > lock( mutex_ ); if( run_ ) { - handle = generate_handle(); + handle = generate_handle(); event_creation_requests_.insert( event_creation_request( _time, _event, handle ) ); } else diff --git a/libyasmine/source/transition_finder.cpp b/libyasmine/source/transition_finder.cpp index f8dcc67..62c7444 100644 --- a/libyasmine/source/transition_finder.cpp +++ b/libyasmine/source/transition_finder.cpp @@ -108,7 +108,7 @@ void transition_finder::search_choice_transitions( const raw_const_choices& _cho if( !try_to_build_compound_transition( *transition, _compound_transitions, _event, _event_collector ) ) { LOG_AND_THROW( hermes::log_level::LL_FATAL, - "Transition following choice '%' could not be built in compound transition!", choice->get_name() ); + "Transition following choice '%' could not be built in compound transition!", choice->get_name() ); } else { diff --git a/libyasmine/source/vertex_impl.cpp b/libyasmine/source/vertex_impl.cpp index de562cd..a2b1391 100644 --- a/libyasmine/source/vertex_impl.cpp +++ b/libyasmine/source/vertex_impl.cpp @@ -79,21 +79,14 @@ void vertex_impl::add_outgoing_transition( transition& _outgoing_transition ) { if( has_no_guard( &_outgoing_transition ) ) { - outgoing_transitions_.push_back( &_outgoing_transition ); + outgoing_transitions_.push_back( &_outgoing_transition ); } else { - raw_transitions::const_iterator insert_position = find_first_transition_without_guard( outgoing_transitions_ ); - if( insert_position != outgoing_transitions_.end() ) + raw_transitions::iterator insert_position = find_first_transition_without_guard( outgoing_transitions_ ); + if( insert_position != outgoing_transitions_.end() ) { -#ifdef SX_CPP03_BOOST - raw_transitions::iterator insert_position_03 = - outgoing_transitions_.begin() + - std::distance( const_cast(outgoing_transitions_).begin(), insert_position ); - outgoing_transitions_.insert( insert_position_03, &_outgoing_transition ); -#else outgoing_transitions_.insert( insert_position, &_outgoing_transition ); -#endif } else { @@ -244,9 +237,9 @@ void vertex_impl::add_ancestor_uri( sxe::uri& _uri ) const } -raw_transitions::const_iterator vertex_impl::find_first_transition_without_guard( const raw_transitions& _vector_of_transitions ) +raw_transitions::iterator vertex_impl::find_first_transition_without_guard( raw_transitions& _vector_of_transitions ) { - raw_transitions::const_iterator found_position = std::find_if( _vector_of_transitions.begin(), _vector_of_transitions.end(), + raw_transitions::iterator found_position = std::find_if( _vector_of_transitions.begin(), _vector_of_transitions.end(), ( sxe::bind( &vertex_impl::has_no_guard, sxe::_1 ) ) ); return( found_position ); }