Markus Ewald
|
41691ddf94
|
Vastly simplified the quicksort implementation (split out the partition sorting code into a separate method like most code examples did)
git-svn-id: file:///srv/devel/repo-conversion/nusu@340 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2022-11-03 11:33:16 +00:00 |
|
Markus Ewald
|
a10d30e6ea
|
Created a separate 'Partition' structure for the QuickSort() method so the Stack (used to avoid recursion) is a bit cleaner
git-svn-id: file:///srv/devel/repo-conversion/nusu@339 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2022-11-02 22:39:33 +00:00 |
|
Markus Ewald
|
e3ca928636
|
Implemented a messy QuickSort method for IList, appears to be working but needs to be cleaned and optimized still
git-svn-id: file:///srv/devel/repo-conversion/nusu@338 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2022-11-02 22:27:51 +00:00 |
|
Markus Ewald
|
48dce94f47
|
Added an IList extensions class that can sort IList<T> using the insertion sort algorithm
git-svn-id: file:///srv/devel/repo-conversion/nusu@337 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2022-11-02 18:54:21 +00:00 |
|
Markus Ewald
|
c7dd57f59f
|
Added ListSegment class which is analogous to StringSegment and ArraySegment, but for IList<T>
git-svn-id: file:///srv/devel/repo-conversion/nusu@336 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2022-11-02 18:05:04 +00:00 |
|
Markus Ewald
|
a934fb155e
|
Fixed async task notifications; added more comments; restored CancellationToken methods; removed useless usings
git-svn-id: file:///srv/devel/repo-conversion/nusu@330 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2017-01-21 22:08:24 +00:00 |
|
Markus Ewald
|
fdf4442163
|
Added a set of interfaces implementing async methods in a plain enough way to support coroutines, RPC and P/Invokes; updated copyright statement for the year 2017
git-svn-id: file:///srv/devel/repo-conversion/nusu@329 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2017-01-21 21:33:55 +00:00 |
|
Markus Ewald
|
6053f5a877
|
Found some more bits and pieces of WinRT + Xbox 360 support code and removed them
git-svn-id: file:///srv/devel/repo-conversion/nusu@328 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2014-08-19 11:32:56 +00:00 |
|
Markus Ewald
|
3f1809e5cc
|
Fixed a bug in the ValueCollection: SyncRoot was returning the IsSynchronized property of the internal collection
git-svn-id: file:///srv/devel/repo-conversion/nusu@327 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2014-07-28 22:14:30 +00:00 |
|
Markus Ewald
|
7dd08c93e0
|
Removed the last traces on WinRT compatibility
git-svn-id: file:///srv/devel/repo-conversion/nusu@326 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2014-07-28 11:00:08 +00:00 |
|
Markus Ewald
|
e8c21b91d4
|
Allowed compilation and unit tests with the mono-3.5 profile and without NMock
git-svn-id: file:///srv/devel/repo-conversion/nusu@311 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2014-07-21 16:17:13 +00:00 |
|
Markus Ewald
|
de4a7d2213
|
Added support for compilation under the Mono 3.5 profile; removed support for Windows Phone and Xbox 360
git-svn-id: file:///srv/devel/repo-conversion/nusu@310 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2014-07-21 15:46:40 +00:00 |
|
Markus Ewald
|
0bb50d9254
|
Updated the copyright statement for the year 2014; remove CommandLine.txt which seemed to contain a copy of CommandLine.cs for a purpose I have long since forgotten
git-svn-id: file:///srv/devel/repo-conversion/nusu@297 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2014-07-19 09:13:36 +00:00 |
|
Markus Ewald
|
2210973528
|
Returned to my own naming convention - at the latest, the 'SingleInt32Union' would raise the question about where there is only a single int32 in that union
git-svn-id: file:///srv/devel/repo-conversion/nusu@295 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2014-02-24 15:40:12 +00:00 |
|
Markus Ewald
|
33e26a93e7
|
Disabled Variegator completely on Windows Phone and Xbox 360 because those outdated .NET frameworks don't have sets (ISet)
git-svn-id: file:///srv/devel/repo-conversion/nusu@289 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2013-07-15 13:46:07 +00:00 |
|
Markus Ewald
|
9a73838f6c
|
Not using optional parameter in Variegator anymore because Windows Phone is a wuss
git-svn-id: file:///srv/devel/repo-conversion/nusu@288 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2013-07-15 13:42:48 +00:00 |
|
Markus Ewald
|
63ddef021d
|
Added more unit tests to the floating point helper classes; Variegator unit test is now internal
git-svn-id: file:///srv/devel/repo-conversion/nusu@287 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2013-07-15 13:38:21 +00:00 |
|
Markus Ewald
|
2462dd6dc4
|
Added a C# port of my new Variegator collection, a MultiDictionary that resolves ambiguities by picking a random value or providing the least recently used one, very useful for returning varying responses
git-svn-id: file:///srv/devel/repo-conversion/nusu@286 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2013-06-27 16:05:54 +00:00 |
|
Markus Ewald
|
d42aa48236
|
Updated copyright statement for the year 2013; fixed a warning; minor cosmetic changes
git-svn-id: file:///srv/devel/repo-conversion/nusu@282 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2013-04-25 13:11:59 +00:00 |
|
Markus Ewald
|
7d4a66e9f2
|
Some attempts at making this compile on WinRT. Much work remains.
git-svn-id: file:///srv/devel/repo-conversion/nusu@281 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-17 13:03:40 +00:00 |
|
Markus Ewald
|
72511417ef
|
ReverseComparer still used old generic argument naming convention - fixed
git-svn-id: file:///srv/devel/repo-conversion/nusu@278 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-14 15:47:31 +00:00 |
|
Markus Ewald
|
97de199705
|
It seems that contrary to what MSDN says, the Dictionary<K, T> class does not have a constructor accepting an IEqualityComparer on the Xbox 360 or Windows Phone 7; added missing documentation in Pool class
git-svn-id: file:///srv/devel/repo-conversion/nusu@270 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-08 12:05:59 +00:00 |
|
Markus Ewald
|
58a1652749
|
Added six separate constructors to avoid default parameters (which aren't supported on Windows Phone 7 or the Xbox 360)
git-svn-id: file:///srv/devel/repo-conversion/nusu@269 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-08 11:31:24 +00:00 |
|
Markus Ewald
|
c91a082e84
|
Pool can now be used with types not derived from IRecyclable and/or without a public default constructor; consolidated type-related helper methods into a common helper class (TypeHelper.cs); optimized GetFieldInfosIncludingBaseClasses() method
git-svn-id: file:///srv/devel/repo-conversion/nusu@268 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-08 11:05:20 +00:00 |
|
Markus Ewald
|
24439da822
|
Unit tests for the StringBuilderHelper weren't properly localized, containing hard-coded decimal separators - fixed; StringBuilderHelper always used a dot as a decimal separate - behavior changed so it uses the system's current locale (StringBuilderHelper should be identical to the normal StringBuilder except not produce any garbage)
git-svn-id: file:///srv/devel/repo-conversion/nusu@267 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-08 09:55:29 +00:00 |
|
Markus Ewald
|
21754b8e87
|
The expression tree cloner was not able to assign read-only field -- fixed; expanded tests to safeguard against regressions
git-svn-id: file:///srv/devel/repo-conversion/nusu@265 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-06 13:39:02 +00:00 |
|
Markus Ewald
|
4c408a56ad
|
Unit tests for the ObservableSet not also tests the change notification events resulting from union/intersect/except methods; added unit tests for read-only set
git-svn-id: file:///srv/devel/repo-conversion/nusu@264 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-03 15:06:02 +00:00 |
|
Markus Ewald
|
07a9de6283
|
Some cosmetic changes; all methods in the StringBuilderHelper are now extension methods; added GarbagePolicy enumeration for StringBuilder helper methods; custom Semaphore is not internal in Windows builds to avoid ambiguous symbols
git-svn-id: file:///srv/devel/repo-conversion/nusu@263 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-03 12:45:49 +00:00 |
|
Markus Ewald
|
1a05bf9d63
|
Added some helper classes for INotifyPropertyChanged; added unit tests for the ObservableSet class; documented the second Count property exposed by the multi dictionary
git-svn-id: file:///srv/devel/repo-conversion/nusu@262 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-03 10:57:08 +00:00 |
|
Markus Ewald
|
df169e376a
|
Removed overridable change notifications from MultiDictionary - accurately sending these would involve considerable overhead; added unit tests for all main interface methods of the MultiDictionary
git-svn-id: file:///srv/devel/repo-conversion/nusu@261 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-02 23:00:02 +00:00 |
|
Markus Ewald
|
b37c4a757c
|
MultiDictionary wasn't firing 'removed' events when an entire set of values is replaced - fixed, but not unit-tested yet; added more unit tests to the ObservableSet class; ObservableSet was not firing the 'added' event - fixed
git-svn-id: file:///srv/devel/repo-conversion/nusu@260 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-02 21:05:05 +00:00 |
|
Markus Ewald
|
0195b34289
|
The Count property of the multi dictionary now returns either the value count of the number of unique keys depending on which interface it is called from
git-svn-id: file:///srv/devel/repo-conversion/nusu@259 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-01 14:48:53 +00:00 |
|
Markus Ewald
|
ca373846aa
|
Excluded ObservableSet and ReadOnlySet implementations from Xbox 360 and Windows Phone 7 builds because these platforms don't support the ISet interface
git-svn-id: file:///srv/devel/repo-conversion/nusu@258 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-01 14:39:50 +00:00 |
|
Markus Ewald
|
13579c5162
|
Fixed unit tests that were failing due to the introdcution of the ItemReplaced event; removed NotifyCollectionResetEventArgs if no specialized collections are available
git-svn-id: file:///srv/devel/repo-conversion/nusu@257 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-01 14:05:11 +00:00 |
|
Markus Ewald
|
2d04ad7b49
|
Added ObservableSet and ReadOnlySet wrappers (no unit tests yet)
git-svn-id: file:///srv/devel/repo-conversion/nusu@256 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-01 13:51:04 +00:00 |
|
Markus Ewald
|
5e4de7f027
|
Added ItemReplaced() to IObservableCollection
git-svn-id: file:///srv/devel/repo-conversion/nusu@255 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-01 12:52:12 +00:00 |
|
Markus Ewald
|
75552b5150
|
All unit test classes are now internal; updated copyright statement for the year 2012; added hulls for the upcoming ObservableSet<> and ReadOnlySet<> classes; switched generic parameter naming convention TSomething instead of SomethingType
git-svn-id: file:///srv/devel/repo-conversion/nusu@252 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-29 16:27:43 +00:00 |
|
Markus Ewald
|
61c858cb1c
|
CanGetProcessThreadForManagedThread() test now only runs on Windows systems; removed unused variable from expression tree cloner; removed unused variable from unit test of weak collection; fixed test issue parsing command lines relying on current platform being windows; removed unused variable from Semaphore class
git-svn-id: file:///srv/devel/repo-conversion/nusu@251 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-12 13:46:19 +00:00 |
|
Markus Ewald
|
1a215987ac
|
ObservableCollection no longer derives from System.Collections.ObjectModel.Collection, thus it is a real ICollection that does not expose itself as an IList
git-svn-id: file:///srv/devel/repo-conversion/nusu@221 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2011-10-25 14:59:38 +00:00 |
|
Markus Ewald
|
a4000c106a
|
Added an ObservableList class which is like the ObservableCollection, but allows indexed access
git-svn-id: file:///srv/devel/repo-conversion/nusu@220 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2011-08-24 11:33:22 +00:00 |
|
Markus Ewald
|
b7c883ea8d
|
Assigning null to a key in the MultiDictionary will not delete that key (this behavior is symmetric with the behavior of querying the values under a key where null indicates that the key doesn't exist - it also doesn't add any "secret tricks" because the normal Dictionary doesn't intersect this functionality of having an extra container between the key and the values)
git-svn-id: file:///srv/devel/repo-conversion/nusu@217 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2011-08-14 09:33:10 +00:00 |
|
Markus Ewald
|
a08939e914
|
Added INotifyCollectionChanged interface to ObservableCollection and ObservableDictionary; added a new dictionary type, the MultiDictionary which is equivalent to the C++ multimap<> class
git-svn-id: file:///srv/devel/repo-conversion/nusu@215 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2011-07-04 22:21:57 +00:00 |
|
Markus Ewald
|
aa5e4d12cc
|
Upgraded unit tests to NMock 3.0
git-svn-id: file:///srv/devel/repo-conversion/nusu@214 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2011-03-08 20:36:43 +00:00 |
|
Markus Ewald
|
46cbc920b1
|
Removed some XNA 3.1 code paths; cleaned up constant usage in platform-specific code sections
git-svn-id: file:///srv/devel/repo-conversion/nusu@211 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2010-12-24 01:02:56 +00:00 |
|
Markus Ewald
|
374152cd63
|
Added XNA 4.0 for Windows Phone 7 project; updated Nuclex.Support to compile targeting Windows Phone 7
git-svn-id: file:///srv/devel/repo-conversion/nusu@203 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2010-09-17 15:29:22 +00:00 |
|
Markus Ewald
|
1aad371ece
|
Added XNA 4.0 XBox 360 project; fixed compilation errors that would result from compiling Nuclex.Support on the XBox 360's special compact framework
git-svn-id: file:///srv/devel/repo-conversion/nusu@202 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2010-09-17 01:43:00 +00:00 |
|
Markus Ewald
|
5f5b8b519b
|
Updated license statement for the year 2010 ;-)
git-svn-id: file:///srv/devel/repo-conversion/nusu@201 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2010-07-08 12:37:39 +00:00 |
|
Markus Ewald
|
a0a0b73a13
|
Fixed a nasty bug that would corrupt the WeakCollection upon calling RemoveDeadItems()
git-svn-id: file:///srv/devel/repo-conversion/nusu@194 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2010-04-16 10:26:06 +00:00 |
|
Markus Ewald
|
f0289632f6
|
WeakCollection now accepts a custom EqualityComparer to be specified
git-svn-id: file:///srv/devel/repo-conversion/nusu@193 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2010-03-30 11:02:04 +00:00 |
|
Markus Ewald
|
b8dbf8f40d
|
Added an object Pool that can be used to recycle objects in order to avoid garbage buildup; wrote unit tests for the new pool class; added interface through which objects entering the pool can be instructed to revert their state
git-svn-id: file:///srv/devel/repo-conversion/nusu@192 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2010-03-15 19:08:10 +00:00 |
|