IGLib  1.5
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
IG.Lib.Util Class Reference

General utilities. More...

Static Public Member Functions

static bool MutexCheckAbandoned (Mutex m)
 Check whether the specified mutex has been abandoned, and returns true if it has been (otherwise, false is returned). More...
 
static bool MutexGlobalCheckAbandoned ()
 Check whether the global mutex (property MutexGlobal) has been abandoned, and returns true if it has been (otherwise, false is returned). More...
 
static void SleepSeconds (double sleepTimeInSeconds)
 Suspends execution of the current thread for the specified time (in seconds). More...
 
static int GetHashFunctionInt (object obj)
 Returns an integer hash function of the specified object. More...
 
static string GetHashFunctionString (Object obj)
 Returns a string-valued hash function of the specified object. More...
 
static int GetIndex (int[] tableDimensions, params int[] indices)
 Returns the index of the element in the onedimensional list that corresponds to the specified indices of the multidimensional table of specified dimensions. More...
 
static void GetIndices (int[] tableDimensions, int oneDimensionalIndex, ref int[] tableIndices)
 Calculates and stores the multidimensional indices of an element of the multidimensional table of the specified dimensions, which correspond to the specified onedimensional index (index within 1D table containing all elements of the multidimensional table, ordered according to the normal convention - earlier indices run slower). More...
 
static int GetIndex (List< int > tableDimensions, params int[] indices)
 Returns the index of the element in an onedimensional list that corresponds to the specified indices of the multidimensional table of specified dimensions. More...
 
static void GetIndices (List< int > tableDimensions, int oneDimensionalIndex, ref int[] tableIndices)
 Calculates and stores the multidimensional indices of an element of the multidimensional table of the specified dimensions, which correspond to the specified onedimensional index (index in the 1D table containing all elements of the multidimensional table, ordered according to the normal convention - earlier indices run slower). More...
 
static void ResizeList< T > (ref List< T > list, int count, T defaultElement, bool reduceCapacity)
 Allocates or re-allocates (resizes) the specified list in such a way that it contains the specified number of elements after operation. More...
 
static void ResizeList< T > (ref List< T > list, int count, T defaultElement)
 Allocates or re-allocates (resizes) the specified list in such a way that it contains the specified number of elements after operation. If new size is smaller than the original size of the list then its capacity is not reduced. More...
 
static void ResizeListRefType< T > (ref List< T > list, int count, bool reduceCapacity)
 Allocates or re-allocates (resizes) the specified list in such a way that it contains the specified number of elements after operation. If list must be enlarged then null elements are inserted to new places. List must contain elements of some reference type! More...
 
static void ResizeListRefType< T > (ref List< T > list, int count)
 Allocates or re-allocates (resizes) the specified list in such a way that it contains the specified number of elements after operation. If list must be enlarged then null elements are inserted to new places. List must contain elements of some reference type! More...
 
static void CopyList< T > (List< T > original, ref List< T > target)
 Copies all elements of the specified list to a target list. After operation, target list contains all elements of the source list (only references are copied for objects) in the same order. If the original list is null then target list can either be allocated (if it was allocated before the call) or not. Target list is allocated or re-allocated as necessary. More...
 
static void CopyList< T > (List< T > original, ref T[] target)
 Copies all elements of the specified list to a target table. After operation, target table contains all elements of the source list (only references are copied for objects) in the same order. If the original list is null then target table will also become null. Target table is allocated or re-allocated as necessary. More...
 
static bool IsListSorted< T > (List< T > list, IComparer< T > comparer)
 Checks whether the specified list is sorted according to the specified comparer, and returns true if the list is sorted and false if it is not. More...
 
static void InsertSortedList< T > (List< T > sortedList, T insertedElement, IComparer< T > comparer)
 Inserts the specified element to the appropriate position in a sorted list, in such a way that the list remains sorted. More...
 
static void InsertSortedListUnique< T > (List< T > sortedList, T insertedElement, IComparer< T > comparer)
 Inserts the specified element to the appropriate position in a sorted list, in such a way that the list remains and no duplicates are inserted. More...
 
static bool IsListSorted< T > (List< T > list, Comparison< T > comparison)
 Checks whether the specified list is sorted according to the specified comparison function, and returns true if the list is sorted and false if it is not. More...
 
static int BinarySearchSortedListFromTo< T > (List< T > sortedList, T searchedElement, int from, int to, Comparison< T > comparison)
 Searches a sorted list in the specified range for the specified element, and returns its index if the element is found, or a negative complement of the index before the first element that is greater than the specified element (or binary complement of one greater than the last index if no element is greater). More...
 
static int BinarySearchSortedList< T > (List< T > sortedList, T searchedElement, Comparison< T > comparison)
 Searches a sorted list for the specified element, and returns its index if the element is found, or a negative complement of the index before the first element that is greater than the specified element (or binsry complement of number of elements if no element is greater). More...
 
