IGLib  1.7.2
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Package IG.Lib

Namespaces

package  Copy
 
package  Old
 

Classes

struct  Alignment
 Defines alignment (vertical and horizontal) of some object. More...
 
class  App
 Base class for all application classes. Provides some basic functionality such as keeping information about the application, managing application directories and basic files, etc. More...
 
class  ApplicationCommandlineBase
 Base class for main application classes that have the main method of the application based on command line interpreter. More...
 
class  AppTest
 
class  ArrayDto< ElementType, ElementBaseType, ElementDtoType >
 Data transfer object for holding arrays of objects of the same type. More...
 
class  ArrayDto< ElementType, ElementDtoType >
 Data transfer object for holding arrays of objects of the same type. More...
 
class  BoundingBoxDto
 Data Transfer Object (DTO) for bounding boxes of type IG.Num.BoundingBox. Used to store, transfer, serialize and deserialize objects of type BoundingBox. More...
 
class  BoundingBoxDtoBase
 DTO (data transfer object) for vector interface (IVector). More...
 
class  BoundingBoxDtoBase< BoxType >
 Base class for various DTO (Data Transfer Objects) for bounding boxes. Used to store a state of a bounding box. More...
 
class  CharacterBuffer
 CharacterBufferInterface wrapper for StringBilder. More...
 
struct  color
 Extended color representation. Stores RGB components and opacity as double numbers ranging fom 0 to 1. Implicit conversions to and from System.Drawing.Color and form System.Drawing.KnownColor are provided. More...
 
class  ColorScale
 
class  ColorScaleBase
 
class  CommandAdapterSingleThreaded
 Adapter class that wraps a single threaded command delegate and provides a multithreaded function. More...
 
class  CommandLine
 Represents a single command-line that can be executed. $A Igor Feb09; More...
 
class  CommandLineApplicationInterpreter
 Simple command-line application interpreters, holds a set of commands that can be executed by name. Each of these command can take an arbitrary number of string arguments. Interpreter has its internal variables, which are strings. Each variable has a name and a value. If any arguments (and even command) start with the '$' character then then it is treated as reference to a variable and is substituted with the value of that variable (whose name follows the '$' character) before it is used. More...
 
class  CommandLineApplicationScriptInterpreter
 Command-line interpreters adapted for executing script commands. More...
 
class  CommandLineData
 Holds execution data (command arguments ns result) for interpreter commands of the CommandLine type. More...
 
class  CommandLineInterpreter
 Base class for all command line interpreters. More...
 
class  CommandLineJobContainer
 Carries command execution data, results, and other data such as identification number, etc. More...
 
class  CommandStackFrame
 Stack frame for a block of command-line interpreter commands. More...
 
class  CommandStackFrame< InterpreterType >
 Stack frame for a block of command-line interpreter commands. More...
 
class  CommandStackFrame< InterpreterType, ThreadType >
 Stack frame for a block of command-line interpreter commands. More...
 
class  CommandStackFrameBase
 Base class for classes of type CommandStackFrame{InterpreterType, ThreadType}see cref=""/>. Contains everyting that does not depend on specific type of generic parameters. More...
 
class  CommandThread
 Contains stack frames and other command thread data for a single command thread of a command-line interreter. More...
 
class  CommandThread< InterpreterType >
 Contains stack frames and other command thread data for a single command thread of a command-line interreter. More...
 
class  CommandThread< InterpreterType, FrameType, ThreadType >
 Contains stack frames and other command thread data for a single command thread of a command-line interreter. More...
 
class  CommandThreadBase
 Base class for classes of type CommandThread{InterpreterType, FrameType, ThreadType}. Contains everything that is not dependent on generic frame and other parameters. More...
 
class  CommandUseReference
 A reference of command usage, contains ID of the interpreter where a command is registered, and command name under which command is registered on that interpreter. Objects of this class are immutable. More...
 
class  Cons
 Utilities for reading from a console. Just an alias for UtilConsole. More...
 
class  CounterVar
 
class  CsvData
 Memory representation of CSV data. More...
 
class  DataStore
 XML-based data class. Doc container is accessed through the Doc property, which is of class XmlData, an extension of XmlDocument. More...
 
class  ExpressionEvaluatorCompiled
 Base class for expression evaluators that utilize the functionality of CodeDomProvider class. More...
 
class  ExpressionEvaluatorJint
 JavaScript Evaluator with command-line interpreter, based on Jint. More...
 
class  ExpressionEvaluatorJs
 JavaScript Evaluator with command-line interpreter. More...
 
class  HtmlConst
 Contains a number of important constants used in Html. More...
 
class  HtmlWriter
 Generates and composes a HTML document. More...
 
interface  ICharacterBuffer
 Interface for all implementations of read-write character buffer. Classes that implement this interface are used e.g. in string parsing and output data formatters. More...
 
