| 
								
								
									 Markus Ewald | b2e484673d | Added more comments and and done some minor refactoring git-svn-id: file:///srv/devel/repo-conversion/nusu@238 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-06 12:30:59 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 28998dbdcf | Half way there cloning arrays of complex types - the array copy loop is built and executed correctly git-svn-id: file:///srv/devel/repo-conversion/nusu@237 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-06 11:46:21 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 40231aa15c | My code for creating new arrays was absurdly overkill -- there's a simple Linq expression that does everything in a one-liner, faster and safer git-svn-id: file:///srv/devel/repo-conversion/nusu@236 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-06 09:50:15 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | f5c282e840 | Got rid of some unnecessary downcasts for the expression tree cloner git-svn-id: file:///srv/devel/repo-conversion/nusu@235 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-06 09:04:10 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 62d0c6611c | Expression tree cloner now transfers the fields of structures (of any nesting level) git-svn-id: file:///srv/devel/repo-conversion/nusu@234 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-06 08:43:23 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 3267e399ee | Expression tree cloner now clones nested reference types git-svn-id: file:///srv/devel/repo-conversion/nusu@233 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-05 13:12:18 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 79063f59c1 | Expression tree cloner can now clone multi-dimensional arrays git-svn-id: file:///srv/devel/repo-conversion/nusu@232 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-04 14:22:59 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 1307976597 | Expression tree cloner is now able to clone arrays of primitive types git-svn-id: file:///srv/devel/repo-conversion/nusu@231 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-03 20:39:07 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 4743b5d056 | Expression tree cloner now is able to clone complex types (non-recursively, at the moment) git-svn-id: file:///srv/devel/repo-conversion/nusu@230 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-03 18:06:46 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 776a0749fd | Expression tree cloner can now clone primitive types git-svn-id: file:///srv/devel/repo-conversion/nusu@229 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-03 16:10:21 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 976b1ddba5 | Cloners now offer their methods as static members for easy access in non-service oriented applications; began implementing the expression tree cloner git-svn-id: file:///srv/devel/repo-conversion/nusu@228 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-03 14:49:31 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 961f56157e | Added a cloner that uses a binary serializer to clone objects; converted unit tests for reflection cloner into a shared base class so they can be applied to the serialization-based cloner as well git-svn-id: file:///srv/devel/repo-conversion/nusu@227 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-03 12:18:37 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 7e61e27050 | Reflection-based cloner no longer fails when cloning a complex type containing string members (since strings aren't primitive types, the cloner attempted to construct a string via its default constructor and then assign its members, which is nonsense) git-svn-id: file:///srv/devel/repo-conversion/nusu@226 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-02 20:11:17 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 7f7b9eff19 | Reflection-based cloner now also clones arrays (including deep clones of array values if desired) git-svn-id: file:///srv/devel/repo-conversion/nusu@225 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-02 17:59:34 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | bc8e565f8f | Fixed semaphore bug in AffineThreadPool when running on Windows git-svn-id: file:///srv/devel/repo-conversion/nusu@224 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-02 00:20:32 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | eb3083cf9e | Fixed a compilation error when targeting Windows Phone; ChainStream now uses a params list for its constructor; added object cloning framework with support for deep and shallow cloning as well as cloning based on fields or properties git-svn-id: file:///srv/devel/repo-conversion/nusu@223 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-01 22:45:15 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 54d82e9659 | AffineThreadPool now uses standard semaphores in Windows builds; command line parser is satisfied with an IList of arguments instead of requiring a concrete List instance; added NCrunch XML file to svn:ignore list git-svn-id: file:///srv/devel/repo-conversion/nusu@222 d2e56fa2-650e-0410-a79f-9358c0239efd | 2012-02-01 10:39:39 +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 | d3e055a37c | Removed scheduling and tracking directories from the projects (these have been moved into a separate assembly) git-svn-id: file:///srv/devel/repo-conversion/nusu@219 d2e56fa2-650e-0410-a79f-9358c0239efd | 2011-08-14 11:09:40 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | eea74c8228 | Moved all transaction-related code from Nuclex.Support into a new project (even though it's very carefully designed, it has proven to be rarely required and .NET 4.0 Tasks make it an almost redundant implementation) git-svn-id: file:///srv/devel/repo-conversion/nusu@218 d2e56fa2-650e-0410-a79f-9358c0239efd | 2011-08-14 10:55:45 +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 | da61476a80 | Assembly is now signed with a strong name key; minor cosmetic improvements git-svn-id: file:///srv/devel/repo-conversion/nusu@213 d2e56fa2-650e-0410-a79f-9358c0239efd | 2011-02-14 18:15:23 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | eafb9e442b | Fixed compilation error on Windows Phone 7 and Xbox 360 builds git-svn-id: file:///srv/devel/repo-conversion/nusu@212 d2e56fa2-650e-0410-a79f-9358c0239efd | 2010-12-24 01:32:14 +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 | 645148a751 | Added methods for counting the number of bits set in integers git-svn-id: file:///srv/devel/repo-conversion/nusu@210 d2e56fa2-650e-0410-a79f-9358c0239efd | 2010-11-22 18:05:55 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 22cea75a7a | Turned many of the helper methods into extension methods git-svn-id: file:///srv/devel/repo-conversion/nusu@209 d2e56fa2-650e-0410-a79f-9358c0239efd | 2010-11-20 11:53:25 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | d99137f0dd | StringBuilderHelper is now a static class; WeakReference<T> no longer derives from WeakReference if compiled for Windows Phone 7 because this makes the Windows Phone emulator crash as soon as the WeakReference<T> is referenced - nearly identical functionality is provided with an implicit conversion operator git-svn-id: file:///srv/devel/repo-conversion/nusu@207 d2e56fa2-650e-0410-a79f-9358c0239efd | 2010-11-18 10:47:09 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | f304f8c783 | All methods in the StringHelper class are now extension methods in .NET 4.0 builds git-svn-id: file:///srv/devel/repo-conversion/nusu@206 d2e56fa2-650e-0410-a79f-9358c0239efd | 2010-10-10 10:47:37 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 8c63901338 | Updated XmlHelper class to use the XDocument class on .NET 4.0 and XNA 4.0 builds git-svn-id: file:///srv/devel/repo-conversion/nusu@205 d2e56fa2-650e-0410-a79f-9358c0239efd | 2010-09-19 22:37:09 +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 | d0f0e3d2c8 | Added missing comment; minor cosmetic fixes git-svn-id: file:///srv/devel/repo-conversion/nusu@200 d2e56fa2-650e-0410-a79f-9358c0239efd | 2010-07-08 12:32:41 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 1ac86eebb0 | Removed AssertHelper because this functionality is now integrated in NUnit git-svn-id: file:///srv/devel/repo-conversion/nusu@199 d2e56fa2-650e-0410-a79f-9358c0239efd | 2010-05-16 10:03:19 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | d8d7af174a | Fixed compilation error: Math.DivRem() doesn't exist in the XNA Framework for XBox 360 git-svn-id: file:///srv/devel/repo-conversion/nusu@198 d2e56fa2-650e-0410-a79f-9358c0239efd | 2010-05-16 09:45:21 +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 |  | 
				
					
						| 
								
								
									 Markus Ewald | 2b94c316f6 | Split Scheduler class into two files, one containing only the static time source management code (which I might decide to put somewhere else after all); added an option for users of the scheduler to query the scheduler's time source; fixed typo git-svn-id: file:///srv/devel/repo-conversion/nusu@191 d2e56fa2-650e-0410-a79f-9358c0239efd | 2010-03-03 20:47:45 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 35a4da16fc | Added overloads for the StringBuilderHelper.Append() method to limit the number of decimal places being displayed; wrote unit tests for the new functionality git-svn-id: file:///srv/devel/repo-conversion/nusu@190 d2e56fa2-650e-0410-a79f-9358c0239efd | 2010-02-15 19:19:26 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 03eb31403d | Added double precision overloads for the garbage-free string builder appending methods; the string builder helper methods for floating point values now tell whether they successfully appended a value instead of using an assertion and appending a wrong(!) value; restored full test coverage for the whole assembly git-svn-id: file:///srv/devel/repo-conversion/nusu@189 d2e56fa2-650e-0410-a79f-9358c0239efd | 2010-02-11 21:50:41 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 237fb57fc8 | Added an interface for the scheduler service (this might be once candidate for replacement by different implementations); added a new helper class for the StringBuilder that allows garbage-free appending of integers and floats; added unit tests for most of the code git-svn-id: file:///srv/devel/repo-conversion/nusu@188 d2e56fa2-650e-0410-a79f-9358c0239efd | 2010-02-11 21:07:04 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 66f0ae9b34 | The AffineThreadPool class will now work on Mono as well; fixed naming inconsistency for the EnumHelper class; inverted the counting direction used by the Semaphore class so it is easier to read (most other Semaphores count in the direction it is using now) git-svn-id: file:///srv/devel/repo-conversion/nusu@187 d2e56fa2-650e-0410-a79f-9358c0239efd | 2010-01-20 20:21:23 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 11610cbbbe | Added a new class, EnumHelper, which provides an implementation of Enum.GetValues() for the Xbox 360 and the GetHighestValue() and GetLowestValue() methods which can be useful if you want to create a flags array (eg. using the BitArray class) for an enumeration not declared with the [Flags] attribute or a flags enumeration not fitting within an integer or long; wrote unit tests for the new EnumHelper class, test coverage remains at 100.0% git-svn-id: file:///srv/devel/repo-conversion/nusu@186 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-12-01 19:17:31 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 52b83e8847 | Added a notice that the link the code was base on appears to be dead git-svn-id: file:///srv/devel/repo-conversion/nusu@185 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-11-17 19:42:54 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 4d772fb498 | Semaphore was initialized twice if its two-parameter constructor was used - fixed git-svn-id: file:///srv/devel/repo-conversion/nusu@184 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-11-03 20:01:59 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 655ae7ab10 | Extended to IObservableCollection interface with an ItemsCleared event so subscribers observing the collection only to trigger 'Changed' events (versus subscribers observing the collection to wire/unwire themselves from the collection's items) can make use of the collection git-svn-id: file:///srv/devel/repo-conversion/nusu@182 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-10-12 19:19:58 +00:00 |  |