static void InsertSortedList< T > (List< T > sortedList, T insertedElement, Comparison< T > comparison)
 Inserts the specified element to the appropriate position in a sorted list, in such a way that the list remains sorted. More...
 
static void InsertSortedListUnique< T > (List< T > sortedList, T insertedElement, Comparison< T > comparison)
 Inserts the specified element to the appropriate position in a sorted list, in such a way that the list remains and no duplicates are inserted. More...
 
static string CollectionToString (System.Collections.ICollection list, bool addNewlines, int numIndent)
 Returns a string representing the specified collection of objects. Each object is printeed by its ToString() method. Works on all collections, including lists and arrays. More...
 
static string CollectionToString (System.Collections.ICollection list)
 Returns a string representing the specified collection of objects. Each object is printeed by its ToString() method. A newline and two spaces are added before each element printed. Works on all collections, including lists and arrays. More...
 
static string CollectionToStringLong (System.Collections.ICollection collection, bool addNewlines, int numIndent)
 Returns a string representing the specified list in long form. Count property (i.e. number of elements in collection) is also printed. Works on all collections, including lists and arrays. More...
 
static string CollectionToStringLong (System.Collections.ICollection collection)
 Returns a string representing the specified list in long form. Count property (i.e. number of elements in collection) is also printed. Works on all collections, including lists and arrays. A newline and two spaces are added before each element printed. More...
 
static string ListToString< T > (List< T > list, bool addNewlines, int numIndent)
 Returns a string representing the specified generic list in short form (without count and capacity). More...
 
static string ListToString< T > (List< T > list)
 Returns a string representing the specified generic list in long form. Count and Capacity properties are also printed. A newline and two spaces are added before each element printed. More...
 
static string ListToStringLong< T > (List< T > list, bool addNewlines, int numIndent)
 Returns a string representing the specified generic list in long form. Count and Capacity properties are also printed. More...
 
static string ListToStringLong< T > (List< T > list)
 Returns a string representing the specified generic list in long form. Count and Capacity properties are also printed. A newline and two spaces are added before each element printed. More...
 
static string ToString< ObjectType > (ObjectType obj)
 Converts obect of the specified type to its string representation, where numbers are converted in ivariant culture (ignoring any localization settings). More...
 
static string ToString< ObjectType > (ObjectType obj, System.Globalization.CultureInfo cultureInfo)
 Converts obect of the specified type to its string representation, where numbers are converted in ivariant culture (ignoring any localization settings). More...
 
static bool IsNumeric< ObjectType > (ObjectType obj)
 Returns a flag indicating whether the specified object is of numeric type (such as int, float, double, etc.). More...
 
static void TestToString ()
 Test conversion to strings with invariant culture info. More...
 
static bool TryParse< ReturnType > (string strValue, ref ReturnType parsedValue)
 Tries to parse a string representation of an object of the specified type and return it through output argument. Invariant culture is used in parsing. More...
 
static ReturnType Parse< ReturnType > (string strValue)
 Converts a string to the object of the specified type and returns the entity, by using the invariant culture. More...
 
static object Parse (string strValue, Type propertyType)
 Converts a string to the entity of the specified type and returns that entity, by using invariant culture. More...
 
static bool TryParse< ReturnType > (string strValue, ref ReturnType parsedValue, System.Globalization.CultureInfo cultureInfo)
 Tries to parse a string representation of an object of the specified type and return it through output argument. More...
 
static ReturnType Parse< ReturnType > (string strValue, System.Globalization.CultureInfo cultureInfo)
 Converts a string to the object of the specified type and returns the entity, by using the specified culture info. More...
 
static object Parse (string strValue, Type propertyType, System.Globalization.CultureInfo cultureInfo)
 Converts a string to the entity of the specified type and returns that entity. More...
 
static bool TryParseBoolean (string str, ref bool parsedValue)
 Tries to parse a string representation of a boolean. More...
 
static bool ParseBoolean (string str)
 Converts the specified string to a boolean value, if possible, and returns it. If conversion is not possible then exception is thrown. Recognized representations of true: "true", "1", "yes", "y" (case insensitive). Recognized representations of false: "false", "0", "no", "n" (case insensitive). More...
 
static bool TryParseThreadPriority (string str, ref ThreadPriority parsedValue)
 Tries to parse a string representation of a ThreadPriority enum. More...
 
static ThreadPriority ParseThreadPriority (string str)
 Converts the specified string to a ThreadPriority enum value, if possible, and returns it. If conversion is not possible then exception is thrown. More...
 
static void ExampleList ()
 

Public Attributes

const string MutexGlobalName = "Global\\IG.Lib.Utils.MutexGlobal.R2D2_by_Igor_Gresovnik"
 Name of the global mutex. More...
 