interface  ICharacterBufferReadOnly
 Interface for all implementations of read-only character buffer. Classes that implement this interface are used e.g. in string parsing and output data formatters. More...
 
interface  IColorScale
 
interface  ICommandLineApplicationInterpreter
 Interface for simple command-line applicatino interpreters. More...
 
class  IdGenerator
 Utility class for generaton of unique IDs for objects of specific type. IDs generated by calls of GetNewId() from a specific object of this class are unique. Utilizes definition of IIdentifiable interface. Implementation notes: In every class whose instances should have unique IDs, instantiate a private static object of this type, and an instance member of the Proxy subtype of this class. Both objexts should be instantiated by appropriate initializers, and constructor of the proxy object should be called with static object as argument. Example implementation can be found in the ExampleInterfaceImplementation subclass of this class. More...
 
class  IdProxy
 Proxy class that stores the object's unique ID (generated by a static instance of the IdGenerator class) and provides functionality of IIdentifiable. More...
 
interface  IFromXml
 Defines classes whose instances can be converted to Xml elements. Conversion is different from that used in serialization. More...
 
interface  IIdentifiable
 Classes whose instances have unique integer IDs. More...
 
interface  IInterpreter< TCommand, TCommandData >
 
interface  IInterpreterCommand
 
interface  IInterpreterCommandData
 
interface  ILoadableScript
 Interface for classes that can be dynamically loadeded from scripts and run, which provides functionality of dynamic scripting. It is recommendable to derive all such classes from the LoadableScriptBase base class. More...
 
interface  ILoadableScriptC
 Controllable loadable script, provides more control over loading and execution. More...
 
interface  ILoadableScriptInterpreter
 Interface for interpreters that can install commands from loadable scripts and run them. More...
 
interface  ILockable
 Lockable object, has a Lock property that returns object on which lock must be performed in order to lock the object. More...
 
class  IndexList
 Index list, a sorted list of unique integer indices. Used for tasks such as filtering specified element from a list of elements or a general data set. More...
 
class  IndexListDto
 Data Transfer Object (DTO) for index lists of type IndexList. Used to store, transfer, serialize and deserialize objects of type IndexList. More...
 
class  InterfaceInterpreterBase
 Base class for interfaces with interpreters. More...
 
class  InterfaceInverse
 Interface for Inverse Interpreter. More...
 
class  InterpreterBase< TCommand, TCommandData >
 
class  InterpreterCommandBase
 
class  InterpreterCommandDataBase
 
class  InterpreterVariable
 Base class for interpreter variables. More...
 
interface  IObjectStore< T >
 Object store. Objects of the specified type can be stored here for later reuse (efficiency improvement). More...
 
class  IpcStreamClientBase
 Client to the pipe server (classes derived from IpcStreamClientServerBase2). More...
 
class  IpcStreamClientServerBase
 Base class for client and server classes with stream-based communication. More...
 
class  IpcStreamClientServerBase2
 Base class for named pipe servers and clients, contains common stuff for both. More...
 
class  IpcStreamServerBase
 Server that creates a named pipe, listens on its input stream, and sends responses to the client. More...
 
interface  IRegisterable< T >
 Objects of this type have a unique ID (unique for all objects of a given type) and can be registered in the register of existent objects of the specified type. Implementation notes: Registerable.Example contains an example of how to do that, or can even be inherited to provide all functionality automatically (but this may not be feasible because multiple inheritance is not supported, and our class already inherits form another one). More...
 
interface  IReporter
 Interface from which majority of reporters inherit. Includes generic reporting functionality plus tracinf plus reportinf to files. More...
 
interface  IReporterBase
 Interface from which all reporters inherit. More...
 
interface  IReporterConsole
 
interface  IReporterTextLogger
 Reporters that utilize logging messages to files. IReporterTextLogger typically outputs (to a file) messages in one-line format with possibility to define indentation, while IReporterTextWriter typically outputs multi-line messages formatted for increased visibility. More...
 
interface  IReporterTextWriter
 Reporters that utilize writing messages to files. Messages are typically formatted as multi-line messages with distinctive markup. For one-line possibly indented messages, IReporterTextLogger should be used. More...
 
interface  IReporterTrace
 Reporters that utilize system's trace utility. More...
 
interface  ISerializationDto< Type >
 Generic base class for Data Transfer Objects (DTO). This class is used as template for producing concrete DTO classes. Such DTOs are used for serialization and deserialization of state of various kinds of objects that need to be transfered between applications, across platforms, or simply stored in files for future use. More...
 
