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
John Wellbelove
672102228f
Minor API changes
2017-07-31 10:29:05 +01:00
John Wellbelove
fccf172cb3
Added message bus tests to Code::Blocks project
2017-07-30 13:06:59 +01:00
John Wellbelove
25320ec578
GCC compatibility
2017-07-30 13:05:59 +01:00
John Wellbelove
55a196e203
Latest router and message bus changes.
...
Defined guaranteed call order for routers and busses.
2017-07-30 12:14:26 +01:00
John Wellbelove
7991e1aa7c
Latest router and message bus changes.
...
Defined guaranteed call order for routers and busses.
2017-07-30 11:26:53 +01:00
John Wellbelove
667b9e2b15
Added binary_find
2017-07-30 11:25:28 +01:00
John Wellbelove
f70850f7f5
Lastest FSM and router changes.
...
Added message_bus.
Created generators for largest and smallest.
2017-07-28 20:34:58 +01:00
John Wellbelove
dad0b8844a
Updated ignore
2017-07-26 12:05:36 +01:00
John Wellbelove
20609e1caf
Updated ignore
2017-07-26 12:00:33 +01:00
John Wellbelove
4c6161be98
Merge remote-tracking branch 'origin/development'
2017-07-26 12:00:18 +01:00
John Wellbelove
678984bf08
Merge branch 'Emplace' into development
2017-07-26 11:04:31 +01:00
John Wellbelove
044535d6d6
Merge branch 'Emplace' into development
...
# Conflicts:
# src/CreateFSM.bat
# src/CreateMessageRouter.bat
# src/flat_map.h
# src/fsm.h
# src/fsm_generator.h
# src/message_router.h
# src/message_router_generator.h
# src/queue.h
# src/vector.h
# test/codeblocks/ETL.depend
# test/codeblocks/ETL.layout
# test/data.h
# test/test_fsm.cpp
# test/test_message_router.cpp
# test/vs2017/etl.vcxproj
# test/vs2017/etl.vcxproj.filters
# test/vs2017/random.csv
2017-07-26 10:06:23 +01:00
John Wellbelove
74beb3421d
Fixed polynomial value for random_lsfr
2017-07-25 19:18:01 +01:00
John Wellbelove
0ccdd4fab4
Lastest versions of FSM, Message Router and supporting functionality.
2017-07-25 11:30:00 +01:00
John Wellbelove
73da59ad17
Integrated FSM and message router classes.
...
Fixed GCC compatibility issue.
Added on_enter_state() return tests.
2017-07-21 20:11:02 +01:00
John Wellbelove
7db12ea0fd
Integrated FSM and message router classes.
2017-07-21 20:11:02 +01:00
John Wellbelove
7bdca60d1a
Added 'larger_type', 'larger_int_type', 'larger_uint_type'.
2017-07-21 20:11:02 +01:00
John Wellbelove
04a9cb7bba
Changed FSM to be based on message router
2017-07-21 20:11:02 +01:00
John Wellbelove
efb0a408ce
Experimental message router and fsm classes.
2017-07-21 20:07:40 +01:00
John Wellbelove
f526a0172f
Added emplace functions supporting up to four parameters to the following containers.
...
forward_list
list
vector
queue
priority_queue
stack
# Conflicts:
# src/vector.h
# test/data.h
# test/vs2017/random.csv
2017-07-21 12:26:22 +01:00
John Wellbelove
c981bd0c96
Added emplace functions supporting up to four parameters to the following containers.
...
forward_list
list
vector
queue
priority_queue
stack
# Conflicts:
# src/vector.h
# test/data.h
# test/vs2017/random.csv
2017-07-21 11:59:40 +01:00
John Wellbelove
87b0aca32b
Added lcg, clcg and lsfr random number generators
2017-07-06 18:08:50 +01:00
John Wellbelove
f29121f252
Additional algorithms.
2017-06-29 17:22:02 +01:00
John Wellbelove
14074ade05
Additional algorithms.
2017-06-28 19:13:12 +01:00
John Wellbelove
a51530a96c
Completed modification of flat map/set classes to use reference flat map/set as bases.
2017-06-25 21:25:54 +01:00
John Wellbelove
3a89aaf612
Merge remote-tracking branch 'origin/development'
...
# Conflicts:
# src/cstring.h
# src/flat_map.h
# src/set.h
# src/u16string.h
# src/u32string.h
# src/wstring.h
# test/test_string_char.cpp
# test/test_string_u16.cpp
# test/test_string_u32.cpp
# test/test_string_wchar_t.cpp
# test/vs2017/etl.vcxproj.filters
2017-06-17 17:52:17 +01:00
John Wellbelove
bc7c3e4426
Merge remote-tracking branch 'origin/memcpy_containers' into development
...
# Conflicts:
# test/test_string_char.cpp
# test/test_string_u16.cpp
# test/test_string_u32.cpp
# test/test_string_wchar_t.cpp
2017-06-17 16:39:45 +01:00
John Wellbelove
97ead6fc27
Added repair functions to allow certain containers to copied with low level functions such as memcpy.
2017-06-17 15:33:04 +01:00
John Wellbelove
bb7a142ba4
Disabled random.csv output file.
2017-06-14 23:47:36 +01:00
John Wellbelove
0eb5324e18
Removed experimental files.
2017-06-14 23:42:12 +01:00
John Wellbelove
3f07a785f4
Fixed sort() so that it is now 'stable'.
...
Fixed return value type for const_iterator::operator->() in etl::list
2017-06-14 23:42:11 +01:00
John Wellbelove
d16f10cdb1
Added hash functors for top level string classes.
2017-06-14 23:39:35 +01:00
John Wellbelove
2858a078de
Removed experimental files.
2017-06-14 23:36:22 +01:00
John Wellbelove
889add0db6
Fixed sort() so that it is now 'stable'.
...
Fixed return value type for const_iterator::operator->() in etl::list
2017-06-14 23:35:56 +01:00
John Wellbelove
4bc0b58c3c
Added hash functors for top level string classes.
2017-06-14 20:26:58 +01:00
John Wellbelove
2674a81fa2
Experimental container memcpy support
2017-06-12 23:51:27 +01:00
John Wellbelove
7aeb8636c7
Experimental versions
2017-06-12 23:46:51 +01:00
John Wellbelove
6df2adf079
reference_wrapper test
2017-06-12 23:35:11 +01:00
John Wellbelove
14b25fc3f2
Conditional compilation for hash functions.
2017-06-12 23:08:49 +01:00
John Wellbelove
6c512e261c
Conditional compilation for hash functions.
2017-06-12 22:59:36 +01:00
John Wellbelove
64c8ec3c38
Retargetted solution (reverted from commit 9040f8bf9b41fc67e296e98a9f070e15ee237ead)
2017-06-12 22:53:48 +01:00
John Wellbelove
560ce6fc25
Retargetted solution
2017-06-12 22:46:08 +01:00
John Wellbelove
478b459ccc
Removed reference_flat_map from project (reverted from commit 168ac8510d8c928ead4ffa138f710794ffeed0fa)
2017-06-12 22:44:06 +01:00
John Wellbelove
3bbed492d6
Retargetted solution (reverted from commit 9040f8bf9b41fc67e296e98a9f070e15ee237ead)
2017-06-12 22:39:23 +01:00
John Wellbelove
168ac8510d
Removed reference_flat_map from project
2017-06-12 22:34:12 +01:00
John Wellbelove
9040f8bf9b
Retargetted solution
2017-06-12 22:30:31 +01:00
John Wellbelove
7b970c1ecc
Renamed key_value_parameter_t to key_parameter_t
2017-06-12 22:28:32 +01:00
John Wellbelove
909fc87515
Renamed key_value_parameter_t to key_parameter_t
2017-06-12 22:27:20 +01:00
jwellbelove
112327b071
Modified file path for uintest source files to get Appveyor running correctly.
2017-05-19 11:29:59 +01:00
John Wellbelove
b46616d3be
Updated VS2017 & Code::Blocks projects.
2017-05-09 20:53:53 +01:00
jwellbelove
a144f22679
Renamed 'intrusive' flat maps & sets to 'reference' to better reflect their true nature.
2017-05-09 09:02:02 +01:00
John Wellbelove
fe640ce8ef
Merge remote-tracking branch 'origin/development'
...
# Conflicts:
# src/cyclic_hash.h
# test/codeblocks/ETL.cbp
2017-05-08 22:43:34 +01:00
John Wellbelove
26b7326d72
Updated Code::Blocks project.
...
Changed test project include paths to use unittest++ as sub-module.
2017-05-08 20:48:22 +01:00
John Wellbelove
51bc6964a5
Updated project files
2017-04-19 18:42:03 +01:00
John Wellbelove
f4c7f1aa01
Added iterators to all io ports
2017-04-17 22:03:21 +01:00
John Wellbelove
0338612f48
Removed redundant tests
2017-04-17 21:02:53 +01:00
John Wellbelove
ac8568e26b
VS2017 project files
2017-04-17 21:02:08 +01:00
John Wellbelove
cb28239f23
Added intrusive flat map/multimap/set/multiset
2017-04-16 19:17:38 +01:00
John Wellbelove
3ec81db888
Changed 'key' in 'value_type' to const.
2017-04-15 10:16:08 +01:00
jwellbelove
f18f3154ec
Removed duplicate ivectorpointer.h from src directory.
2017-03-31 11:40:22 +01:00
jwellbelove
f66ab548b8
Removed duplicate ivectorpointer.h from src directory.
2017-03-31 11:38:57 +01:00
John Wellbelove
05e3f3acd6
Merge remote-tracking branch 'origin/development'
...
# Conflicts:
# test/test_algorithm.cpp
2017-03-04 20:13:25 +00:00
John Wellbelove
6561840019
Completed additional ETL extension algorithms
2017-03-04 19:30:36 +00:00
John Wellbelove
4b84cc955e
Changed internal operation to indirect access to improve insertion performance.
2017-03-04 14:53:05 +00:00
John Wellbelove
501f4d7efd
Merge remote-tracking branch 'origin/development'
2017-02-26 09:20:33 +00:00
John Wellbelove
a33ee11ef8
Removed default constructor from 'non-default constructor' type.
...
Modified tests to compensate.
2017-02-26 09:09:49 +00:00
John Wellbelove
79e33fbe81
Removed default constructor from 'non-default constructor' type.
...
Modified tests to compensate.
2017-02-25 20:32:27 +00:00
John Wellbelove
b2ba6badf7
Vector tests using non-trivial types.
2017-02-25 20:30:07 +00:00
John Wellbelove
0508d796bc
Added extra size tests
2017-02-23 23:14:07 +00:00
John Wellbelove
1e6fc88ab9
memory algorithm updates
2017-02-23 23:12:48 +00:00
John Wellbelove
7238f11ea4
Added more transform algorithms
2017-02-23 23:11:21 +00:00
jwellbelove
54714f1eda
Added for_each_if & transform_if
...
Corrected operation of transform_if
2017-02-23 08:37:56 +00:00
jwellbelove
536ad7f384
Corrected operation of transform_if
2017-02-23 08:21:47 +00:00
John Wellbelove
d72737d9b4
Added for_each_if & transform_if
2017-02-22 20:25:14 +00:00
John Wellbelove
62199d7872
Tests for etl::random
2017-02-16 06:53:37 +00:00
John Wellbelove
53d65cc6f7
Tests for etl::random
2017-02-16 06:53:36 +00:00
John Wellbelove
8f609f448e
Added iterator property type templates.
2017-02-16 06:53:36 +00:00
John Wellbelove
68675c3720
Updated project files.
2017-02-16 06:53:36 +00:00
John Wellbelove
1527e9781f
Added assign, insert and erase member functions.
2017-02-16 06:53:36 +00:00
John Wellbelove
bdd1f7e837
Additional safe 4 parameter versions of copy, copy_if & copy_n
2017-02-16 06:53:35 +00:00
John Wellbelove
aaac059008
Updated tests
2017-01-31 21:11:23 +00:00
jwellbelove
9848bba4d9
Removed Jenkins 64bit hash.
2017-01-18 12:49:49 +00:00
John Wellbelove
a371b27c2a
Performance tests for unordered map.
2016-12-31 10:07:14 +00:00
John Wellbelove
695e16a8e4
Experimental reimplementation of etl::pool
2016-12-31 10:06:40 +00:00
John Wellbelove
6c4a29b498
Fixed bug in erase()
2016-12-30 11:56:08 +00:00
John Wellbelove
bc18cfa496
Tests for intrusive_queue
2016-12-28 13:22:37 +00:00
John Wellbelove
5f3e05b8fc
Updated project files
2016-12-28 13:21:20 +00:00
John Wellbelove
36a018019b
Tabs to spaces
2016-12-28 13:20:58 +00:00
John Wellbelove
ff9cfa724b
Fixed GCC warnings
2016-12-28 13:20:40 +00:00
John Wellbelove
912cb40d0c
Fixed GCC warnings
...
Removed redundant code
2016-12-28 13:20:27 +00:00
John Wellbelove
0179e7123d
Changed string length calls.
2016-12-28 13:19:37 +00:00
John Wellbelove
a27ac63149
Removed redundant code
2016-12-28 13:18:26 +00:00
John Wellbelove
9e9fa45f13
Fixed GCC warnings
2016-12-28 13:18:05 +00:00
John Wellbelove
37f4dac47d
Restored commented out tests
2016-12-28 13:17:45 +00:00
John Wellbelove
093b29a48c
Removed support for auto and checked links.
2016-12-28 13:12:37 +00:00
John Wellbelove
b4f0855410
Fixed GCC warnings
2016-12-28 13:12:22 +00:00
John Wellbelove
d4a1c8a380
Changed Jenkins template class to individual 32 & 64 bit versions.
2016-12-28 13:12:09 +00:00
John Wellbelove
0fb7a0e458
Fixed GCC warnings
2016-12-28 13:11:29 +00:00
John Wellbelove
fbf7eaf085
Fixed GCC warnings
2016-12-28 12:58:09 +00:00
John Wellbelove
1aa2592691
Fixed GCC warnings
2016-12-28 12:57:57 +00:00
John Wellbelove
62d03d7e10
Changed tests for wchar_t.
2016-12-28 12:57:47 +00:00
John Wellbelove
dd60c3aa7c
Fixed GCC warnings
2016-12-28 12:57:04 +00:00
John Wellbelove
b038e375cd
Fixed GCC warnings
2016-12-28 12:56:53 +00:00
John Wellbelove
5cab841833
Added tests for new classes
2016-12-28 12:56:26 +00:00
John Wellbelove
511c5b88a9
Changed "string.h" header to "cstring.h"
2016-12-28 12:56:05 +00:00
John Wellbelove
7634b5639b
Added as_const tests
2016-12-28 12:54:58 +00:00
John Wellbelove
d58f675722
Added hash functions
2016-12-28 12:40:29 +00:00
jwellbelove
ed785da11b
Added const version of exchange. Added exchange tests
2016-12-15 14:15:06 +00:00
jwellbelove
676097f8b9
Linux compatible filename case.
2016-12-14 12:55:18 +00:00
John Wellbelove
daaf3fe013
Added new files.
2016-11-13 16:31:15 +00:00
John Wellbelove
82c1b9a795
Removed 'pop excess' tests.
2016-11-13 16:31:15 +00:00
John Wellbelove
70dcd71eb6
Removed AUTO links for forward links from test
2016-11-13 16:31:14 +00:00
John Wellbelove
3f107f4141
Removed AUTO links for forward links from test
2016-11-13 16:31:14 +00:00
John Wellbelove
c477d48133
New intrusive stack
2016-11-13 16:31:11 +00:00
John Wellbelove
654a930df7
Modified pointer vector operators
2016-07-31 11:00:05 +01:00
John Wellbelove
461cea3c65
Added macro test
2016-07-30 09:51:05 +01:00
John Wellbelove
0a6a9239c4
Strong typedef template class tests
2016-07-28 22:56:09 +01:00
John Wellbelove
9816b755e5
Pointer specialisations of vector
2016-07-28 22:55:16 +01:00
John Wellbelove
3b78b9c871
Pointer specialisations of vector
2016-07-27 21:27:13 +01:00
John Wellbelove
96662d4da4
Added specialisation for vectors of pointer types.
...
Added optimisations for fundamental or pointer types.
2016-07-01 23:20:39 +01:00
John Wellbelove
70771d0768
Temporarily remove include for vector pointer code
2016-06-28 21:02:38 +01:00
John Wellbelove
c9010a0573
Fixed incorrect implementation of etl::string::copy
2016-06-28 20:24:57 +01:00
John Wellbelove
879e9bad21
Fixed incorrect implementation of etl::string::copy
2016-06-28 20:24:35 +01:00
John Wellbelove
f0f75788d0
Added string classes.
2016-06-26 11:52:11 +01:00
John Wellbelove
8d817c25d0
Remove fast / slow count option template parameter.
...
Count method is decided by the link option.
DEFAULT = fast count, AUTO or CHECKED = slow count.
2016-06-25 11:26:38 +01:00
John Wellbelove
b0a29ddc3a
Fixed slow/fast count selection for size().
2016-06-22 21:17:38 +01:00
John Wellbelove
bcae826f4e
Added test for auto forward_link unlink_after operation.
2016-06-22 19:56:51 +01:00
John Wellbelove
f0dbf61a01
Added equal size check to test_insert_position_value
2016-06-21 22:49:35 +01:00
John Wellbelove
2938ecce19
Added size check in test_insert_position_value
2016-06-19 08:39:13 +01:00
John Wellbelove
e3ef9e1ae6
Fixed bug where previous occupant of the variant would not get destructed when a new value was assigned.
2016-06-19 08:39:07 +01:00
John Wellbelove
8fe601d435
Removed redundant code.
2016-06-19 08:39:07 +01:00
John Wellbelove
9a1885ea29
Modified hash templates. Added asserts.
2016-05-20 16:33:04 +01:00
John Wellbelove
c74c31bd6a
Added signal & key debounce class
2016-05-10 19:09:47 +01:00
John Wellbelove
0a98f6da72
Added debounce
2016-05-03 21:17:20 +01:00
John Wellbelove
f1bb2ffe2f
Added debounce.
2016-05-03 21:16:43 +01:00
John Wellbelove
d0a04614ef
Added to partition_point test
2016-05-03 19:21:59 +01:00
John Wellbelove
c409774555
Added many new tests
2016-05-03 19:21:34 +01:00
John Wellbelove
97a7bb9d63
Added test_at_exception, test_insert_value2 & test_at_exception
2016-05-03 19:21:17 +01:00
John Wellbelove
4cad130878
Added test_begin_empty & test_iterator
2016-05-03 19:20:28 +01:00
John Wellbelove
7611cfb905
Added many more variant tests
2016-05-03 19:19:56 +01:00
John Wellbelove
fc272fce20
Added test_pop_exception
2016-05-03 19:19:34 +01:00
John Wellbelove
0d43347c0c
Added many new tests
2016-05-03 19:19:05 +01:00
John Wellbelove
fe1e05a810
Added test_at_out_of_bounds & test_const_at_out_of_bounds
2016-05-03 19:18:41 +01:00
John Wellbelove
01a94919e3
Added test_pop_back_exception & test_pop_front_exception
2016-05-03 19:18:13 +01:00
John Wellbelove
dfbd0391a2
Added various tests
2016-05-03 19:17:26 +01:00
John Wellbelove
8d59c170ef
Added test_pop_excess
2016-05-03 19:16:53 +01:00
John Wellbelove
3a8cfda2c2
Fixed floating point hashes
2016-05-03 19:16:31 +01:00
John Wellbelove
b6fd26f58a
Added test_jenkins_32_finalised_exception
2016-05-03 19:16:07 +01:00
John Wellbelove
c12aacf171
Added test_resize_down_value
...
Added test_pop_back_exception
Added test_const_reverse_iterator2
2016-05-03 18:55:37 +01:00
John Wellbelove
7df25e88a0
Fixed bug in resize 'down'.
2016-03-18 20:35:12 +00:00
John Wellbelove
b99eae63fa
Code:Blocks IDE updates
2016-03-13 12:23:32 +00:00
John Wellbelove
46eea4caed
Added platform.h.
...
Fixed GCC incompatibilities
2016-03-10 00:41:36 +00:00
John Wellbelove
8bff7a9df4
Removed unsued header include
2016-03-07 19:26:20 +00:00
John Wellbelove
194688a19c
Removed 'splice whole list to self' test
2016-03-03 17:55:23 +00:00
John Wellbelove
c00bfeb477
Updated to current unit tests
2016-03-03 17:54:58 +00:00
John Wellbelove
7bc7406511
Fixed paths in Visual Studio project files.
2016-02-28 14:47:32 +00:00
John Wellbelove
f1c5c20ba7
Changed folder structure to be compatible with Arduino library specifications
2016-02-28 14:04:22 +00:00
John Wellbelove
85c60f5407
Added more sign_extend tests for unsigned values.
2016-02-28 13:51:09 +00:00
John Wellbelove
da8a31c19e
Added sign_extend template
2016-02-27 16:54:51 +00:00
John Wellbelove
02aa427e6b
Added unordered_set, unordered_multiset, unordered_multimap
2016-02-21 21:11:46 +00:00
John Wellbelove
3e283a5d33
Added 'splice' nad 'merge' member functions.
...
Made 'move' member functions private.
2016-02-21 08:57:38 +00:00
John Wellbelove
6eb15a884c
Added unordered_set to project
2016-02-18 20:11:07 +00:00
John Wellbelove
9908714b13
Added begin==end tests
2016-02-18 20:10:54 +00:00
John Wellbelove
a09d104330
Added unordered_set to project
2016-02-18 20:10:28 +00:00
John Wellbelove
af4a77fa74
Added test for finding a key less than existing keys.
2016-02-14 14:44:39 +00:00
John Wellbelove
d89f0714cb
Fixed a bug in find() when key was less than any value in the set or map.
2016-02-14 14:41:15 +00:00
John Wellbelove
8144554320
Added intrusive_list and updated intrusive_forward list.
...
Added set of intrusive links.
2016-02-10 19:05:42 +00:00
John Wellbelove
65e5dbd7c9
Modified checksum class to be easily customised.
...
Added sum, bsd & xor policies.
Deleted bsd_checksum.h
2016-02-10 19:04:06 +00:00
John Wellbelove
9a35980950
Modified checksum class to be easily customised.
...
Added sum, bsd & xor policies.
Deleted bsd_checksum.h
2016-02-10 19:03:49 +00:00
John Wellbelove
189cde576f
More additions to links and tests
2016-01-24 17:08:14 +00:00
John Wellbelove
7e214ffbee
Added new intrusive link types.
2016-01-23 12:09:52 +00:00
John Wellbelove
a3c61df399
Modified to use new intrusive link type.
2016-01-23 12:08:50 +00:00
John Wellbelove
a0b93c46fa
Added intrusive link definitions. forward_link, bidirectional_link, tree_link
2016-01-23 12:07:40 +00:00
John Wellbelove
3342303ce6
Added intrusive forward list & tests
2016-01-22 17:01:32 +00:00
jwellbelove
3ad66f4102
Removed basic_intrusive_forward_list
2016-01-22 11:00:13 +00:00
John Wellbelove
6bbea075bf
Cross compiler compatibilty
2016-01-21 20:18:03 +00:00
John Wellbelove
c4b5bdc3b5
Changes for GCC compatibility
2016-01-21 20:16:56 +00:00
John Wellbelove
9ccc166022
Complete redesign of intrusive_forward_list using template parameter tags.
2016-01-21 19:51:11 +00:00
John Wellbelove
f5995420c1
Added cache files to project
2016-01-17 20:54:27 +00:00
John Wellbelove
fa006d8f13
Added 'move' member function to support splice like operations within the list.
2016-01-17 20:53:42 +00:00
John Wellbelove
2cf14053d7
Added 'move' member function to support splice like operations within the list.
2016-01-17 07:33:42 +00:00
jwellbelove
1e06432f90
Added tests for load_factor, key_eq & hash_function member functions.
2016-01-15 14:05:10 +00:00
jwellbelove
ca5d897c0f
Added basic_intrusive_forward_list files to project.
2016-01-15 14:04:39 +00:00
jwellbelove
b66279baab
Added some missing files.
2016-01-15 13:07:35 +00:00
jwellbelove
e02caab6cc
Fixed GCC warnings
2016-01-15 08:13:53 +00:00
jwellbelove
8659e0a4f7
Fixed GCC warnings
2016-01-15 08:13:53 +00:00
jwellbelove
a8dcc7cd5f
Removed redundant line
2016-01-15 08:13:53 +00:00
John Wellbelove
d6a5e314e6
Updates to code:blocks project file.
2016-01-14 18:33:25 +00:00
John Wellbelove
f733aed049
Updated projects files for added and removed project files.
2016-01-14 18:32:23 +00:00
John Wellbelove
ceef10dc93
Disabled copy constructor.
...
Added interface assignment operator.
2016-01-14 18:31:43 +00:00
John Wellbelove
06815473d1
New unordered_map
2016-01-14 18:06:07 +00:00
John Wellbelove
f233d527d8
Improved erase_after test
2016-01-13 18:56:47 +00:00
John Wellbelove
8477b87e3a
Added copy constructor test
2016-01-13 18:56:23 +00:00
John Wellbelove
0423a14033
Fixed missing copy constructor.
2016-01-13 18:56:04 +00:00
jwellbelove
6e52088df1
Added required compile macro directives to the project.
2016-01-13 16:11:12 +00:00
jwellbelove
01ff869fb5
Fixed test compile warnings
2016-01-13 16:10:15 +00:00
jwellbelove
3cbe795051
Fixed signed/unsigned warnings for GCC
2016-01-13 15:03:44 +00:00
jwellbelove
64c31c5b0f
Modified for 64 bit 'size_t' compatibilty
2016-01-13 15:02:57 +00:00
jwellbelove
5208751a8c
Added compiler #if to exclude Windows header for Linux platforms.
2016-01-13 13:53:28 +00:00
John Wellbelove
1ecbbe5c05
Added and modified capacity functions to better match the standard container APIs.
2016-01-11 23:58:01 +00:00