const string NullRepresentationString = "null"
 Standard string representation of null values of objects (often used when overriding object.ToString method). More...
 
const string IGLibUrl = "http://www2.arnes.si/~ljc3m2/igor/iglib/"
 
const string IGLibCodeDocumentationUrl = "http://www2.arnes.si/~fgreso/code_documentation/generated/iglib/html/index.html"
 
const string IGLibAuthor = "Igor Grešovnik"
 

Static Protected Member Functions

static bool IsNumericOld (object expression)
 Returns true if the specified expression or object is of numeric type (such as int, float, double, etc.), and false otherwise. More...
 

Static Protected Attributes

static volatile Mutex _mutexGlobal
 

Properties

static object LockGlobal [get]
 Global, process-level locking object. More...
 
static Mutex MutexGlobal [get]
 Mutex for system-wide exclusive locks. More...
 
static int OutputLevel [get, set]
 Serves as default output level for new objects of many classes that include the output level property (usually named "OutputLevel"). Such a property defines how much information about operation of the object is ouput to the console. More...
 

Static Private Attributes

static object _lockGlobal = new object()
 
static volatile int _outputLevel = 0
 
static volatile int _maxLengthIntToString
 

Detailed Description

General utilities.

$A Igor Apr10;

Member Function Documentation

static bool IG.Lib.Util.MutexCheckAbandoned ( Mutex  m)
inlinestatic

Check whether the specified mutex has been abandoned, and returns true if it has been (otherwise, false is returned).

After the call, mutex is no longer in abandoned state (WaitOne() will not throw an exception) if it has been before the call.

Call does not block.

Parameters
mMutex that is checked, must not be null.
Returns
true if mutex has been abandoned, false otherwise.

Referenced by IG.Num.OptFileManager.LockFileMutexCheckAbandoned().

static bool IG.Lib.Util.MutexGlobalCheckAbandoned ( )
inlinestatic

Check whether the global mutex (property MutexGlobal) has been abandoned, and returns true if it has been (otherwise, false is returned).

After the call, mutex is no longer in abandoned state (WaitOne() will not throw an exception) if it has been before the call.

Call does not block.

Returns
true if mutex has been abandoned, false otherwise.
static void IG.Lib.Util.SleepSeconds ( double  sleepTimeInSeconds)
inlinestatic

Suspends execution of the current thread for the specified time (in seconds).

Parameters
sleepTimeInSecondsSleeping time in seconds. If less than 0 then thread sleeps indefinitely.

Referenced by IG.Forms.ScalarFunctionEvaluatorControl.dGridInputParam_CellValueChanged(), IG.Lib.StopWatch.Example(), and IG.Gr3d.Graph3dManipulator.UpdateTextFields().

static int IG.Lib.Util.GetHashFunctionInt ( object  obj)
inlinestatic

Returns an integer hash function of the specified object.

Returned integer is always positive.

This hash function is bound to the object.ToString method of the specified object, which means that it returns the same value for any two objects that have the same string representation.

Parameters
objObject whose hash function is returned.

This hash function is calculated in such a way that object.ToString() is called first on obj in order to obtain object's string representation (or, if the object is null, the Util.NullRepresentationString is taken), and then the string.GetHashCode is called on the obtained string and its value returned.

References IG.Lib.Util.NullRepresentationString.

Referenced by IG.Num.MatrixBase.GetHashFunctionInt(), and IG.Num.VectorBase.GetHashFunctionInt().

static string IG.Lib.Util.GetHashFunctionString ( Object  obj)
inlinestatic

Returns a string-valued hash function of the specified object.

This hash function is bound to the object.ToString method of the specified object, which means that it returns the same value for any two objects that have the same string representation.

Parameters
objObject whose string-valued hash function is returned.

This hash function is calculated in such a way that object.ToString() is called first on obj in order to obtain object's string representation (or, if the object is null, the Util.NullRepresentationString is taken), and then the string.GetHashCode is called on the obtained string and its value returned.

See also
Util.

Referenced by IG.Num.MatrixBase.GetHashFunctionString(), and IG.Num.VectorBase.GetHashFunctionString().

static int IG.Lib.Util.GetIndex ( int[]  tableDimensions,
params int[]  indices 
)
inlinestatic

Returns the index of the element in the onedimensional list that corresponds to the specified indices of the multidimensional table of specified dimensions.

Parameters
indicesIndices of the element in the multidimensional table of training results.
tableDimensionsDimensions of the multidimensional table.
Returns
One dimensional index that corresponds to the specified multidimensional indices of the element of the multidimensional table.

Referenced by IG.Num.NeuralTrainingTable.GetIndex().

static void IG.Lib.Util.GetIndices ( int[]  tableDimensions,
int  oneDimensionalIndex,
ref int[]  tableIndices 
)
inlinestatic