interface  ISerializationDto< Type, BaseType >
 Interface for Data Transfer Objects (DTO). This class is used as template for producing concrete DTO classes. Such DTOs are used for serialization and deserialization of state of various kinds of objects that need to be transfered between applications, across platforms, or simply stored in files for future use. WARNING: In most cases ISerializationDto{Type} will be used. Different BaseType and Type are used only in relatively rare cases where different derived types all have the same data that is copied to DTO. Otherwise the advantage of this can not be used because of single inheritance. More...
 
interface  ISerializationDtoAux< Type >
 This interface facilitates use of static helper methods for copying on the SerializationDtoBase class. Contains those methods of ISerializationDto that don't use BaseType. More...
 
interface  ISerializationDtoTyped
 
interface  ISerializer
 Interface for helper classes that perform serialization/deserialization of objects. More...
 
interface  ISettingsRreader
 Interface for settings readers, which read pairs key/vvalue from various files or configuration servers. Intended for simple configurations! More...
 
interface  ISettingsServer
 
interface  IStringParsable
 Defines classes that can be converted to strings and whose values can be parsed from strings. This is used e.g. in interpreters and in variable storage systems. More...
 
interface  IStringParser
 String Parsers and Formatted Writers. More...
 
interface  IToXml
 Defines classes whose instances can be created from Xml elements. Conversion is different from that used in serialization. More...
 
interface  ITypedSerializable
 Interface for classes whose type information can be stored in the corresponding data transfer objects (DTOs) when copying contents to DTOS. This enables deserialization of serialized objects that is type dependent, without knowing in advance what is the type of serialized objects. More...
 
interface  ITypeName
 Classes that provide separate type names. Classes used e.g. in interpreter systems to represent types of variables, implement this interface. More...
 
interface  IVarType
 Defines classes that can represent variables of different types. Used e.g. in interpreters and variable storing systems. More...
 
interface  IWaitCondition
 Interface for classes that implement blocking until a specified condition is met. More...
 
interface  IWaitFileEvent
 Interface for classes that provide waiting for specific file events (such as ceration or deletion of a specific file or directory). More...
 
interface  IXmlConvertable
 Defines classes that can be converted to/from Xml elements. More...
 
class  JsonFormatter
 Formatting of JSON strings into human readable form. More...
 
class  KeyValueSortable< Tkey, Tvalue >
 Class representing a key-value pair where sorting can be performed both with respect to key and with respect to value. More...
 
class  ListDto< ElementType, ElementBaseType, ElementDtoType >
 Data transfer object for holding lists of objects of the same type. More...
 
class  ListDto< ElementType, ElementDtoType >
 Data transfer object for holding data from lists of objects of the same type. More...
 
class  LoadableRealFunctionBase
 A RealFunction class used as base class for dynamically loaded functions. Bunctions loaded from scripts will inherit from this class, which enables script writers to assemble just the minimum necessary amount of code. More...
 
class  LoadableScalarFunctionBase
 A ScalarFunction class used as base class for dynamically loaded scalar functions. Functions loaded from scripts will inherit from this class, which enables script writers to assemble just the minimum necessary amount of code. More...
 
class  LoadableScriptBase
 Base class for classes that can be dynamically loadeded from scripts and run, which provides functionality of dynamic scripting. It is recommendable to derive all such classes that implement the ILoadableScript interface from this base class. More...
 
class  LoadableScriptInterpreterBase
 Interpreter that can install commands from dynamically loaded (compiled) scripts and run them. Script loader object of a type is accessed through a property that can be overridden in derived classes, such that a different script loader is used. This is importand because different libraries will be required for compilation in different contexts. Script loader property creates a new script loader on first access. More...
 
class  LoadableScriptOptBase
 Base class for loadable scripts for optimization problems. AGREEMENTS: The first argument to initialization and executable method is working directory where data between different applications is exchanged. If overrigding the InitializeThis(string[])(...) method, call the base class' method first, and keep the agreement that the first argument must be the working directory. When implementing the executable (see RunThis()) method, its first argument should also be the working directory (the same as for initialization). This is to enable use of the class in scenarios where initialization and execution arguments must be the same. More...
 
class  LoadableScriptOptShellBaseControllable
 Controllable version of LoadableScriptOptBase, implements the ILoadableScriptC interface. More...
 
class  LoadableScriptOptTest
 Test optimization script cls. More...
 
class  LoadableScriptRealFunctionBase
 Base class for loadable scripts that define real functions of one variable. More...
 
class  LoadableScriptScalarFunctionBase
 Base class for loadable scripts that define scalar functions of several variables. More...
 
class  LoadableScriptShellBase
 Loadable script base class for the shell application that includes tols for definition of optiimization problems, definition of vector response functions, a couple of interfaces with simulation programs, etc. AGREEMENTS: The first argument to initialization and executable method is working directory where data between different applications is exchanged. If overrigding the InitializeThis(...) method, call the base class' method first, and keep the agreement that the first argument must be the working directory. When implementing the executable (RunThis(...)) method, its first argument should also be the working directory (the same as for initialization). This is to enable use of the class in scenarios where initialization and execution arguments must be the same. More...
 
