850 Commits

Author SHA1 Message Date
John Wellbelove
413fa27580 Added macros.h to project 2019-09-23 19:45:17 +01:00
John Wellbelove
0f35e3c384 Removed ECL
Updated properties and json files
Updated versions
2019-09-22 10:39:00 +01:00
John Wellbelove
54761ade12 Fixed incorrect results from increment/decrement pointers in atomic_gcc_sync 2019-08-03 20:50:36 +01:00
John Wellbelove
419c5b31c4 Removed redundant etl::const_array_view 2019-07-26 16:20:55 +01:00
John Wellbelove
7593c0b14b Moved string related code to its own folder in VS project 2019-07-13 13:09:28 +01:00
John Wellbelove
c43620d8d8 Various fixes.
void assign(const_pointer, size_t) did not set the truncation flag.
Fixed resize(0) error for etl::fixed_list
Removed erroneous pointers in etl::unordered_map::begin()
2019-07-13 12:33:52 +01:00
John Wellbelove
9fbbb5cc19 Added runtime sample size specialisations to etl::cumulative_moving_average 2019-07-05 13:49:38 +01:00
John Wellbelove
8f29bb8862 ETL's random number generators are now non-polymorphic by default.
Define ETL_POLYMORPHIC_RANDOM to enable previous functionality.
2019-07-01 10:31:02 +01:00
John Wellbelove
6efad78028 Compatibility changes for GCC v5.4. 2019-06-23 09:54:02 +01:00
John Wellbelove
452daf23b9 Updated test example 2019-06-05 13:32:56 +01:00
John Wellbelove
82437c9bca Simplified message framework internal code.
Additional receive() virtual function overload taking destination id.
Removed is_bus() member function.
2019-05-27 12:01:06 +01:00
John Wellbelove
8017258000 Variadic template etl::largest etc. 2019-05-26 13:05:54 +01:00
John Wellbelove
bda8c8bff4 Merge remote-tracking branch 'origin/master' into feature/C++11_variadic_templates
# Conflicts:
#	include/etl/type_traits.h
#	include/etl/type_traits_generator.h
#	include/etl/version.h
#	support/Release notes.txt
#	test/test_string_u16.cpp
#	test/test_string_u32.cpp
#	test/test_string_wchar_t.cpp
#	test/test_type_traits.cpp
#	test/vs2017/etl.vcxproj
#	test/vs2017/etl.vcxproj.filters
2019-05-25 16:08:50 +01:00
John Wellbelove
a5fb2dfc99 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/delegate.h
#	include/etl/version.h
#	support/Release notes.txt
#	test/test_delegate.cpp
2019-05-22 20:21:07 +01:00
John Wellbelove
788566cc00 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	test/test_string_u16.cpp
#	test/test_string_u32.cpp
#	test/test_string_wchar_t.cpp
#	test/vs2017/etl.vcxproj.filters
2019-05-19 23:24:12 +01:00
John Wellbelove
8ab44900e4 Merge remote-tracking branch 'origin/development' into feature/C++11_variadic_templates 2019-05-16 23:40:43 +01:00
John Wellbelove
4977f39a3b Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/version.h
#	support/Release notes.txt
#	test/test_string_char.cpp
2019-05-12 18:14:50 +01:00
John Wellbelove
20fd786e42 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/memory.h
#	include/etl/version.h
#	support/Release notes.txt
#	test/test_memory.cpp
2019-05-12 11:28:45 +01:00
John Wellbelove
b5ed7a8ff9 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/memory.h
#	include/etl/version.h
#	support/Release notes.txt
#	test/test_memory.cpp
2019-05-12 11:28:25 +01:00
John Wellbelove
665c4591f2 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/version.h
#	support/Release notes.txt
2019-05-06 20:57:08 +01:00
John Wellbelove
09bc257d9f Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/version.h
#	support/Release notes.txt
2019-05-05 10:04:17 +01:00
John Wellbelove
42c3ee4938 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/version.h
#	support/Release notes.txt
#	test/vs2017/etl.vcxproj.filters
2019-04-27 16:15:37 +01:00
John Wellbelove
d084fe9969 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/version.h
#	support/Release notes.txt
#	test/vs2017/etl.vcxproj.filters
2019-04-27 16:14:40 +01:00
John Wellbelove
6dc5813011 Merge branch 'development' 2019-04-19 13:51:45 +01:00
John Wellbelove
4daa7b8027 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/version.h
#	support/Release notes.txt
2019-04-18 20:44:01 +01:00
John Wellbelove
572563c2a9 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/version.h
2019-04-16 18:26:42 +01:00
John Wellbelove
7ca0b12583 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/private/to_string_helper.h
#	include/etl/version.h
#	support/Release notes.txt
#	test/test_to_string.cpp
#	test/test_to_u16string.cpp
#	test/test_to_u32string.cpp
#	test/test_to_wstring.cpp
2019-04-16 18:13:37 +01:00
John Wellbelove
30fe51a240 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/to_string.h
#	include/etl/to_u16string.h
#	include/etl/to_u32string.h
#	include/etl/to_wstring.h
#	support/Release notes.txt
2019-04-15 19:39:39 +01:00
John Wellbelove
365c719fbf Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/basic_format_spec.h
#	include/etl/private/to_string_helper.h
#	include/etl/to_string.h
#	include/etl/to_u16string.h
#	include/etl/to_u32string.h
#	include/etl/to_wstring.h
#	include/etl/version.h
#	support/Release notes.txt
2019-04-14 19:43:09 +01:00
John Wellbelove
8d46963bb0 Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	include/etl/format_spec.h
#	include/etl/private/to_string_helper.h
#	include/etl/to_string.h
#	include/etl/to_u16string.h
#	include/etl/to_u32string.h
#	include/etl/to_wstring.h
#	include/etl/version.h
#	support/Release notes.txt
#	test/test_to_string.cpp
#	test/test_to_u16string.cpp
#	test/test_to_u32string.cpp
#	test/test_to_wstring.cpp
#	test/vs2017/etl.vcxproj.filters
2019-04-09 08:21:28 +01:00
John Wellbelove
7844142c19 Merge remote-tracking branch 'origin/feature/to_string' into development
# Conflicts:
#	include/etl/version.h
#	support/Release notes.txt
#	test/vs2017/etl.vcxproj.filters
2019-04-08 19:37:41 +01:00
John Wellbelove
aa286a5126 Merge remote-tracking branch 'origin/feature/vector_external_buffer' into development 2019-03-28 21:23:13 +00:00
John Wellbelove
2a3f32b47c External buffer support for vector 2019-03-28 21:22:39 +00:00
John Wellbelove
d2200d80d8 Extended 'truncate' flag rules. 2019-03-23 14:24:39 +00:00
John Wellbelove
6e72c5beca Removed test for self in += operator. 2019-03-21 21:01:27 +00:00
John Wellbelove
f03359790a Modified 'truncated' to only be cleared on 'clear()' or 'assign()'.
Added assignment from zero terminated string pointer.
2019-03-21 20:45:28 +00:00
John Wellbelove
9b0fd374d1 Merge remote-tracking branch 'origin/master' into feature/vector_external_buffer 2019-03-17 22:27:03 +00:00
John Wellbelove
92989feda9 Fixed setting of 'truncated' 2019-03-17 17:49:25 +00:00
John Wellbelove
0db5da44f2 Partial updates 2019-03-14 21:13:42 +00:00
John Wellbelove
2f586c2a91 Partial updates 2019-03-14 05:52:43 +00:00
John Wellbelove
150fdf7f54 Partial updates 2019-03-13 21:24:42 +00:00
John Wellbelove
3f5de324c5 Partial unit test updates 2019-03-13 15:51:04 +00:00
John Wellbelove
c7ea481274 Partial implementation of vector of pointers 2019-03-10 20:13:46 +00:00
John Wellbelove
496edaf981 Partial implementation 2019-03-10 16:05:36 +00:00
John Wellbelove
a630d66c33 Fixed string push_back bug where the internal terminator was not updated. 2019-03-06 22:22:10 +00:00
John Wellbelove
752191e819 Updated profiles for C++17 2019-02-26 10:00:21 +01:00
John Wellbelove
8cfb3fce23 Added queue_spsc_locked with injected lock and unlock functionality. 2019-02-25 09:42:51 +01:00
John Wellbelove
ab91c7af33 Revert "Modified ISR queue to take references to etl::ifunction instances at runtime rather than static class at compile time."
This reverts commit 4aab7c017302b446f87037e25430167a80d9b749.
2019-02-25 09:02:12 +01:00
John Wellbelove
4aab7c0173 Modified ISR queue to take references to etl::ifunction instances at runtime rather than static class at compile time. 2019-02-25 08:45:53 +01:00
John Wellbelove
f0fcb78e24 Enabled emplace functions for C++03 2019-02-24 10:04:13 +01:00
John Wellbelove
fd50e7e385 Move C++03 force macros to profile 2019-02-23 08:36:07 +01:00
creibetanz
059159fe1f function.h add const to operator () (#117)
Change-Id: Id70a05ab1bfdb95499a3c6622379c8bb639f5f40
2019-02-20 08:57:52 +00:00
John Wellbelove
3a389a9d96 Created C++03 Code::Blocks project as a quick check for C++03 syntax compatibility. 2019-02-14 14:48:31 +01:00
John Wellbelove
55ed3640b2 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/version.h
#	support/Release notes.txt
2019-02-14 12:54:28 +01:00
John Wellbelove
6aa0d0a3a5 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/version.h
#	support/Release notes.txt
2019-02-13 20:37:28 +01:00
John Wellbelove
87d73bf602 Merge remote-tracking branch 'origin/development'
# Conflicts:
#	include/etl/version.h
#	support/Release notes.txt
2019-02-13 11:29:02 +01:00
John Wellbelove
6b3788de98 C++03 check project 2019-02-11 12:33:33 +01:00
John Wellbelove
cf9ec9763e Added missing header include to frame_check_sequence.h 2019-02-10 09:31:36 +00:00
John Wellbelove
5b8345106e Fix vector insert for certain operations 2019-02-08 17:51:10 +00:00
John Wellbelove
df56f94815 Added OFFSET template parameter 2019-02-03 20:29:40 +00:00
John Wellbelove
2cef994d5b Changed from static to normal class 2019-02-03 10:24:47 +00:00
John Wellbelove
4c713d38f0 Callback service 2019-02-02 19:37:23 +00:00
John Wellbelove
48379a8ff2 Merge branch 'development' into feature/rvalue-references 2019-01-05 11:34:24 +00:00
John Wellbelove
cae432fc31 Added move only data type 2019-01-01 14:03:46 +00:00
John Wellbelove
96ce602874 Added interface move assignment. 2019-01-01 14:03:02 +00:00
John Wellbelove
6b165aee54 Added interface move assignment. 2019-01-01 14:02:43 +00:00
John Wellbelove
48aabaad54 Added interface move assignment.
Added move splice & merge.
2019-01-01 14:02:08 +00:00
John Wellbelove
05bc2b83b5 Added move member functions 2018-12-30 11:16:52 +00:00
John Wellbelove
dc6f6796f6 Added move constructor & move assignment 2018-12-30 11:16:33 +00:00
John Wellbelove
2aae4c1104 Added move tests 2018-12-30 11:15:41 +00:00
John Wellbelove
9266920e2a Added rvalue reference push_back & insert. 2018-12-29 15:36:08 +00:00
John Wellbelove
fa891b9dbc Minor change top variable declaration 2018-12-29 15:35:12 +00:00
John Wellbelove
f8c6830807 Merge remote-tracking branch 'origin/feature/cumulative_moving_average' into development 2018-12-28 09:45:43 +00:00
John Wellbelove
3e4035e059 Added rvalue reference API 2018-12-16 18:36:01 +00:00
John Wellbelove
8627b8771e Added move algorithms & utility. 2018-12-16 18:35:37 +00:00
John Wellbelove
6b29f4eaca Added C++03/C++11 emplace for deque, priority_queue, queues, stack, variant & vector. 2018-12-09 12:11:54 +00:00
John Wellbelove
b7cc17f84a Merge remote-tracking branch 'origin/development' into feature/emplace_var_arg 2018-12-08 16:01:35 +00:00
Jonathan Pan
8e9eaf4f7c [#101] Adding non-const emplace overloads for vector (#102) 2018-11-04 11:51:55 +00:00
John Wellbelove
6def4a10a0 Merge branch 'feature/clion_project' into development 2018-10-31 20:34:14 +00:00
John Wellbelove
8cdf601249 Removed unused code 2018-10-28 15:34:47 +00:00
John Wellbelove
7ceabcb571 Merge from GitLab CMake-CLion feature branch 2018-10-28 12:54:45 +00:00
John Wellbelove
aee76d67e8 Merge remote-tracking branch 'origin/feature/bit_stream' into development
# Conflicts:
#	include/etl/profiles/armv6.h
#	include/etl/profiles/armv6_no_stl.h
#	include/etl/version.h
#	support/Release notes.txt
#	test/vs2017/etl.vcxproj.filters
2018-10-07 08:37:14 +01:00
John Wellbelove
b3dcf0e881 Added permuted congruential random generator 2018-09-22 13:25:07 +01:00
John Wellbelove
0e6bad5c91 Modified the API of etl::state_chart constructors. 2018-09-15 09:48:52 +01:00
John Wellbelove
02987191a5 Removed push(void) push_back(void) and push_front(void) function for containers. 2018-09-15 08:58:08 +01:00
John Wellbelove
218b1573f8 Added CRC16 MODBUS
Added ETL_ prefic to extern const arrays.
2018-09-14 19:25:32 +01:00
John Wellbelove
2ab1d8d346 Swapped event and current state parameters for state transition 2018-09-12 17:35:59 +01:00
John Wellbelove
37e86e7971 Process event loops until action or end of transition table 2018-09-11 23:00:25 +01:00
John Wellbelove
9becaefdd8 Added start() and changed order of execution. 2018-09-10 20:42:32 +01:00
John Wellbelove
5aa369451e State Chart Template
Unit tests complete
2018-09-08 15:44:33 +01:00
John Wellbelove
61f0953c9b Added entry and exit 2018-09-07 00:33:30 +01:00
John Wellbelove
5a3f6b4355 First draft 2018-09-06 21:33:33 +01:00
John Wellbelove
60f7061bef #93 map.h on release 11.15.0 does not compile with clang-6 2018-09-04 23:25:16 +01:00
John Wellbelove
91df7d5219 Added missing find_n & transform 2018-08-27 23:30:33 +01:00
John Wellbelove
e5e38a8ee8 Compatibility with Keil compiler 2018-08-27 22:07:17 +01:00
John Wellbelove
b6b6a36316 Added missing find_n & transform 2018-08-27 22:06:49 +01:00
John Wellbelove
1606ae3dcc Added missing algorithms.
Fixed namespace selection.
2018-08-27 13:22:04 +01:00
John Wellbelove
0b0ce2645b Merge remote-tracking branch 'origin/feature/shared_pools' into development
# Conflicts:
#	include/etl/list.h
2018-08-22 20:13:18 +01:00
John Wellbelove
bfebb770e6 Fix string compare tests to be more compatible across compilers. 2018-08-18 14:49:23 +01:00
John Wellbelove
20485936c5 Added bind1st & bind2nd to alternate STL implementations.
Added additional conditional compilation to algorithms using 'bind'.
2018-08-18 12:04:11 +01:00
John Wellbelove
df83a04166 Merge remote-tracking branch 'origin/master' into feature/no_stl
# Conflicts:
#	include/etl/memory.h
#	include/etl/private/ivectorpointer.h
#	include/etl/stl/alternate/limits.h
#	include/etl/stl/iterator.h
#	test/test_no_stl_algorithm.cpp
#	test/test_no_stl_functional.cpp
#	test/test_no_stl_limits.cpp
#	test/test_no_stl_utility.cpp
#	test/test_vector_pointer.cpp
#	test/vs2017/etl.vcxproj.filters
2018-08-18 10:09:56 +01:00
John Wellbelove
7a9ade20c2 Added alternate STL support to allow 'No STL' option. 2018-07-22 20:47:33 +01:00
John Wellbelove
d11ad9518f Initial changes 2018-06-19 06:24:37 +01:00
John Wellbelove
fee3fd36fe Merge remote-tracking branch 'origin/feature/fsm_deferred_event' into development 2018-06-17 21:11:37 +01:00
John Wellbelove
9ce21fb071 Added tests for recursive messages. 2018-06-17 21:10:48 +01:00
John Wellbelove
eeb6a310c1 Compatibility changes for Segger IDE, GCC & STLPort 2018-06-14 21:53:54 +01:00
John Wellbelove
5e30f02449 Fixed missing semicolons 2018-06-12 21:12:32 +01:00
John Wellbelove
7fbc543080 Merge remote-tracking branch 'origin/feature/CMake' into development
# Conflicts:
#	test/vs2017/etl.vcxproj.filters
2018-05-31 22:21:09 +01:00
John Wellbelove
83d495bc21 Added binary_merge, binary_interleave, is_odd, is_even 2018-05-20 09:16:20 +01:00
John Wellbelove
028686b244 Fixed GCC warning for tests 2018-05-12 09:01:39 +01:00
John Wellbelove
681bc407ac Github Issue #73
set_period & set_mode no longer automatically start the timer.
2018-05-09 23:11:56 +01:00
John Wellbelove
837da911c2 Github Issue #73
Fixed issue where single shot timers could not be altered once timed out.
2018-05-09 23:02:50 +01:00
John Wellbelove
d39e51847a Added CRC32-C (Castagnoli) 2018-05-05 09:50:49 +01:00
John Wellbelove
27aa3a2ab3 Added new binary utilities 2018-04-29 19:59:46 +01:00
Austin Morton
dcd42ee17e Fix assumption that min/max macros will always be defined on a Microsoft compiler (#72)
Merge in min-max changes to a feature branch
2018-04-24 14:27:18 +01:00
John Wellbelove
8085f97e52 Rewrite of debug count so that it does not exists in unit test code or when explicitly enabled. 2018-04-24 14:15:30 +01:00
John Wellbelove
d63afc70ea Removed non-compliant constexpr 2018-04-21 18:26:24 +01:00
John Wellbelove
67a32df7d0 Added etl::type_select 2018-04-21 17:45:34 +01:00
John Wellbelove
f2416da7ea Changed header guards to be GCC compliant. 2018-04-21 09:24:45 +01:00
John Wellbelove
23888c4be6 Added permutations and combinations template constants. 2018-04-14 10:46:15 +01:00
John Wellbelove
c14db00d88 Merge remote-tracking branch 'origin/feature/spsc_queues' into development
# Conflicts:
#	test/vs2017/etl.sln
#	test/vs2017/etl.vcxproj
2018-04-08 19:55:29 +01:00
John Wellbelove
1ca0ad94a9 Added SPSC and MPSC queues 2018-04-08 18:10:23 +01:00
John Wellbelove
bc0a8a49a7 Updates to atomic classes. 2018-04-02 12:26:58 +01:00
John Wellbelove
b473cfe20a Merge branch 'feature/64bit_tests' into development 2018-03-30 13:22:17 +01:00
John Wellbelove
28ac7c12ba Changes for increased 64bit compatibility. 2018-03-30 12:46:16 +01:00
John Wellbelove
ab65a5abaa Added std::initializer_list constructors when ETL_CPP11_SUPPORTED is defined as 1 2018-03-25 14:34:28 +01:00
John Wellbelove
d28c88b1da Added reset() to etl::optional 2018-03-22 06:10:07 +00:00
John Wellbelove
8ac3b64823 Added reset() to etl::optional 2018-03-21 19:35:18 +00:00
John Wellbelove
44068d1493 Merge from new directories feature.
Added files to VS project.
Fixed ETL_FILE numbering clashes.
2018-03-18 18:14:11 +00:00
John Wellbelove
4864e95b36 New directory layout 2018-03-18 17:48:29 +00:00
John Wellbelove
224df730c3 Merge remote-tracking branch 'origin/master' into development 2018-03-18 14:13:24 +00:00
John Wellbelove
eee0157372 Added version macros 2018-03-01 09:14:11 +00:00
John Wellbelove
a58d1f5861 Remove variant.h GCC warnings from use of -Wextra 2018-02-26 21:03:22 +00:00
John Wellbelove
1e34b5cf46 Add #ifdef for GCC pragma 2018-02-25 13:41:40 +00:00
John Wellbelove
d3493d601d Add full set of operators to etl::optional 2018-02-25 13:21:27 +00:00
John Wellbelove
d1adfab03c Remove more GCC warnings from use of -Wextra 2018-02-25 13:21:00 +00:00
John Wellbelove
c35f962e6f Merge remote-tracking branch 'origin/master' into development
# Conflicts:
#	test/codeblocks/ETL.layout
#	test/test_pool.cpp
2018-02-24 10:55:36 +00:00
John Wellbelove
f296d9eadf Signed/Unsigned warnings 2018-02-18 14:19:39 +00:00
John Wellbelove
703a9e0f4a Changes from master 2018-02-18 14:18:24 +00:00
John Wellbelove
a53768cc28 Re-write of debounce to improve base code reuse. 2018-02-17 21:32:31 +00:00
John Wellbelove
070e8fe6b6 Improved etl::endianness.
Added static functions.
2018-02-16 10:11:19 +00:00
John Wellbelove
6b9e408ca2 Merge remote-tracking branch 'origin/feature/strict_aliasing' into development 2018-02-11 19:34:51 +00:00
John Wellbelove
9404af8074 Codeblocks projects changes 2018-02-11 18:45:42 +00:00
John Wellbelove
b4bf215675 Removed unused variables 2018-02-11 18:45:10 +00:00
John Wellbelove
611b6cf011 Merge remote-tracking branch 'origin/feature/pool_emplace' into development 2018-02-11 18:39:24 +00:00
John Wellbelove
1c4f0596a9 Added 'create' and 'destroy' functions 2018-02-11 17:25:40 +00:00
John Wellbelove
58e155658e Alignment tests for conversion operators 2018-02-08 16:00:05 +00:00
John Wellbelove
879fb1f626 Improvements to message and callback timer frameworks.
Reduced disable/enable time dur function calls.
Added the option to use either atomic semaphores or interrupt enables to control access.
2018-02-05 21:16:43 +00:00
John Wellbelove
4b1eeee511 Added emplace functions to etl::variant 2018-02-04 17:42:34 +00:00
John Wellbelove
1dd1ffc4e4 Added emplace functions to etl::variant 2018-02-04 17:34:51 +00:00
John Wellbelove
7ce4fedf58 Added emplace member functions to flat_map, flat_multimap, flat_set and flat_multiset 2018-02-03 21:09:22 +00:00
John Wellbelove
246eeef00d Added protected destructors to FSM & message_timer and code to message router packet destructor to choose correct method of destruction. 2018-02-02 14:17:09 +00:00
John Wellbelove
61b8722500 Added variant_pool generator. 2018-02-01 17:28:49 +00:00
John Wellbelove
135506b534 Re-written to avoid 'undefined behavior' by allowing containers to be polymorphic or not base on a compile time macro. 2018-02-01 10:15:51 +00:00
John Wellbelove
f9699d3cd4 Added ETL_POLYMORPHIC_XXX defines 2018-02-01 10:13:48 +00:00
John Wellbelove
6a964ee90f Ignore output files from 'random' algorithms. 2018-01-30 08:48:43 +00:00
John Wellbelove
eb222f54bb Containers are now deleteable through a pointer to their 'ixxxx' class. 2018-01-30 08:47:49 +00:00
John Wellbelove
bf06775b51 Added fast clear for types that are trivially destructible. (Integral and pointer types only for C++03) 2018-01-27 15:40:03 +00:00
John Wellbelove
cb03b5f177 Code::Blocks project update 2018-01-25 10:45:28 +00:00
John Wellbelove
3385d2cf04 GCC compatibility changes 2018-01-23 13:15:18 +00:00
John Wellbelove
71b865ae6b GCC compatibility changes 2018-01-23 12:15:12 +00:00
John Wellbelove
7fc874617d Updated 2018-01-23 09:33:16 +00:00
John Wellbelove
48df943aa0 Renamed xor_shift to xor_rotate 2018-01-23 09:20:53 +00:00
John Wellbelove
4cb02cb6df Added shift version of XOR checksum
XOR:      sum = sum ^ value
XOR-shift sum = etl::rotate_left(sum) ^ value
2018-01-22 09:07:25 +00:00
John Wellbelove
bb294e80fe Array wrapper and unit tests 2018-01-21 18:42:03 +00:00
John Wellbelove
9140ddcd1c Added etl::string_view 2017-12-31 20:23:06 +00:00
John Wellbelove
a14e9b25bb Added default constructor.
Made single parameter constructors explicit.
Added
  assign()
  remove_prefix()
  remove_suffix()
  operator = ()
2017-12-30 17:32:14 +00:00
John Wellbelove
bcaa75a4e1 Added array_view to CodeBlocks 2017-12-26 16:50:47 +00:00
John Wellbelove
835a5cbad0 Added array_view 2017-12-26 16:10:34 +00:00
John Wellbelove
35a94fcd7b Updated CRT SDK version 2017-12-22 16:38:28 +00:00
John Wellbelove
cc23016e9f Added release notes 2017-12-22 11:15:09 +00:00
John Wellbelove
02c96ba791 Added etl::variant_pool as a replacement for etl::factory. 2017-12-21 13:55:48 +00:00
John Wellbelove
f366d26a26 Removed factory.
Added variant_pool
2017-12-21 13:54:17 +00:00
John Wellbelove
39ad0fe808 Added sign_extend functions with shift parameter. 2017-12-15 13:59:03 +00:00
John Wellbelove
316ea01507 Added new binary.cpp 2017-12-05 18:51:47 +00:00
John Wellbelove
c0169188ca Made some templates into normal functions and moved to binary.cpp
Added bit<> template constant
Added bit enumerations
2017-12-05 18:49:50 +00:00
John Wellbelove
7f32909209 Fixed inconsistencies in the dynamic IO port API. 2017-12-01 09:52:00 +00:00
John Wellbelove
d658dd11b8 Rewrite of classes to improve efficiency by removing iterator indirection step. 2017-11-30 17:05:37 +00:00
John Wellbelove
aac3277f06 Added 'conditional_integral_constant' to complement 'conditional' 2017-11-30 17:02:58 +00:00
John Wellbelove
9f4fe86df9 Added 'successor' member to allow implementation 'Chain Of Responsibility' pattern. 2017-11-30 16:56:22 +00:00
John Wellbelove
a742749849 Merge branch 'development' 2017-11-01 09:33:17 +00:00
John Wellbelove
0c65164483 Added is_null_router() & is_bus() to imessage_router 2017-10-27 11:11:22 +01:00
John Wellbelove
1c769b0fb2 Amalgamated ecl_timer_list into ecl_timer 2017-10-27 11:10:27 +01:00
John Wellbelove
ed8b47dacd Added etl::generic_pool top level template class. 2017-10-26 10:42:13 +01:00
John Wellbelove
20753250fb Fix bug in compare_exchange_weak where 'expected' was not modified on fail. 2017-10-25 21:19:40 +01:00
John Wellbelove
ca3236ef2f Merge remote-tracking branch 'origin/feature/timer_triggered' into development
# Conflicts:
#	test/codeblocks/ETL.cbp
2017-10-24 11:28:22 +01:00
John Wellbelove
61d3835f9d Remove warnings 2017-10-21 09:07:41 +01:00
John Wellbelove
3e536e5946 Merge branch 'development' 2017-10-21 08:55:25 +01:00
John Wellbelove
8c05843b30 Merge remote-tracking branch 'origin/master' into development
# Conflicts:
#	test/codeblocks/ETL.cbp
#	test/codeblocks/ETL.depend
#	test/test_callback_timer.cpp
#	test/test_message_timer.cpp
2017-10-21 08:38:52 +01:00
John Wellbelove
f9e4fd8730 Removed internal 'tick_count' member from timers.
Fixed usage of atomic guard variables. Calls load() instead of relying on implicit cast.
Fixed Windows threading issue for callback and message timer tests.
2017-10-20 22:08:25 +01:00
John Wellbelove
cc26d5e6ba Fixed corner case when no timer is active for around 2^32 ticks and the internal tick count rolls over just after a new timer is started.
Also tick(uint32_t count) was not returning the correct value when tick processing did not occur.
2017-10-19 18:17:56 +01:00
John Wellbelove
e174276556 Fix bug if timer list is empty for 49+ days. (Internal tick count rollover) 2017-10-19 10:31:27 +01:00
John Wellbelove
8455e108bc Merge remote-tracking branch 'origin/feature/Timer_triggered_messages' into development
# Conflicts:
#	examples/ArmTimerCallbacks/RTE/Device/STM32F401RETx/startup_stm32f401xe.s
#	examples/ArmTimerCallbacks/RTE/Device/STM32F401RETx/system_stm32f4xx.c
#	examples/FunctionInterruptSimulation/FunctionInterruptSimulation.cpp
#	examples/FunctionInterruptSimulation/vs2017/FunctionInterruptSimulation.sln
#	examples/FunctionInterruptSimulation/vs2017/FunctionInterruptSimulation.vcxproj
#	examples/FunctionInterruptSimulation/vs2017/FunctionInterruptSimulation.vcxproj.filters
#	test/codeblocks/ETL.cbp
#	test/codeblocks/ETL.depend
#	test/codeblocks/ETL.layout
#	test/test_cyclic_value.cpp
#	test/vs2017/etl.vcxproj
#	test/vs2017/etl.vcxproj.filters
2017-10-18 09:02:46 +01:00
John Wellbelove
53412f898f Added etl::function variants that take both the instance and member function at compile time. 2017-10-11 13:22:11 +01:00
John Wellbelove
49fe0054d2 Created compile time and runtime variants of cyclic_value. 2017-10-02 19:48:30 +01:00
John Wellbelove
66843b75d3 Removed Keil projects 2017-10-02 19:45:55 +01:00
John Wellbelove
d6e3d2766f Added a compare template that defines <=, >, >= in terms of std::less or a user supplied comparison class. 2017-09-30 19:43:53 +01:00
John Wellbelove
9da7e3cd5d Changed SIZE to MAX_SIZE for MSVC compatibility 2017-09-30 18:53:40 +01:00
John Wellbelove
cb6153c95a Allow factory to create non-class types. 2017-09-29 20:35:11 +01:00
John Wellbelove
c6876f65d1 Added a compare template that defines <=, >, >= in terms of std::less or a user supplied comparison class. 2017-09-28 11:11:49 +01:00
John Wellbelove
24e661c63a Removed constraint for types to derived from base class. 2017-09-28 10:49:07 +01:00
John Wellbelove
8f8dbf7771 Improved efficiency for large advances.
Added static assert for integral types.
2017-09-21 19:46:26 +01:00
John Wellbelove
7dcf6b50a7 Added pop_into to intrusive_queue
Added pop_into to intrusive_stack
Added reverse to intrusive_stack
2017-09-21 14:05:30 +01:00
John Wellbelove
c6e1e9ac00 Added pop_into(iqueue&) to queue
Added pop_into(istack&) to stack
Added reverse() to stack.
2017-09-19 20:21:03 +01:00
John Wellbelove
1803dca3eb Ignored 2017-09-19 08:37:27 +01:00
John Wellbelove
51b5675e6a Added static runtime get_id_from_type member functions. 2017-09-19 08:31:44 +01:00
John Wellbelove
ae57448c3e Made invalid id or types a compile time error. 2017-09-18 10:50:05 +01:00
John Wellbelove
f8ff224365 Fixed formatting typo.
Added missing files to projects.
2017-09-17 18:01:37 +01:00
John Wellbelove
a9e61444a9 Changed create_from_id to return actual derived type. 2017-09-17 16:08:49 +01:00
John Wellbelove
84f5fd946e Fixed GCC warning.
Fixed formatting typo.
2017-09-17 12:56:57 +01:00
John Wellbelove
873998518c Modified factory to accept non-contiguous type ids.
Added support for compile time type-to-id id-to-type type-to-type mapping
2017-09-17 12:43:45 +01:00
John Wellbelove
b885ad3d33 Added 'pop_into' member functions. 2017-09-14 16:27:32 +01:00
John Wellbelove
29c9b658d7 Modified factory pattern 2017-09-13 13:17:11 +01:00
John Wellbelove
dcefb938c4 Changed max_items to max_size 2017-09-13 13:16:50 +01:00
John Wellbelove
7ee5acee18 Added factory pattern 2017-09-11 21:17:33 +01:00
John Wellbelove
259dbfa741 Added type size test and error to ipool::allocate 2017-08-25 14:27:20 +01:00
John Wellbelove
267408445b Added ETL extension etl::types to allow extraction of various types from a specified type. 2017-08-25 11:10:54 +01:00
John Wellbelove
b145adb4eb Added additional generator scripts. 2017-08-25 11:09:23 +01:00
John Wellbelove
ab9f3ce538 Changed the way nullptr is defined for Arduino projects. 2017-08-22 09:36:10 +01:00
John Wellbelove
8f7656a5df Fixed incompatibility in unit test for Code:Blocks 2017-08-22 01:05:25 +01:00
John Wellbelove
41eae71bd3 Simplified etl::parameter_type to remove unnecessary second template parameter. 2017-08-21 10:22:14 +01:00
John Wellbelove
38bcc1e06e Merge branch 'feature/Function' into development 2017-08-19 12:44:24 +01:00
John Wellbelove
1de9ad262a Added etl::function callback wrappers that take function pointers at compile time. 2017-08-19 11:36:56 +01:00
John Wellbelove
b437414fff Added constant test 2017-08-18 16:52:26 +01:00
John Wellbelove
5c040ad21c Changed project due to header name change. 2017-08-18 16:45:48 +01:00
John Wellbelove
6f13324c64 Added integral_limits to tests. 2017-08-18 16:44:42 +01:00
John Wellbelove
7f4d5c25d5 Added code to keep Code::Blocks happy 2017-08-18 16:44:19 +01:00
John Wellbelove
f4cc4c6fe3 Added integer square root template constant. 2017-08-18 12:58:51 +01:00
John Wellbelove
087c685f81 Added etl::constant helper class. 2017-08-18 12:58:25 +01:00
John Wellbelove
d313ec0da0 Modified Windows check. 2017-08-17 18:19:16 +01:00
John Wellbelove
69704e8b6a Made it optional for messages to be virtual.
By default they are not.
Can be made virtual by defining ETL_MESSAGES_ARE_VIRTUAL in the project settings.
2017-08-17 15:33:29 +01:00
John Wellbelove
915539ae8a Changes to allow compilation under various compilers. 2017-08-16 14:06:44 +01:00
John Wellbelove
aecee1efd1 Changes to allow compilation under various compilers. 2017-08-16 13:29:12 +01:00
John Wellbelove
fd1c3c41a2 Renamed endian to endianness due to unresolvable clash with system header on Linux. 2017-08-16 13:27:35 +01:00
John Wellbelove
a3fbf9ca46 Keil project files 2017-08-16 13:26:48 +01:00
John Wellbelove
67b24408cb Renamed due to unresolvable clash with system header on Linux. 2017-08-16 13:12:30 +01:00
John Wellbelove
af7d11c30c Keil CMSIS header 2017-08-15 13:10:12 +01:00
John Wellbelove
05d9f50f1d Changes to allow compilation under various compilers. 2017-08-14 14:43:33 +01:00
John Wellbelove
78c81ef929 Added allocate() and static assert test to etl::pool 2017-08-09 10:25:54 +01:00
John Wellbelove
dbd642e781 Merge branch 'master' into development
# Conflicts:
#	library.properties
#	src/algorithm.h
#	src/random.cpp
#	src/random.h
#	test/codeblocks/ETL.depend
#	test/test_random.cpp
2017-08-08 18:57:46 +01:00
John Wellbelove
d1df703d8c Shortened random_multiply_with_carry to random_mwc 2017-08-08 18:51:13 +01:00
John Wellbelove
302646850e Merge remote-tracking branch 'origin/development'
# Conflicts:
#	src/algorithm.h
#	test/codeblocks/ETL.depend
#	test/vs2017/etl.vcxproj.filters
2017-08-08 18:46:21 +01:00
John Wellbelove
6a7ff1bd7e Added multipy with carry random number generator. 2017-08-08 18:43:34 +01:00
John Wellbelove
e660e5b949 Added multipy with carry random number generator. 2017-08-08 18:41:00 +01:00
John Wellbelove
099b3f8cfd Merge remote-tracking branch 'origin/development'
# Conflicts:
#	test/codeblocks/ETL.depend
#	test/codeblocks/ETL.layout
2017-08-07 15:54:30 +01:00
John Wellbelove
56bb685561 Merge remote-tracking branch 'origin/FSM_&_Router' into development
# Conflicts:
#	src/file_error_numbers.txt
#	src/largest.h
#	test/codeblocks/ETL.depend
#	test/codeblocks/ETL.layout
2017-08-03 23:57:06 +01:00
John Wellbelove
2e5cc0eb4d FSM, Router and bus implementations. 2017-08-03 23:31:50 +01:00
John Wellbelove
67b21d7384 Fixed user_type.
Added unit tests
2017-08-03 23:24:01 +01:00
John Wellbelove
740e8b4dd6 Reverted message_id to a virtual function 2017-07-31 19:31:39 +01:00
John Wellbelove
12148f075f Turned FSM from a template to a normal class. 2017-07-31 16:48:32 +01:00