Calculates and stores the multidimensional indices of an element of the multidimensional table of the specified dimensions, which correspond to the specified onedimensional index (index within 1D table containing all elements of the multidimensional table, ordered according to the normal convention - earlier indices run slower).

Parameters
tableDimensionsDimensions of the multidimensional table.
oneDimensionalIndexOne dimensional index that defines the position of the element in the list of elements.
tableIndicesVariable where multidimensional indices of the element are stored.

Referenced by IG.Num.NeuralTrainingTable.GetIndices().

static int IG.Lib.Util.GetIndex ( List< int >  tableDimensions,
params int[]  indices 
)
inlinestatic

Returns the index of the element in an onedimensional list that corresponds to the specified indices of the multidimensional table of specified dimensions.

Parameters
indicesIndices of the element in the multidimensional table of training results.
tableDimensionsDimensions of the multidimensional table.
Returns
One dimensional index that corresponds to the specified multidimensional indices of the element of the multidimensional table.
static void IG.Lib.Util.GetIndices ( List< int >  tableDimensions,
int  oneDimensionalIndex,
ref int[]  tableIndices 
)
inlinestatic

Calculates and stores the multidimensional indices of an element of the multidimensional table of the specified dimensions, which correspond to the specified onedimensional index (index in the 1D table containing all elements of the multidimensional table, ordered according to the normal convention - earlier indices run slower).

Parameters
tableDimensionsDimensions of the multidimensional table.
oneDimensionalIndexOne dimensional index that defines the position of the element in the list of elements.
tableIndicesVariable where multidimensional indices of the element are stored.
static void IG.Lib.Util.ResizeList< T > ( ref List< T >  list,
int  count,
defaultElement,
bool  reduceCapacity 
)
inlinestatic

Allocates or re-allocates (resizes) the specified list in such a way that it contains the specified number of elements after operation.

Template Parameters
TType of the list element.
Parameters
listList to be allocated.
countNumber of elements list will contain after operation.
defaultElementElements to be added to the list if there are currently too few elements.
reduceCapacityIf true then capacity is reduced if the current list's capacity exceeds the specified number of elements.

$A Igor Apr10;

static void IG.Lib.Util.ResizeList< T > ( ref List< T >  list,
int  count,
defaultElement 
)
inlinestatic

Allocates or re-allocates (resizes) the specified list in such a way that it contains the specified number of elements after operation. If new size is smaller than the original size of the list then its capacity is not reduced.

Template Parameters
TType of the list element.
Parameters
listList to be allocated.
countNumber of elements list will contain after operation.
defaultElementElements to be added to the list if there are currently too few elements.

$A Igor Apr10;

static void IG.Lib.Util.ResizeListRefType< T > ( ref List< T >  list,
int  count,
bool  reduceCapacity 
)
inlinestatic

Allocates or re-allocates (resizes) the specified list in such a way that it contains the specified number of elements after operation. If list must be enlarged then null elements are inserted to new places. List must contain elements of some reference type!

Template Parameters
TType of the list element, must be a reference type.
Parameters
listList to be allocated.
countNumber of elements list will contain after operation.
reduceCapacityIf true then capacity is reduced if the current list's capacity exceeds the specified number of elements.

$A Igor Apr10;

Type Constraints
T :class 
static void IG.Lib.Util.ResizeListRefType< T > ( ref List< T >  list,
int  count 
)
inlinestatic

Allocates or re-allocates (resizes) the specified list in such a way that it contains the specified number of elements after operation. If list must be enlarged then null elements are inserted to new places. List must contain elements of some reference type!

Template Parameters
TType of the list element, must be a reference type.
Parameters
listList to be allocated.
countNumber of elements list will contain after operation.

capacity exceeds the specified number of elements.

$A Igor Apr10;

Type Constraints
T :class 
static void IG.Lib.Util.CopyList< T > ( List< T >  original,
ref List< T >  target 
)
inlinestatic

Copies all elements of the specified list to a target list. After operation, target list contains all elements of the source list (only references are copied for objects) in the same order. If the original list is null then target list can either be allocated (if it was allocated before the call) or not. Target list is allocated or re-allocated as necessary.

Template Parameters
TType of elements contained in the list.
Parameters
originalOriginal list.
targetList that elements of the original list are copied to.
static void IG.Lib.Util.CopyList< T > ( List< T >  original,
ref T[]  target 
)
inlinestatic

Copies all elements of the specified list to a target table. After operation, target table contains all elements of the source list (only references are copied for objects) in the same order. If the original list is null then target table will also become null. Target table is allocated or re-allocated as necessary.

Template Parameters
TType of elements contained in the list.
Parameters
originalOriginal list.
targetTable that elements of the original list are copied to.
static bool IG.Lib.Util.IsListSorted< T > ( List< T >  list,
IComparer< T >  comparer 
)
inlinestatic