class  Logger
 Temporary logging of errors, warnings and infos for later processing. It is used to log multiple events in order to be processed (reported or otherwise) later. More...
 
class  LogRecord
 Single record for temporary logging. More...
 
class  MatrixDto
 Data Transfer Object (DTO) for matrixs of type IG.Num.Matrix. Used to store, transfer, serialize and deserialize objects of type IMatrix. More...
 
class  MatrixDtoBase
 DTO (data transfer object) for matrix interface (IMatrix). More...
 
class  MatrixDtoBase< MatrixType >
 Base class for various matrix DTO (Data Transfer Objects) for matrixs. Used to store a state of a matrix. More...
 
class  Module
 General module (or library) management class, a base class for specific module classes. Provides some basic functionality such as keeping information about the module, managing module directories and basic files, etc. Global module object is not implemented (in contrary to global program object), but it should be implemented in speciffic module classes derived from this one. More...
 
class  ModuleBase
 Manages basic program informatin and resources such as directories, expiration time, etc. More...
 
class  ModuleTest
 
class  NamedPipeClientBase
 Client to the pipe server (classes derived from IpcStreamClientServerBase2). More...
 
class  NamedPipeServerBase
 Server that creates a named pipe, listens on its input stream, and sends responses to the client. More...
 
class  NamespaceDoc
 This namespace contains those general classes for the IGLib base library that are not put into other base namespaces. More...
 
class  NeuralApplicationInterpreter
 Command line application interpreter that contains some neural networks - related commands. More...
 