Checks whether the specified list is sorted according to the specified comparer, and returns true if the list is sorted and false if it is not.

Template Parameters
TType of elements of the list.
Parameters
listList to be checked for sorting.
comparerComparer according to which sorting is verified.
Returns
True if the specified list is sorted, false if not.
Exceptions
ArgumentNullExceptionIf list or comparer is null.
static void IG.Lib.Util.InsertSortedList< T > ( List< T >  sortedList,
insertedElement,
IComparer< T >  comparer 
)
inlinestatic

Inserts the specified element to the appropriate position in a sorted list, in such a way that the list remains sorted.

Duplicate elements are allowed.

Template Parameters
TType of elements of the list.
Parameters
sortedListSorted list.
insertedElementElement to be inserted.
comparerComparer according to which the list is sorted.
Exceptions
ArgumentNullExceptionIf list or comparer is null.
static void IG.Lib.Util.InsertSortedListUnique< T > ( List< T >  sortedList,
insertedElement,
IComparer< T >  comparer 
)
inlinestatic

Inserts the specified element to the appropriate position in a sorted list, in such a way that the list remains and no duplicates are inserted.

If the list already contains the element that is equal (in the sense of comparer) than the inserted element then this method has no effect.

Template Parameters
TType of elements of the list.
Parameters
sortedListSorted list.
insertedElementElement to be inserted.
comparerComparer according to which the list is sorted.
Exceptions
ArgumentNullExceptionIf list or comparer is null.
static bool IG.Lib.Util.IsListSorted< T > ( List< T >  list,
Comparison< T >  comparison 
)
inlinestatic

Checks whether the specified list is sorted according to the specified comparison function, and returns true if the list is sorted and false if it is not.

Template Parameters
TType of elements of the list.
Parameters
listList to be checked for sorting.
comparisonComparison method (delegate) according to which sorting is verified.
Returns
True if the specified list is sorted, false if not.
Exceptions
ArgumentNullExceptionIf list or comparer is null.
static int IG.Lib.Util.BinarySearchSortedListFromTo< T > ( List< T >  sortedList,
searchedElement,
int  from,
int  to,
Comparison< T >  comparison 
)
inlinestatic

Searches a sorted list in the specified range for the specified element, and returns its index if the element is found, or a negative complement of the index before the first element that is greater than the specified element (or binary complement of one greater than the last index if no element is greater).

Template Parameters
TType of list elements.
Parameters
sortedListList that is searched for the element. List must be sorted according to the specified comparison function.
searchedElementElement that is searched for.
fromIndex of the first element in the searched range.
toIndex of the last element in the searched range.
comparisonComparison function (delegate) according to which the list is sorted.
Returns
Index of the searched element in the list, if there exist an element (within the search range) that is equal to the search element according to the comparison delegate, or a binary complement of the negative index where the element should be inserted in order not tho spoil sorting.
Exceptions
ArgumentNullExceptionWhen list or comparison delegate is null.
static int IG.Lib.Util.BinarySearchSortedList< T > ( List< T >  sortedList,
searchedElement,
Comparison< T >  comparison 
)
inlinestatic

Searches a sorted list for the specified element, and returns its index if the element is found, or a negative complement of the index before the first element that is greater than the specified element (or binsry complement of number of elements if no element is greater).

Template Parameters
TType of list elements.
Parameters
sortedListList that is searched for the element. List must be sorted according to the specified comparison function.
searchedElementElement that is searched for.
fromIndex of the first element in the searched range.
toIndex of the last element in the searched range.
comparisonComparison function (delegate) according to which the list is sorted.
Returns
Index of the searched element in the list, if there exist an element (within the search range) that is equal to the search element according to the comparison delegate, or a binary complement of the negative index where the element should be inserted in order not tho spoil sorting.
Exceptions
ArgumentNullExceptionWhen list or comparison delegate is null.
static void IG.Lib.Util.InsertSortedList< T > ( List< T >  sortedList,
insertedElement,
Comparison< T >  comparison 
)
inlinestatic

Inserts the specified element to the appropriate position in a sorted list, in such a way that the list remains sorted.

Duplicate elements are allowed.

Template Parameters
TType of elements of the list.
Parameters
sortedListSorted list.
insertedElementElement to be inserted.
comparisonComparison function (delegate) according to which the list is sorted.
Exceptions
ArgumentNullExceptionIf list or comparer is null.
static void IG.Lib.Util.InsertSortedListUnique< T > ( List< T >  sortedList,
insertedElement,
Comparison< T >  comparison 
)
inlinestatic

Inserts the specified element to the appropriate position in a sorted list, in such a way that the list remains and no duplicates are inserted.

If the list already contains the element that is equal (in the sense of comparer) than the inserted element then this method has no effect.

Template Parameters
TType of elements of the list.
Parameters
sortedListSorted list.
insertedElementElement to be inserted.
comparisonComparison function (delegate) according to which the list is sorted.
Exceptions
ArgumentNullExceptionIf list or comparer is null.
static string IG.Lib.Util.CollectionToString ( System.Collections.ICollection  list,
bool  addNewlines,
int  numIndent 
)
inlinestatic

Returns a string representing the specified collection of objects. Each object is printeed by its ToString() method. Works on all collections, including lists and arrays.

Parameters
listCollection to be converted to srting.
addNewlinesIf true then a newline is added before each element printed.
numIndentNumber of spaces aded before each element.

Referenced by IG.Lib.RegisterableExamples.ExampleIdGenerator(), and IG.Lib.RegisterableExamples.ExampleRegistrable().

static string IG.Lib.Util.CollectionToString ( System.Collections.ICollection  list)
inlinestatic

Returns a string representing the specified collection of objects. Each object is printeed by its ToString() method. A newline and two spaces are added before each element printed. Works on all collections, including lists and arrays.

Parameters
listCollection to be converted to srting.
static string IG.Lib.Util.CollectionToStringLong ( System.Collections.ICollection  collection,
bool  addNewlines,
int  numIndent 
)
inlinestatic

Returns a string representing the specified list in long form. Count property (i.e. number of elements in collection) is also printed. Works on all collections, including lists and arrays.

Template Parameters
TType of list elements.
Parameters
listList to be converted to srting.
addNewlinesIf true then a newline is added before each element printed.
numIndentNumber of spaces aded before each element.
static string IG.Lib.Util.CollectionToStringLong ( System.Collections.ICollection  collection)
inlinestatic

Returns a string representing the specified list in long form. Count property (i.e. number of elements in collection) is also printed. Works on all collections, including lists and arrays. A newline and two spaces are added before each element printed.

Template Parameters
TType of list elements.
Parameters
listList to be converted to srting.
static string IG.Lib.Util.ListToString< T > ( List< T >  list,
bool  addNewlines,
int  numIndent 
)
inlinestatic

Returns a string representing the specified generic list in short form (without count and capacity).

Template Parameters
TType of list elements.
Parameters
listList to be converted to srting.
addNewlinesIf true then a newline is added before each element printed.
numIndentNumber of spaces aded before each element.
static string IG.Lib.Util.ListToString< T > ( List< T >  list)
inlinestatic

Returns a string representing the specified generic list in long form. Count and Capacity properties are also printed. A newline and two spaces are added before each element printed.

Template Parameters
TType of list elements.
Parameters
listList to be converted to srting.
static string IG.Lib.Util.ListToStringLong< T > ( List< T >  list,
bool  addNewlines,
int  numIndent 
)
inlinestatic

Returns a string representing the specified generic list in long form. Count and Capacity properties are also printed.

Template Parameters
TType of list elements.
Parameters
listList to be converted to srting.
addNewlinesIf true then a newline is added before each element printed.
numIndentNumber of spaces aded before each element.
static string IG.Lib.Util.ListToStringLong< T > ( List< T >  list)
inlinestatic

Returns a string representing the specified generic list in long form. Count and Capacity properties are also printed. A newline and two spaces are added before each element printed.

Template Parameters
TType of list elements.
Parameters
listList to be converted to srting.
static string IG.Lib.Util.ToString< ObjectType > ( ObjectType  obj)
inlinestatic

Converts obect of the specified type to its string representation, where numbers are converted in ivariant culture (ignoring any localization settings).

This method can be used to avoid problems with differen local settinggs when transfering numerical values through text files.

Template Parameters
ObjectTypeType of the object to be converted to string.
Parameters
objObject to be converted.
static string IG.Lib.Util.ToString< ObjectType > ( ObjectType  obj,
System.Globalization.CultureInfo  cultureInfo 
)
inlinestatic

Converts obect of the specified type to its string representation, where numbers are converted in ivariant culture (ignoring any localization settings).

This method can be used to avoid problems with differen local settinggs when transfering numerical values through text files.

Template Parameters
ObjectTypeType of the object to be converted to string.
Parameters
objObject to be converted.
cultureInfoCulture info used in conversion.
static bool IG.Lib.Util.IsNumeric< ObjectType > ( ObjectType  obj)
inlinestatic

Returns a flag indicating whether the specified object is of numeric type (such as int, float, double, etc.).

When called on an arbitrary object, the correct type parameter will be inferred, and we can get the desired information if

Template Parameters
ObjectTypeType of the object that is queried.
Parameters
objObject for which we query whether it represents a numerical value.
static bool IG.Lib.Util.IsNumericOld ( object  expression)
inlinestaticprotected

Returns true if the specified expression or object is of numeric type (such as int, float, double, etc.), and false otherwise.

Parameters
expressionExpression that is checked for being of numeric type.
static void IG.Lib.Util.TestToString ( )
inlinestatic