class  ObjectRegister< T >
 Provides implementation of register of objects of the specified type. Also generates unique IDs for objects of this type. This class utilizes implementation of IIdentifiable and IRegisterable interfaces. Implementation notes for IRegistable: For implementation, use a static instance of this class, and an a nonstatic instance of the IdProcy class (to generate and hold object's unique ID). subclass of this clas, initialized by that static instance. Example implementation can be found in the ExampleInterfaceImplementation subclass of this class. More...
 
class  ObjectStore< T >
 Object store. Objects of the specified type can be stored here for later reuse (efficiency improvement). IMPORTANT: Override IsEligible(), NotEligibleMessage() and TryGetNew() and possibly TryStore() methods in derived classes when applicable. More...
 
class  Parser
 
class  PipeClientBase
 Client to the pipe server (classes derived from IpcStreamClientServerBase2). More...
 
class  PipeServerBase
 Server that creates a named pipe, listens on its input stream, and sends responses to the client. More...
 
class  RealFunctionLoader
 Dynamically generates IRealFunction classes from user definitions. User can define in string form how function, its derivative, second derivative, integral, or inverse function is calculated. Then this class can be used to compile these definitions in the wrapping script, which is then used to create the corresponding function objects. More...
 
class  RegisterableExamples
 Contains examples od implementation of the IIdentifieble and IRegistrable interface. They utilize implementation of helper classes from this file.. More...
 
class  ReporterBase
 Base IGlib class for reporting, tracing and logging; provides a global reporter and a basis for creation of local reporters. This class is identical to the IGLib class (copied directly). IN EFA, refer to the derived class Reporter! More...
 
class  ReporterConfSpeech
 This class is extension of ReporterConf that enables reporting via speech. More...
 
class  ReporterConsole
 
class  ReporterConsole_Base
 Base class for reporter classes that contain either reporting via system console, reporting via message box, or both. More...
 
class  ReporterConsoleMsgboxSpeech
 
class  ReporterConsoleMsgboxSpeech_Base
 Base class for reporter classes that contain either reporting via system console, via message box, via speech, or any combination thereof. More...
 
class  ScalarFunctionLoader
 Dynamically generates IScalarFunction classes from user definitions. User can define in string form how function, its derivative, second derivative, integral, or inverse function is calculated. Then this class can be used to compile these definitions in the wrapping script, which is then used to create the corresponding function objects. More...
 
class  ScalarVar
 Scalar variable. More...
 
class  ScriptLoaderBase
 Dynamically compiles, loads and instantiates classes of type ILoadableScript from files or from strings. More...
 
class  ScriptLoaderIGLib
 Base script loader class for IGLib. More...
 
class  SerializationDto
 Auxiliary base class for DTOs, contains some static methods. Provided for simplicity, such that one does not need to state type parameters More...
 
class  SerializationDto< Type >
 Generic base class for Data Transfer Objects (DTO). This class is used as template for producing concrete DTO classes. Such DTOs are used for serialization and deserialization of state of various kinds of objects that need to be transfered between applications, across platforms, or simply stored in files for future use. More...
 
class  SerializationDtoBase< Type, BaseType >
 Generic base class for Data Transfer Objects (DTO). This class is used as template for producing concrete DTO classes. Such DTOs are used for serialization and deserialization of state of various kinds of objects that need to be transfered between applications, across platforms, or simply stored in files for future use. WARNING: In most cases ISerializationDto type will be used. Different BaseType and Type are used only in relatively rare cases where different derived types all have the same data that is copied to DTO. Otherwise the advantage of this can not be used because of single inheritance. More...
 
class  SerializationDtoTypedBase< Type, BaseType >
 
class  SerializationTester
 
class  SerializerBase
 Base class for serialization helper classes. More...
 
class  SerializerJson
 Helper class for JSON serialization and deserialization. This class enables formatting of the generated JSON with propper indentation, which is not the case with its base class. JSON Serializer has several limitations, such as: More...
 
class  SerializerJsonBase
 Helper class for JSON serialization and deserialization. This class does not enable formatting of the generated JSON (no indentation etc.). More...
 
class  SettingsReaderAppConfig
 Provides functionality for retrieving settings from various sources such as application settings file. More...
 
class  SettingsReaderBase
 
class  SettingsServerBase
 
class  ShellApplication< InterpreterType >
 Class encapsulating a command-line shell. Used as embedded shell application that can be installed on command-line interpreters and runnable scripts. More...
 
class  SortedUniqueItemList< Type >
 Sorted list of unique items. It is guaranteed that at all times the list of containing items is sorted. More...
 
class  StopWatch1
 Timer for measuring execution times and other intervals of time elapsed between successive events. $A Igor xx Apr10 Jun15; More...
 
class  StringParser
 Parsig data from character arrays. Provides various parsing and writing utilities on character buffers. $A Igor Feb09; More...
 
class  StringTable
 2D tables of data represented by strings. Maps to CSV files. More...
 
class  TempFileStream
 Temporary file stream. Based on a temporary file proveded by the system, which is automatically closed when the stream is closed. More...
 
struct  ThreadPerformanceData
 Stores results of performance test. More...
 
class  ThreadPerformanceTest
 Used to measure performance of the currend thread. A standard unit operation is provided for which number of executions per second is measured. Beside number of unit operations per second, the ratio between the CPU time and the clock time is calculated, which gives the feeling of how much the processor on which the thread executes is loaded. Measurements can be performed by specifying the requested number of cycles, but also by specifying the requested time in seconds. More...
 
class  ThreadPulser
 Launches (immediately upon creation) a thread that performs pulsing on its object. PulseAll is perfomed on its Lock object every time the object is pulsed from another thread. This object acts as kind of proxy for pulsing and provides the object used for locking and pulsing. More...
 
class  TrackedThread
 Tracked thread object that wraps a single created thread and enables that all active wrapped threads are are tracked (i.e. a list of all active tracked threads can be obtained at any time). More...
 
class  Util
 General utilities. More...
 
class  UtilConsole
 Utilities for reading from a console. More...
 
class  UtilCsv
 Auxiliary utilities for dealing with files in CSV and other delimited formats. More...
 
class  UtilStr
 Various string operations, random strings, random characters, etc. More...
 
class  UtilSystem
 General utilities. More...
 
class  VarTypeBase
 DO NOT USE! The base class implementing the IVarType interface. More...
 
class  vartypes
 
class  VectorDto
 Data Transfer Object (DTO) for vectors of type IG.Num.Vector. Used to store, transfer, serialize and deserialize objects of type Vector. More...
 
class  VectorDtoBase
 DTO (data transfer object) for vector interface (IVector). More...
 
class  VectorDtoBase< VectorType >
 Base class for various vector DTO (Data Transfer Objects) for vectors. Used to store a state of a vector. More...
 
class  WaitCondition
 Provides a framework for blocking execution until the specified condition becomes satisfied. Function Wait() does that. The function continuously check the unblocking condition until it becomes satisfied, sleeping a certain amount of time between consecutive checks. Time plan of checks (i.e. the amount of sleepin time between them) can be adjusted by public properties SleepFirst, MinSleepMs, MaxSleepMs, and MaxRelativeLatency. These properties can be adjusted while waiting. Blocking condition is evaluated by the (public) function Condition() and can be adjusted in one of the following ways: More...
 
class  WaitConditionBase
 Base class for objects that perform waiting until a condition is fulfilled. More...
 
class  WaitDirectoryCreation
 Blocking execution of the current thread until the specified directory begins to exist. More...
 
class  WaitDirectoryCreationByProxy
 Implements blocking until the specified directory is created (becomes existent). Directory is specified in constructor or by setting the DirectoryPath property. Waiting is performed by calling the Wait() function. More...
 
class  WaitDirectoryCreationLatence
 Implements blocking until the specified directory is created (becomes existent). Directory is specified in constructor or by setting the DirectoryPath property. Waiting is performed by calling the Wait() function. It is implemented by successively checking whether unblocking condition is fulfilled and by sleeping between checks. Therefore it has some latency (i.e. unblocking is not always performed immediatley the condition is met) and spends some CPU time and system resources. More...
 
class  WaitDirectoryRemoval
 Blocking execution of the current thread until the specified directory ceases to exist. More...
 
class  WaitDirectoryRemovalByProxy
 Implements blocking until the specified directory is deleted (becomes nonexistent). Directory is specified in constructor or by setting the DirectoryPath property. Waiting is performed by calling the Wait() function. More...
 
class  WaitDirectoryRemovalLatence
 Implements blocking until the specified directory is deleted (becomes nonexistent). Directory is specified in constructor or by setting the DirectoryPath property. Waiting is performed by calling the Wait() function. It is implemented by successively checking whether unblocking condition is fulfilled and by sleeping between checks. Therefore it has some latency (i.e. unblocking is not always performed immediatley the condition is met) and spends some CPU time and system resources. More...
 
class  WaitFileCreation
 Blocking execution of the current thread until the specified file begins to exist. More...
 
class  WaitFileCreationByProxy
 Implements blocking until the specified file is created (becomes existent). File is specified in constructor or by setting the FilePath property. Waiting is performed by calling the Wait() function. More...
 
class  WaitFileCreationLatence
 Implements blocking until the specified file is created (becomes existent). File is specified in constructor or by setting the FilePath property. Waiting is performed by calling the Wait() function. It is implemented by successively checking whether unblocking condition is fulfilled and by sleeping between checks. Therefore it has some latency (i.e. unblocking is not always performed immediatley the condition is met) and spends some CPU time and system resources. More...
 
class  WaitFileEvent
 Concrete class derived from WaitFileEventBase. It does not have a meaningful unblocking condition (it alwys evaluates to true), therefore the class can use WaitEvents() function but not Wait(). More...
 
class  WaitFileEventBase
 Base class for classes that provide blocking until a file or directory is created/removed. More...
 
class  WaitFileEventBaseByProxy
 Base class for classes that provide blocking until a file or directory is created/removed. This clas uses a proxy class for performing its basic operation. More...
 
class  WaitFileEventBaseByProxyLatence
 Base class for classes that provide blocking until a file or directory is created/removed. This clas uses a proxy class for performing its basic operation. More...
 
class  WaitFileEventLatenceBase
 Base class for classes that impelement methods that block until a file or directory is created or deleted. More...
 
class  WaitFileRemoval
 Blocking execution of the current thread until the specified file ceases to exist. More...
 
class  WaitFileRemovalByProxy
 Implements blocking until the specified file is deleted (becomes nonexistent). File is specified in constructor or by setting the FilePath property. Waiting is performed by calling the Wait() function. More...
 
class  WaitFileRemovalLatence
 Implements blocking until the specified file is deleted (becomes nonexistent). File is specified in constructor or by setting the FilePath property. Waiting is performed by calling the Wait() function. It is implemented by successively checking whether unblocking condition is fulfilled and by sleeping between checks. Therefore it has some latency (i.e. unblocking is not always performed immediatley the condition is met) and spends some CPU time and system resources. More...
 
class  Xml
 Supplemental basic XML node and document manipulation utilities. Contains some useful static methods for XML manipulation. More...
 
class  xml_generic
 
class  XmlBuilder
 Class that enables custom parsing and building of an Xml document. More...
 
class  XmlData
 XmlDocument extended by additional functionality for managing complex data units. In applications, this is used for More...
 
class  XmlParser
 Base class for classes taht contain an Xml document that can be parsed. Provides comfortable utilities for transversing the document and for querying the value, name, and attributes of the current node. More...
 
class  XmlUtilityBase
 Base class for various utilities operating on XmlDocumnt. More...
 

Enumerations

enum  IpcStage { IpcStage.WritingRequest, IpcStage.ReadingRequest, IpcStage.WritingResponse, IpcStage.ReadingResponse }
 
enum  AlignmentHorizontal { AlignmentHorizontal.None = 0, AlignmentHorizontal.Left = 1, AlignmentHorizontal.Right = 2, AlignmentHorizontal.Centered = 4 }
 Defines horizontal alignment of some object. More...
 
enum  AlignmentVertical { AlignmentVertical.None = 0, AlignmentVertical.Bottom = 1, AlignmentVertical.Top = 2, AlignmentVertical.Middle = 4 }
 Defines vertical Alignment of some object. More...
 
enum  VariableFlags : int {
  VariableFlags.None = 0, VariableFlags.Valid = 1, VariableFlags.StringVar = 2, VariableFlags.ReferenceVar = 4,
  VariableFlags.Default = Valid & StringVar
}
 Flags that specify interpreter variable type and behavior. More...
 
enum  CodeBlockType : int {
  CodeBlockType.None = 0, CodeBlockType.Base = 1, CodeBlockType.Block = 2, CodeBlockType.If = 4,
  CodeBlockType.While = 8, CodeBlockType.Function = 32, CodeBlockType.Callable = Function | Function
}
 Represents type of the interpretation block for which a stack frame exists on command thread. More...
 
enum  ReportType { ReportType.Error = 1, ReportType.Warning, ReportType.Info, ReportType.Undefined }
 Defines the type of a report. More...
 
enum  ReportLevel {
  ReportLevel.Off = 0, ReportLevel.Error, ReportLevel.Warning, ReportLevel.Info,
  ReportLevel.Verbose
}
 Defines the level of output when launching reports. More...
 
enum  ReportSource {
  ReportSource.Ignore, ReportSource.Unknown, ReportSource.Server, ReportSource.Client,
  ReportSource.WebService, ReportSource.UserService, ReportSource.ClientOrServer
}
 
enum  CharType {
  CharType.None = 0, CharType.CapitalLetter = 1, CharType.SmallLetter = 2, CharType.Numeric = 4,
  CharType.All = CapitalLetter | SmallLetter | Numeric
}
 Represents a character type, supports bitwise flag combination. More...
 

Functions

delegate string ApplicationCommandDelegate (ICommandLineApplicationInterpreter interpreter, string commandName, string[] args)
 Delegate for commands that are installed on interpreter. More...
 
delegate string ApplicationCommandDelegateMtGeneric< InterpreterType > (CommandThread< InterpreterType > commandThread, string commandName, string[] args)
 Delegate for commands that are installed on interpreter. More...
 
delegate string ApplicationCommandDelegateMt (CommandThread commandThread, string commandName, string[] args)
 Delegate for commands that are installed on interpreter. More...
 
delegate void ModuleDelegate (string modulename, ICommandLineApplicationInterpreter interpreter)
 Delegate for installing a module on the interpreter. More...
 
delegate void ReportDelegate (ReporterBase reporter, ReportType messagetype, string errorlocation, string errormessage)
 Launches a message (report) about some event. More...
 
delegate string ReportLocationDelegate (ReporterBase reporter, ReportType messagetype, string location, Exception ex)
 Assembles the error location desctiption. More...
 
delegate string ReportMessageDelegate (ReporterBase reporter, ReportType messagetype, string basicmessage, Exception ex)
 Assembles error description (without any decoration, this is added by talling methods). More...
 
delegate void ReserveReportErrorDelegate (ReporterBase reporter, ReportType messagetype, string location, string message, Exception ex, Exception ex1)
 Reports errors occurred in error reporting methods when exceptions are thrown within them. Methods assigned to these delegates must be bullet proof. They must report the original error (being reported when an exception occurred) as well as the exception that occurred uin the error reporting method. More...
 

Enumeration Type Documentation

Enumerator
WritingRequest 
ReadingRequest 
WritingResponse 
ReadingResponse 

Defines horizontal alignment of some object.

$A Igor xx;

Enumerator
None 
Left 
Right 
Centered 

Defines vertical Alignment of some object.

$A Igor xx;

Enumerator
None 
Bottom 
Top 
Middle 

Flags that specify interpreter variable type and behavior.

Flag-like values.

$A Igor Oct15;

Enumerator
None 

Helper flag, meaning that no other type flag is set.

Valid 

Indicates that variable is defined and active, i.e., it is valid and can be used.

StringVar 

Variable contains string value.

Commandline interpreter variables are string variables by default, but may be extended to contain other object types.

ReferenceVar 

Variable references another variable.

Default 

Default flags - for most ordinary value (= VariableFlags.StringVar and VariableFlags.Valid)

Represents type of the interpretation block for which a stack frame exists on command thread.

Flag-like values.

$A Igor Sep15;

Enumerator
None 

Helper type, meaning that no other type flag is set.

Base 

Base block of the thread.

Currently not used, but might be in the future.

Block 

Plain code block (entered via "Block" command).

If 

Branching block (entered via If, ElseIf or Else comands).

While 

While block (entered via While command).

Function 

Function block (entered via Call command).

Callable 

Any callable block, such as function.

Code for such a block is stored in a separate store (e.g. when Function command is executed that stores function definition) and it is executed from there. These blocks do not see local variables of the calling blocks (lower level stack frames).

Defines the type of a report.

Enumerator
Error 
Warning 
Info 
Undefined 

Defines the level of output when launching reports.

Enumerator
Off 
Error 
Warning 
Info 
Verbose 
Enumerator
Ignore 
Unknown 
Server 
Client 
WebService 
UserService 
ClientOrServer 

Represents a character type, supports bitwise flag combination.

Enumerator
None 
CapitalLetter 
SmallLetter 
Numeric 
All 

Function Documentation

delegate string IG.Lib.ApplicationCommandDelegate ( ICommandLineApplicationInterpreter  interpreter,
string  commandName,
string[]  args 
)

Delegate for commands that are installed on interpreter.

Only suitable for single threaded command execution.

Parameters
interpreterInterpreter on which commad is run. Enables access to interpreter internal data from command body.
commandNameCommand name.
argsCommand arguments.
Returns
Command return data.

$A Igor Aug08;

delegate string IG.Lib.ApplicationCommandDelegateMtGeneric< InterpreterType > ( CommandThread< InterpreterType >  commandThread,
string  commandName,
string[]  args 
)

Delegate for commands that are installed on interpreter.

Parameters
commandThreadInterpreter on which commad is run. Enables access to interpreter internal data from command body.
commandNameCommand name.
argsCommand arguments.
Returns
Command return data.

$A Igor xx Sep15;

Type Constraints
InterpreterType :class 
InterpreterType :ICommandLineApplicationInterpreter 
delegate string IG.Lib.ApplicationCommandDelegateMt ( CommandThread  commandThread,
string  commandName,
string[]  args 
)

Delegate for commands that are installed on interpreter.

Parameters
commandThreadInterpreter on which commad is run. Enables access to interpreter internal data from command's body.
commandNameCommand name.
argsCommand arguments.
Returns
Command return data.

$A Igor xx Sep15;

Referenced by IG.Lib.CommandLineApplicationInterpreter.AsyncRunCallback(), IG.Lib.CommandLineApplicationInterpreter.AsyncWait(), IG.Lib.CommandLineApplicationInterpreter.ContainsCommand(), IG.Lib.CommandLineApplicationInterpreter.RunAsync(), and IG.Lib.CommandLineApplicationInterpreter.RunWithoutModifications().

delegate void IG.Lib.ModuleDelegate ( string  modulename,
ICommandLineApplicationInterpreter  interpreter 
)

Delegate for installing a module on the interpreter.

Parameters
modulenameName of the module.
interpreterInterperter where module is installed.

$A Igor Mar09;

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

delegate void IG.Lib.ReportDelegate ( ReporterBase  reporter,
ReportType  messagetype,
string  errorlocation,
string  errormessage 
)

Launches a message (report) about some event.

Parameters
reporterReference to the reporter class where all other necessary data is fond. In particular, the Obj member contains a user-set object reference used by the delegate functions.
messagetypeType of the message to be launched.
errorlocationUser-defined string containing (sometimes supplemental to the Exception object) specification of error location (e.g. a class or module name)
errormessageUser-provided string containing (sometimes supplemental to the Exception object) error description.
delegate string IG.Lib.ReportLocationDelegate ( ReporterBase  reporter,
ReportType  messagetype,
string  location,
Exception  ex 
)

Assembles the error location desctiption.

Parameters
reporterReference to the reporter class where all other necessary data is fond. In particular, the Obj member contains a user-set object reference used by the delegate functions.
messagetypeType of the message to be launched.
locationUser-provided string containing (sometimes supplemental to the Exception object) specification of error location (e.g. a class or module name)
exException to be reported.
Returns
A string describing error location.

Referenced by IG.Lib.ReporterBase.SetDefaultReportLocationDlg().

delegate string IG.Lib.ReportMessageDelegate ( ReporterBase  reporter,
ReportType  messagetype,
string  basicmessage,
Exception  ex 
)

Assembles error description (without any decoration, this is added by talling methods).

Parameters
reporterReference to the reporter class where all other necessary data is fond.
Parameters
messagetypeType of the message to be launched.
In particular, the Obj member contains a user-set object reference used by the delegate functions.
basicmessageUser-provided string containing (sometimes supplemental to the Exception object) error description.
exException to be reported.
Returns
Error description string (error message).

Referenced by IG.Lib.ReporterBase.SetDefaultReportMessageDlg().

delegate void IG.Lib.ReserveReportErrorDelegate ( ReporterBase  reporter,
ReportType  messagetype,
string  location,
string  message,
Exception  ex,
Exception  ex1 
)

Reports errors occurred in error reporting methods when exceptions are thrown within them. Methods assigned to these delegates must be bullet proof. They must report the original error (being reported when an exception occurred) as well as the exception that occurred uin the error reporting method.

Parameters
reporterReference to the reporter class where all other necessary data is fond. In particular, the Obj member contains a user-set object reference used by the delegate functions. This object should be used with special care within reserve reporting functions because it may be corrupted.
messagetypeType of the message to be launched.
locationUser-provided string containing (sometimes supplemental to the Exception object) specification of error location (e.g. a class or module name)
messageUser-provided string containing (sometimes supplemental to the Exception object) error description.
exOriginal exception that was being reported.
ex1Exception that was thrwn by the error reporting function.