Test conversion to strings with invariant culture info.

static bool IG.Lib.Util.TryParse< ReturnType > ( string  strValue,
ref ReturnType  parsedValue 
)
inlinestatic

Tries to parse a string representation of an object of the specified type and return it through output argument. Invariant culture is used in parsing.

Template Parameters
ReturnTypeType of the object whose value is tried to be parsed from the string.
Parameters
strValueString that is converted to obect of the specified type.
parsedValueValue (of the specified type)vthat is obtained from the parsed string.
Returns
true if string was successfully converted to the object of the specified type, false if not (in this case parsedValue retains its previous value).
static ReturnType IG.Lib.Util.Parse< ReturnType > ( string  strValue)
inlinestatic

Converts a string to the object of the specified type and returns the entity, by using the invariant culture.

This works for simple types, for complex types deserialization must be used.

Template Parameters
ReturnTypeType of the entity to be returned, can be int.
Parameters
strValueString to be converted to other type.
Returns
Object of the specified type converted form a string.
static object IG.Lib.Util.Parse ( string  strValue,
Type  propertyType 
)
inlinestatic

Converts a string to the entity of the specified type and returns that entity, by using invariant culture.

This works for simple types, for complex types deserialization must be used.

Parameters
strValueString to be converted to other type.
propertyTypeType of the entity to be parsed from a string.
cultureInfoCulture info used in conversion.
Returns
Object of the specified type converted form a string.

Referenced by IG.Lib.StringTable.GetElement< ElementType >().

static bool IG.Lib.Util.TryParse< ReturnType > ( string  strValue,
ref ReturnType  parsedValue,
System.Globalization.CultureInfo  cultureInfo 
)
inlinestatic

Tries to parse a string representation of an object of the specified type and return it through output argument.

Template Parameters
ReturnTypeType of the object whose value is tried to be parsed from the string.
Parameters
strValueString that is converted to obect of the specified type.
parsedValueValue (of the specified type)vthat is obtained from the parsed string.
cultureInfoCulture info used in conversion.
Returns
true if string was successfully converted to the object of the specified type, false if not (in this case parsedValue retains its previous value).
static ReturnType IG.Lib.Util.Parse< ReturnType > ( string  strValue,
System.Globalization.CultureInfo  cultureInfo 
)
inlinestatic

Converts a string to the object of the specified type and returns the entity, by using the specified culture info.

This works for simple types, for complex types deserialization must be used.

Template Parameters
ReturnTypeType of the entity to be returned, can be int.
Parameters
strValueString to be converted to other type.
cultureInfoCulture info used in conversion.
Returns
Object of the specified type converted form a string.
static object IG.Lib.Util.Parse ( string  strValue,
Type  propertyType,
System.Globalization.CultureInfo  cultureInfo 
)
inlinestatic

Converts a string to the entity of the specified type and returns that entity.

This works for simple types, for complex types deserialization must be used.

Parameters
strValueString to be converted to other type.
propertyTypeType of the entity to be parsed from a string.
cultureInfoCulture info used in conversion.
Returns
Object of the specified type converted form a string.
static bool IG.Lib.Util.TryParseBoolean ( string  str,
ref bool  parsedValue 
)
inlinestatic

Tries to parse a string representation of a boolean.

Parameters
strString that is converted to boolean.
parsedValueBoolean value parsed from the specified string.
Returns
true if string was successfully converted to boolean, false if not (in this case parsedValue retains its previous value).

Referenced by IG.Lib.CommandLineApplicationInterpreter.CmdAbout(), IG.Lib.CommandLineApplicationInterpreter.CmdApplicationInfo(), IG.Lib.CommandLineApplicationInterpreter.CmdPipeClientCreate(), IG.Lib.CommandLineApplicationInterpreter.CmdPipeServerCreate(), IG.Lib.CommandLineApplicationInterpreter.CmdPrintParallelCommands(), IG.Lib.CommandLineApplicationInterpreter.CmdThtrowExceptions(), and IG.Gr3d.VtkFormsExamples.Plot3dFunctionVtkControl().

static bool IG.Lib.Util.ParseBoolean ( string  str)
inlinestatic

Converts the specified string to a boolean value, if possible, and returns it. If conversion is not possible then exception is thrown. Recognized representations of true: "true", "1", "yes", "y" (case insensitive). Recognized representations of false: "false", "0", "no", "n" (case insensitive).

Parameters
strString representation of boolean to beparsed.
Returns
Boolean value represented by the specified string.
Exceptions
System.ArgumentNullExceptionWhen the string is null.
System.FormatExceptionWhen the string can not represent a boolean value.

Referenced by IG.Script.ScriptAppBase.DataStructuresFunctionTestCsvReadDefinitionAndData(), IG.Script.ScriptAppBase.DataStructuresFunctionTestCsvWriteDefinitionAndData(), IG.Script.ScriptAppBase.FileFunctionWaitCreation(), IG.Script.ScriptAppBase.ProcessFunctionKillApplications(), IG.Script.ScriptAppBase.ProcessFunctionKillApplicationsByWindow(), IG.Script.ScriptAppBase.ProcessFunctionKillProcesses(), IG.Script.ScriptAppBase.ProcessFunctionListApplications(), IG.Script.ScriptAppBase.ProcessFunctionListApplicationsByWindow(), and IG.Script.ScriptAppBase.ProcessFunctionListProcesses().

static bool IG.Lib.Util.TryParseThreadPriority ( string  str,
ref ThreadPriority  parsedValue 
)
inlinestatic

Tries to parse a string representation of a ThreadPriority enum.

Parameters
strString that is converted to a ThreadPriority value.
parsedValueBoolean value parsed from the specified string.
Returns
true if string was successfully converted to ThreadPriority, false if not (in this case parsedValue retains its previous value).
See also
Util.ParseThreadPriority

Referenced by IG.Lib.CommandLineApplicationInterpreter.CmdSetPriority().

static ThreadPriority IG.Lib.Util.ParseThreadPriority ( string  str)
inlinestatic

Converts the specified string to a ThreadPriority enum value, if possible, and returns it. If conversion is not possible then exception is thrown.

Recognized representations (not case sensitive):

ThreadPriority.Lowest: "0", "lowest", "idle"

ThreadPriority.BelowNormal: "1", "belownormal", "low"

ThreadPriority.Normal: "2", "normal"

ThreadPriority.AboveNormal: "3", "abovenormal", "high"

ThreadPriority.: "4", "Highest", "realtime"

Parameters
strString representation of a ThreadPriority value to be parsed.
Returns
The ThreadPriority value represented by the specified string.
Exceptions
System.ArgumentNullExceptionWhen the string is null.
System.FormatExceptionWhen the string can not represent a boolean value.
static void IG.Lib.Util.ExampleList ( )
inlinestatic

Member Data Documentation

object IG.Lib.Util._lockGlobal = new object()
staticprivate
const string IG.Lib.Util.MutexGlobalName = "Global\\IG.Lib.Utils.MutexGlobal.R2D2_by_Igor_Gresovnik"

Name of the global mutex.

volatile Mutex IG.Lib.Util._mutexGlobal
staticprotected
volatile int IG.Lib.Util._outputLevel = 0
staticprivate
const string IG.Lib.Util.NullRepresentationString = "null"

Standard string representation of null values of objects (often used when overriding object.ToString method).

Referenced by IG.Lib.Util.GetHashFunctionInt(), IG.Num.VectorBase.ToString(), and IG.Num.MatrixBase.ToStringReadable().

volatile int IG.Lib.Util._maxLengthIntToString
staticprivate
const string IG.Lib.Util.IGLibUrl = "http://www2.arnes.si/~ljc3m2/igor/iglib/"
const string IG.Lib.Util.IGLibCodeDocumentationUrl = "http://www2.arnes.si/~fgreso/code_documentation/generated/iglib/html/index.html"
const string IG.Lib.Util.IGLibAuthor = "Igor Grešovnik"

Property Documentation

Mutex IG.Lib.Util.MutexGlobal
staticget

Mutex for system-wide exclusive locks.

int IG.Lib.Util.OutputLevel
staticgetset

Serves as default output level for new objects of many classes that include the output level property (usually named "OutputLevel"). Such a property defines how much information about operation of the object is ouput to the console.

General guidlines for use of the output level property in classes:

The property usually defineds the quantity of output produced by an object of a class that implements this property. It is not strictly prescribed what certain values of the property mean. By loose agreement, any negative value means unspecified output level (property not yet initialized), 0 means that no output is produced, 1 means only the most important information is ouptut and higher values mean that more detailed information about operation is output to the console.

For example application, see e.g. the IG.Gr.PlotterZedGraph in the 2D plotting library that uses IGLib.

Referenced by IG.Lib.ShellApplication< InterpreterType >.AplicationMain(), IG.Lib.UtilSystem.CopyDirectorySafe(), IG.Lib.UtilSystem.CopyRecursive(), IG.Lib.UtilSystem.CopyRecursiveSafe(), IG.Lib.UtilSystem.ExampleCopyDir(), IG.Lib.UtilSystem.GetMacAddressFastest(), IG.Lib.UtilSystem.KillAllApplications(), IG.Lib.UtilSystem.KillAllApplicationsByWindowTitle(), IG.Lib.UtilSystem.KillAllProcesses(), IG.Lib.UtilSystem.KillFirstApplication(), IG.Lib.UtilSystem.KillFirstApplicationByWindowTitle(), and IG.Lib.UtilSystem.KillFirstProcess().


The documentation for this class was generated from the following file: