diff --git a/doc/html/annotated.html b/doc/html/annotated.html new file mode 100644 index 00000000..185aab61 --- /dev/null +++ b/doc/html/annotated.html @@ -0,0 +1,168 @@ + + + + + + +PIP: Class List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 12]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 CPIBinaryLogClass for read and write binary data to logfile, and playback this data in realtime
 CPIByteArrayByte array
 CRawDataHelp struct to store/restore custom blocks of data to/from PIByteArray
 CPICharUnicode char
 CPICLICommand-line arguments parser
 CPICollectionInterface to discover element groups
 CPIConfigConfiguration file
 CBranchBranch is a list of entries of configuration file
 CEntryEntry of configuration file
 CPIConnectionComplex Input/Output point
 CPIConsoleConsole output class
 CPICoutClass for formatted output similar std::cout
 CPIDiagnosticsConnection quality diagnostics
 CPIEthernetEthernet device
 CInterfaceNetwork interface descriptor
 CInterfaceListArray of Interface with some features
 CPIEvaluatorThis class provide mathematical evaluations of custom expression
 CPIFileLocal file
 CPIFlagsThis class used as container for bit flags
 CPIIODeviceBase class for input/output classes
 CPIKbdListenerKeyboard console input listener
 CPIMutexMutex
 CPIObjectThis is base class for any classes which use events -> handlers mechanism
 CPIPacketExtractorPackets extractor
 CPIProcess
 CPIProtocol
 CPISerialSerial device
 CPISetSet of any type
 CPIStateMachineBase class for custom state machine
 CRuleRule of transition between states of machine
 CStateState of machine
 CPIStringString class
 CPIStringListStrings array class
 CPISystemTimeSystem time
 CPIThreadThread class
 CPITimeMeasurerTime measurements
 CPITimerTimer
 CPIVariantVariant type
 CPIVectorDynamic array of any type
 CTransferFunctionDifferential evaluations
+
+
+
+ + + + diff --git a/doc/html/annotated.js b/doc/html/annotated.js new file mode 100644 index 00000000..e6d139d9 --- /dev/null +++ b/doc/html/annotated.js @@ -0,0 +1,36 @@ +var annotated = +[ + [ "PIBinaryLog", "class_p_i_binary_log.html", "class_p_i_binary_log" ], + [ "PIByteArray", "class_p_i_byte_array.html", "class_p_i_byte_array" ], + [ "PIChar", "class_p_i_char.html", "class_p_i_char" ], + [ "PICLI", "class_p_i_c_l_i.html", "class_p_i_c_l_i" ], + [ "PICollection", "class_p_i_collection.html", "class_p_i_collection" ], + [ "PIConfig", "class_p_i_config.html", "class_p_i_config" ], + [ "PIConnection", "class_p_i_connection.html", "class_p_i_connection" ], + [ "PIConsole", "class_p_i_console.html", "class_p_i_console" ], + [ "PICout", "class_p_i_cout.html", "class_p_i_cout" ], + [ "PIDiagnostics", "class_p_i_diagnostics.html", "class_p_i_diagnostics" ], + [ "PIEthernet", "class_p_i_ethernet.html", "class_p_i_ethernet" ], + [ "PIEvaluator", "class_p_i_evaluator.html", "class_p_i_evaluator" ], + [ "PIFile", "class_p_i_file.html", "class_p_i_file" ], + [ "PIFlags", "class_p_i_flags.html", "class_p_i_flags" ], + [ "PIIODevice", "class_p_i_i_o_device.html", "class_p_i_i_o_device" ], + [ "PIKbdListener", "class_p_i_kbd_listener.html", "class_p_i_kbd_listener" ], + [ "PIMutex", "class_p_i_mutex.html", "class_p_i_mutex" ], + [ "PIObject", "class_p_i_object.html", "class_p_i_object" ], + [ "PIPacketExtractor", "class_p_i_packet_extractor.html", "class_p_i_packet_extractor" ], + [ "PIProcess", "class_p_i_process.html", null ], + [ "PIProtocol", "class_p_i_protocol.html", "class_p_i_protocol" ], + [ "PISerial", "class_p_i_serial.html", "class_p_i_serial" ], + [ "PISet", "class_p_i_set.html", "class_p_i_set" ], + [ "PIStateMachine", "class_p_i_state_machine.html", "class_p_i_state_machine" ], + [ "PIString", "class_p_i_string.html", "class_p_i_string" ], + [ "PIStringList", "class_p_i_string_list.html", "class_p_i_string_list" ], + [ "PISystemTime", "class_p_i_system_time.html", "class_p_i_system_time" ], + [ "PIThread", "class_p_i_thread.html", "class_p_i_thread" ], + [ "PITimeMeasurer", "class_p_i_time_measurer.html", "class_p_i_time_measurer" ], + [ "PITimer", "class_p_i_timer.html", "class_p_i_timer" ], + [ "PIVariant", "class_p_i_variant.html", "class_p_i_variant" ], + [ "PIVector", "class_p_i_vector.html", "class_p_i_vector" ], + [ "TransferFunction", "struct_transfer_function.html", null ] +]; \ No newline at end of file diff --git a/doc/html/bc_s.png b/doc/html/bc_s.png new file mode 100644 index 00000000..6b2a7130 Binary files /dev/null and b/doc/html/bc_s.png differ diff --git a/doc/html/bdwn.png b/doc/html/bdwn.png new file mode 100644 index 00000000..f7a514d4 Binary files /dev/null and b/doc/html/bdwn.png differ diff --git a/doc/html/class_p_i_binary_log-members.html b/doc/html/class_p_i_binary_log-members.html new file mode 100644 index 00000000..6b485aea --- /dev/null +++ b/doc/html/class_p_i_binary_log-members.html @@ -0,0 +1,221 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIBinaryLog Member List
+
+
+ +

This is the complete list of members for PIBinaryLog, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
className() const PIObjectinlinevirtual
closeDevice()PIBinaryLogprotectedvirtual
configureDevice(const void *e_main, const void *e_parent=0)PIIODeviceinlineprotectedvirtual
configureFromFullPath(const PIString &full_path)PIBinaryLogprotectedvirtual
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
data() const PIThreadinline
debug() const PIObjectinline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprotected
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
findByName(const PIString &name)PIObjectinlinestatic
fullPathPrefix() const PIBinaryLoginlineprotectedvirtual
HANDLERPIObjectrelated
init()PIIODeviceinlineprotectedvirtual
isPropertyExists(const PIString &name) const PIObjectinline
isRunning() const PIThreadinline
lock()PIThreadinline
mutex()PIThreadinline
name() const PIObjectinline
needLockRun(bool need)PIThreadinline
openDevice()PIBinaryLogprotectedvirtual
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
piHigh enum valuePIThread
piHighest enum valuePIThread
PIIODEVICEPIIODevicerelated
piLow enum valuePIThread
piLowerst enum valuePIThread
piNormal enum valuePIThread
PIObject(const PIString &name=PIString())PIObject
PIOBJECTPIObjectrelated
PIOBJECT_PARENTPIObjectrelated
PIThread(void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)PIThread
PIThread(bool startNow=false, int loop_delay=-1)PIThread
priority() const PIThreadinline
Priority enum namePIThread
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIObjectinlineprotectedvirtual
readDeviceSetting(const PIString &name, const T &def, const PIConfig::Entry *em, const PIConfig::Entry *ep)PIIODevicerelated
REGISTER_DEVICEPIIODevicerelated
setData(void *d)PIThreadinline
setDebug(bool debug)PIObjectinline
setName(const PIString &name)PIObjectinline
setPriority(PIThread::Priority prior)PIThread
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
setSlot(ThreadFunc func)PIThreadinline
PIThread::start(int timer_delay)PIThread
PIThread::start(ThreadFunc func, int timer_delay)PIThreadinline
started()PIThread
startOnce()PIThread
startOnce(ThreadFunc func)PIThreadinline
stopped()PIThread
superClassName() const PIObjectinlinevirtual
threadedRead(uchar *readed, int size)PIBinaryLogprotectedvirtual
unlock()PIThreadinline
waitForFinish(int timeout_msecs)PIThread
waitForStart(int timeout_msecs)PIThread
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
+
+ + + + diff --git a/doc/html/class_p_i_binary_log.html b/doc/html/class_p_i_binary_log.html new file mode 100644 index 00000000..86824a16 --- /dev/null +++ b/doc/html/class_p_i_binary_log.html @@ -0,0 +1,526 @@ + + + + + + +PIP: PIBinaryLog Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIBinaryLog Class Reference
+
+
+ +

Class for read and write binary data to logfile, and playback this data in realtime. + More...

+
+ + Inheritance diagram for PIBinaryLog:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+PIString fullPathPrefix () const
 Reimplement to construct full unambiguous string prefix. Creating devices by unambiguous string.
 
+void configureFromFullPath (const PIString &full_path)
 Reimplement to configure your device with parameters of full unambiguous string. Default implementation does nothing.
 
+bool openDevice ()
 Reimplement to open device, return value will be set to "opened_" variable.
 
+bool closeDevice ()
 Reimplement to close device, inverse return value will be set to "opened_" variable.
 
+bool threadedRead (uchar *readed, int size)
 Function executed when thread read some data, default implementation execute external slot "ret_func_".
 
- Protected Member Functions inherited from PIIODevice
+virtual bool init ()
 Function executed before first openDevice() or from constructor.
 
+virtual bool configureDevice (const void *e_main, const void *e_parent=0)
 Reimplement to configure device from entries "e_main" and "e_parent", cast arguments to PIConfig::Entry*.
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from PIThread
enum  Priority {
+  piLowerst, +piLow, +piNormal, +piHigh, +
+  piHighest +
+ }
 Priority of thread. More...
 
- Public Member Functions inherited from PIThread
PIThread (void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)
 Contructs thread with custom data "data", external function "func" and main loop delay "loop_delay".
 
PIThread (bool startNow=false, int loop_delay=-1)
 Contructs thread with main loop delay "loop_delay".
 
+void setData (void *d)
 Set common data passed to external function.
 
+void setSlot (ThreadFunc func)
 Set external function that will be executed after every run()
 
+void setPriority (PIThread::Priority prior)
 Set priority of thread.
 
+void * data () const
 Returns common data passed to external function.
 
+PIThread::Priority priority () const
 Return priority of thread.
 
+bool isRunning () const
 Return true if thread is running.
 
+void needLockRun (bool need)
 Set necessity of lock every run with internal mutex.
 
+PIMutexmutex ()
 Return internal mutex.
 
bool start (int timer_delay)
 Start thread. More...
 
bool start (ThreadFunc func, int timer_delay)
 Start thread. More...
 
bool startOnce ()
 Start thread without internal loop. More...
 
bool startOnce (ThreadFunc func)
 Start thread without internal loop. More...
 
void stop (bool wait)
 Stop thread. More...
 
void terminate ()
 Strongly stop thread. More...
 
bool waitForStart (int timeout_msecs)
 Wait for thread start. More...
 
bool waitForFinish (int timeout_msecs)
 Wait for thread finish. More...
 
+void lock ()
 Lock internal mutex.
 
+void unlock ()
 Unlock internal mutex.
 
+void started ()
 Raise on thread start.
 
+void stopped ()
 Raise on thread stop.
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
+

Detailed Description

+

Class for read and write binary data to logfile, and playback this data in realtime.

+

+Synopsis

+

Binary Log is a file with simle header, where you can read and write some binary data. Any written data include special header with ID, size and timestamp. This header provides separation different messages from the one file by choosing different IDs. With filterID or special functions, like readBinLog() you can choose IDs what you want to read. With function writeBinLog() or setDefaultID() you can choose ID that mark you data. By default ID = 1, and filterID is empty, that mean you read any ID without filtering. ThreadedRead provide you playback data, with delay that you write data. You can choose realtime playbak or variable speed play back by set PlayMode.

+

+Basic usage

+

This class provide all functions of PIIODevice, such open(), close(), read() ,write(), and threaded read/write. function setLogDir() need to set directory for BinLog files function createNewFile() need to create new binlog file function restart() need start from the begining of binlog file

+
+
+ + + + diff --git a/doc/html/class_p_i_binary_log.js b/doc/html/class_p_i_binary_log.js new file mode 100644 index 00000000..cacf92dc --- /dev/null +++ b/doc/html/class_p_i_binary_log.js @@ -0,0 +1,8 @@ +var class_p_i_binary_log = +[ + [ "fullPathPrefix", "class_p_i_binary_log.html#aeea31dead45c393c32a5a37e0e55af77", null ], + [ "configureFromFullPath", "class_p_i_binary_log.html#ae728df2cfb529e5d3bee2c2a327503cc", null ], + [ "openDevice", "class_p_i_binary_log.html#a8d43d7d13b16fd665d5f814cb5daddfe", null ], + [ "closeDevice", "class_p_i_binary_log.html#a3a3e8054f70c230c2d1b04b7ddead5d4", null ], + [ "threadedRead", "class_p_i_binary_log.html#a78ea56ff4489d441205ded106c63966e", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_binary_log__inherit__graph.map b/doc/html/class_p_i_binary_log__inherit__graph.map new file mode 100644 index 00000000..5df8be4b --- /dev/null +++ b/doc/html/class_p_i_binary_log__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doc/html/class_p_i_binary_log__inherit__graph.md5 b/doc/html/class_p_i_binary_log__inherit__graph.md5 new file mode 100644 index 00000000..6580480a --- /dev/null +++ b/doc/html/class_p_i_binary_log__inherit__graph.md5 @@ -0,0 +1 @@ +90aa7c351ae1babe496b95d157951958 \ No newline at end of file diff --git a/doc/html/class_p_i_binary_log__inherit__graph.svg b/doc/html/class_p_i_binary_log__inherit__graph.svg new file mode 100644 index 00000000..943f9ae6 --- /dev/null +++ b/doc/html/class_p_i_binary_log__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +PIBinaryLog + + +Node1 + +PIBinaryLog + + +Node2 + + +PIIODevice + + + + +Node2->Node1 + + + + +Node3 + + +PIThread + + + + +Node3->Node2 + + + + +Node4 + + +PIObject + + + + +Node4->Node3 + + + + + diff --git a/doc/html/class_p_i_byte_array-members.html b/doc/html/class_p_i_byte_array-members.html new file mode 100644 index 00000000..0d194c5e --- /dev/null +++ b/doc/html/class_p_i_byte_array-members.html @@ -0,0 +1,184 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIByteArray Member List
+
+
+ +

This is the complete list of members for PIByteArray, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
append(const void *data_, int size_)PIByteArrayinline
append(const PIByteArray &data_)PIByteArrayinline
checksumPlain32() const PIByteArray
checksumPlain8() const PIByteArray
convertFromBase64()PIByteArray
convertToBase64()PIByteArray
fromBase64() const PIByteArrayinline
operator!=(PIByteArray &f, PIByteArray &s)PIByteArrayrelated
operator<<(std::ostream &s, const PIByteArray &ba)PIByteArrayrelated
operator<<(PICout s, const PIByteArray &ba)PIByteArrayrelated
operator<<(PIByteArray &s, uchar v)PIByteArrayrelated
operator<<(PIByteArray &s, const short v)PIByteArrayrelated
operator<<(PIByteArray &s, const int v)PIByteArrayrelated
operator<<(PIByteArray &s, const long &v)PIByteArrayrelated
operator<<(PIByteArray &s, const llong &v)PIByteArrayrelated
operator<<(PIByteArray &s, const ushort v)PIByteArrayrelated
operator<<(PIByteArray &s, const uint v)PIByteArrayrelated
operator<<(PIByteArray &s, const ulong &v)PIByteArrayrelated
operator<<(PIByteArray &s, const ullong &v)PIByteArrayrelated
operator<<(PIByteArray &s, const float v)PIByteArrayrelated
operator<<(PIByteArray &s, const double &v)PIByteArrayrelated
operator<<(PIByteArray &s, const PIByteArray &v)PIByteArrayrelated
operator<<(PIByteArray &s, const PIByteArray::RawData &v)PIByteArrayrelated
operator<<(PIByteArray &s, const PIPair< Type0, Type1 > &v)PIByteArrayrelated
operator<<(PIByteArray &s, const PIVector< T > &v)PIByteArrayrelated
operator<<(PIByteArray &s, const PIList< T > &v)PIByteArrayrelated
operator<<(PIByteArray &s, const PIDeque< T > &v)PIByteArrayrelated
operator<<(PIByteArray &s, const PIString &v)PIByteArrayrelated
operator<<(PIByteArray &s, const PIStringList &v)PIByteArrayrelated
operator<<(PICout s, const PISystemTime &v)PIByteArrayrelated
operator<<(PIByteArray &s, const PISystemTime &v)PIByteArrayrelated
operator==(PIByteArray &f, PIByteArray &s)PIByteArrayrelated
operator>>(PIByteArray &s, uchar &v)PIByteArrayrelated
operator>>(PIByteArray &s, short &v)PIByteArrayrelated
operator>>(PIByteArray &s, int &v)PIByteArrayrelated
operator>>(PIByteArray &s, long &v)PIByteArrayrelated
operator>>(PIByteArray &s, llong &v)PIByteArrayrelated
operator>>(PIByteArray &s, ushort &v)PIByteArrayrelated
operator>>(PIByteArray &s, uint &v)PIByteArrayrelated
operator>>(PIByteArray &s, ulong &v)PIByteArrayrelated
operator>>(PIByteArray &s, ullong &v)PIByteArrayrelated
operator>>(PIByteArray &s, float &v)PIByteArrayrelated
operator>>(PIByteArray &s, double &v)PIByteArrayrelated
operator>>(PIByteArray &s, PIByteArray &v)PIByteArrayrelated
operator>>(PIByteArray &s, PIByteArray::RawData v)PIByteArrayrelated
operator>>(PIByteArray &s, PIPair< Type0, Type1 > &v)PIByteArrayrelated
operator>>(PIByteArray &s, PIVector< T > &v)PIByteArrayrelated
operator>>(PIByteArray &s, PIList< T > &v)PIByteArrayrelated
operator>>(PIByteArray &s, PIDeque< T > &v)PIByteArrayrelated
operator>>(PIByteArray &s, PIString &v)PIByteArrayrelated
operator>>(PIByteArray &s, PIStringList &v)PIByteArrayrelated
operator>>(PIByteArray &s, PISystemTime &v)PIByteArrayrelated
PIByteArray()PIByteArrayinline
PIByteArray(const uint size)PIByteArrayinline
PIByteArray(const void *data, const uint size)PIByteArrayinline
resized(int new_size) const PIByteArrayinline
toBase64() const PIByteArrayinline
+
+ + + + diff --git a/doc/html/class_p_i_byte_array.html b/doc/html/class_p_i_byte_array.html new file mode 100644 index 00000000..7cc11f48 --- /dev/null +++ b/doc/html/class_p_i_byte_array.html @@ -0,0 +1,448 @@ + + + + + + +PIP: PIByteArray Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIByteArray Class Reference
+
+
+ +

Byte array. + More...

+ +

Inherits PIDeque< T >.

+ + + + + +

+Classes

struct  RawData
 Help struct to store/restore custom blocks of data to/from PIByteArray. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIByteArray ()
 Constructs an empty byte array.
 
PIByteArray (const uint size)
 Constructs 0-filled byte array with size "size".
 
PIByteArray (const void *data, const uint size)
 Constructs byte array from data "data" and size "size".
 
+PIByteArray resized (int new_size) const
 Return resized byte array.
 
+PIByteArrayconvertToBase64 ()
 Convert data to Base 64 and return this byte array.
 
+PIByteArrayconvertFromBase64 ()
 Convert data from Base 64 and return this byte array.
 
+PIByteArray toBase64 () const
 Return converted to Base 64 data.
 
+PIByteArray fromBase64 () const
 Return converted from Base 64 data.
 
+PIByteArrayappend (const void *data_, int size_)
 Add to the end data "data" with size "size".
 
+PIByteArrayappend (const PIByteArray &data_)
 Add to the end byte array "data".
 
+uchar checksumPlain8 () const
 Returns plain 8-bit checksum.
 
+uint checksumPlain32 () const
 Returns plain 32-bit checksum.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Related Functions

(Note that these are not member functions.)

+
+std::ostream & operator<< (std::ostream &s, const PIByteArray &ba)
 Output to std::ostream operator.
 
+PICout operator<< (PICout s, const PIByteArray &ba)
 Output to PICout operator.
 
+PIByteArrayoperator<< (PIByteArray &s, uchar v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const short v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const int v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const long &v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const llong &v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const ushort v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const uint v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const ulong &v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const ullong &v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const float v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const double &v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const PIByteArray &v)
 Store operator, see Attention for details.
 
+PIByteArrayoperator<< (PIByteArray &s, const PIByteArray::RawData &v)
 Store operator, see Attention for details.
 
+template<typename Type0 , typename Type1 >
PIByteArrayoperator<< (PIByteArray &s, const PIPair< Type0, Type1 > &v)
 Store operator.
 
+template<typename T >
PIByteArrayoperator<< (PIByteArray &s, const PIVector< T > &v)
 Store operator.
 
+template<typename T >
PIByteArrayoperator<< (PIByteArray &s, const PIList< T > &v)
 Store operator.
 
+template<typename T >
PIByteArrayoperator<< (PIByteArray &s, const PIDeque< T > &v)
 Store operator.
 
+PIByteArrayoperator>> (PIByteArray &s, uchar &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, short &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, int &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, long &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, llong &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, ushort &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, uint &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, ulong &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, ullong &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, float &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, double &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, PIByteArray &v)
 Restore operator, see Attention for details.
 
+PIByteArrayoperator>> (PIByteArray &s, PIByteArray::RawData v)
 Restore operator, see Attention for details.
 
+template<typename Type0 , typename Type1 >
PIByteArrayoperator>> (PIByteArray &s, PIPair< Type0, Type1 > &v)
 Restore operator.
 
+template<typename T >
PIByteArrayoperator>> (PIByteArray &s, PIVector< T > &v)
 Restore operator.
 
+template<typename T >
PIByteArrayoperator>> (PIByteArray &s, PIList< T > &v)
 Restore operator.
 
+template<typename T >
PIByteArrayoperator>> (PIByteArray &s, PIDeque< T > &v)
 Restore operator.
 
+bool operator== (PIByteArray &f, PIByteArray &s)
 Byte arrays compare operator.
 
+bool operator!= (PIByteArray &f, PIByteArray &s)
 Byte arrays compare operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const PIString &v)
 Output operator to PIByteArray.
 
+PIByteArrayoperator>> (PIByteArray &s, PIString &v)
 Input operator from PIByteArray.
 
+PIByteArrayoperator<< (PIByteArray &s, const PIStringList &v)
 Output operator to PIByteArray.
 
+PIByteArrayoperator>> (PIByteArray &s, PIStringList &v)
 Input operator from PIByteArray.
 
+PICout operator<< (PICout s, const PISystemTime &v)
 Output operator to PICout.
 
+PIByteArrayoperator<< (PIByteArray &s, const PISystemTime &v)
 Output operator to PIByteArray.
 
+PIByteArrayoperator>> (PIByteArray &s, PISystemTime &v)
 Input operator from PIByteArray.
 
+

Detailed Description

+

Byte array.

+

This class based on PIDeque<uchar> and provide some handle function to manipulate it.

+

+Usage

+

PIByteArray can be used to store custom data and manipulate it. There are many stream operators to store/restore common types to byte array. Store operators places data at the end of array, restore operators takes data from the beginning of array. In addition there are Base 64 convertions and checksums:

    +
  • plain 8-bit
  • +
  • plain 32-bit
  • +
+

One of the major usage of PIByteArray is stream functions. You can form binary packet from many types (also dynamic types, e.g. PIVector) with one line:

+
int i = -1, j = 2;
+
float f = 1.;
+
PIString text("123");
+
ba << i << j << f << text; // form binary data
+
piCout << "data =" << ba;
+
i = j = 0; // clear variables
+
f = 0; // clear variables
+
text.clear(); // clear variables
+
piCout << i << j << f << text; // show variables
+
ba >> i >> j >> f >> text; // restore data
+
piCout << i << j << f << text; // show variables
+
piCout << "data =" << ba;
+

Or you can descibe stream operator of your own type and store/restore vectors of your type:

struct MyType {
+
MyType(int i_ = 0, const PIString & t_ = PIString()) {
+
m_i = i_;
+
m_text = t_;
+
}
+
int m_i;
+
PIString m_text;
+
};
+
+
inline PIByteArray & operator <<(PIByteArray & s, const MyType & v) {s << v.m_i << v.m_text; return s;}
+
inline PIByteArray & operator >>(PIByteArray & s, MyType & v) {s >> v.m_i >> v.m_text; return s;}
+
+ + +
my_vec << MyType(1, "s1") << MyType(10, "s10"); // add to vector
+
ba << my_vec; // store to byte array
+
piCout << "data =" << ba;
+
my_vec.clear(); // clear vector
+
ba >> my_vec; // restore from byte array
+

For store/restore custom data blocks there is PIByteArray::RawData class. Stream operators of this class simply store/restore data block to/from byte array.

+
const char * chars = "8 bytes";
+
ba << PIByteArray::RawData(chars, 8); // form binary data
+
piCout << "data =" << ba;
+
char rchars[16];
+
memset(rchars, 0, 16); // clear data
+
ba >> PIByteArray::RawData(rchars, 8); // restore data
+
piCout << rchars;
+
piCout << "data =" << ba;
+

+Attention

+

Stream operator of PIByteArray store byte array as vector, not simply append content of byte array. This operators useful to transmit custom data as PIByteArray packed into parent byte array, e.g. to form packet from PIByteArray. To append one byte array to another use funtion append().

PIByteArray ba, sba;
+
uchar uc(127);
+
sba << uc; // byte array with one byte
+
ba << sba; // stream operator
+
piCout << ba; // result
+
// {1, 0, 0, 0, 127}
+
ba.clear();
+
ba.append(sba);
+
piCout << ba; // result
+
// {127}
+
+
+ + + + diff --git a/doc/html/class_p_i_byte_array.js b/doc/html/class_p_i_byte_array.js new file mode 100644 index 00000000..45d83517 --- /dev/null +++ b/doc/html/class_p_i_byte_array.js @@ -0,0 +1,61 @@ +var class_p_i_byte_array = +[ + [ "RawData", "struct_p_i_byte_array_1_1_raw_data.html", "struct_p_i_byte_array_1_1_raw_data" ], + [ "PIByteArray", "class_p_i_byte_array.html#aaff8154b09dfd8f6b42a2ffccf77a417", null ], + [ "PIByteArray", "class_p_i_byte_array.html#a77c41715c48c52ca6fde95e49c398bff", null ], + [ "PIByteArray", "class_p_i_byte_array.html#a53393736cdd642d3fb0f68cc762eaf10", null ], + [ "resized", "class_p_i_byte_array.html#a0c59a360cbc7e6a36f6ed13c041ee7f7", null ], + [ "convertToBase64", "class_p_i_byte_array.html#ae024450dbd082250560b168189a6f043", null ], + [ "convertFromBase64", "class_p_i_byte_array.html#a3dff2c2171ecbd1b12c0edc232648cf9", null ], + [ "toBase64", "class_p_i_byte_array.html#afa9bf40116570c11328f117849180f7f", null ], + [ "fromBase64", "class_p_i_byte_array.html#aa3b756ec5c724a649d90c13c0f104f6b", null ], + [ "append", "class_p_i_byte_array.html#a3f59d6f9e5aa117ebce88de767bdf6a0", null ], + [ "append", "class_p_i_byte_array.html#a42ccaa717c6341aaf47a3a811c8c6498", null ], + [ "checksumPlain8", "class_p_i_byte_array.html#aeec044f424697f902aa2903bc74a889c", null ], + [ "checksumPlain32", "class_p_i_byte_array.html#acbf4fa4d378627d648f6634bbf08349d", null ], + [ "operator<<", "class_p_i_byte_array.html#ab1e23cf01f90071f1239fcfc17c8ed3d", null ], + [ "operator<<", "class_p_i_byte_array.html#a32613363dcf56aac9f693c135fff6f89", null ], + [ "operator<<", "class_p_i_byte_array.html#ae4152fca25c857d502396fc477dd5b4e", null ], + [ "operator<<", "class_p_i_byte_array.html#a27cb4295a655c80c9223e2af2843ac14", null ], + [ "operator<<", "class_p_i_byte_array.html#ab8951385e7eda4d8d6925b2a519624ae", null ], + [ "operator<<", "class_p_i_byte_array.html#a750963c1940bf98afb59c6d5ee745f57", null ], + [ "operator<<", "class_p_i_byte_array.html#a34e8e853e5ed6beccd359e6cdbbd79ee", null ], + [ "operator<<", "class_p_i_byte_array.html#ab5772ffd8c729df606daef9af4bab33f", null ], + [ "operator<<", "class_p_i_byte_array.html#ad4fedc65364715baf41b635174c5fe8a", null ], + [ "operator<<", "class_p_i_byte_array.html#ac808ed51ef9536275a6133abfde4bb83", null ], + [ "operator<<", "class_p_i_byte_array.html#ab44ea6a59afa51508ff2901d41b627f0", null ], + [ "operator<<", "class_p_i_byte_array.html#a2a485f703e44ccea18c8638c7c4c5889", null ], + [ "operator<<", "class_p_i_byte_array.html#a499da27a6b5a3474fff8cda6c723886a", null ], + [ "operator<<", "class_p_i_byte_array.html#a959efd617590b844d4dccf73c3565f95", null ], + [ "operator<<", "class_p_i_byte_array.html#a65a8de355c00ee10f723c0c4a108adcd", null ], + [ "operator<<", "class_p_i_byte_array.html#a96190dee065ee5b78285ca129e2adb1d", null ], + [ "operator<<", "class_p_i_byte_array.html#adbbbcf8bf5e3b56e3a114df299fe7c7f", null ], + [ "operator<<", "class_p_i_byte_array.html#a068a0bcfbe5b9d2fa4b778ba968f44db", null ], + [ "operator<<", "class_p_i_byte_array.html#a9b9678e9c4c372565e933d2e3ea99407", null ], + [ "operator>>", "class_p_i_byte_array.html#ab13b3356e12200d943eca6fb5914fff3", null ], + [ "operator>>", "class_p_i_byte_array.html#ab169b593f262836b81ef0f1e85742bb5", null ], + [ "operator>>", "class_p_i_byte_array.html#a9193853f9065d13faa500d7402011e95", null ], + [ "operator>>", "class_p_i_byte_array.html#a2936831420330a89c932b9378bcb531a", null ], + [ "operator>>", "class_p_i_byte_array.html#ac2f7009be50024c741ba1e34e2520105", null ], + [ "operator>>", "class_p_i_byte_array.html#a6d7b09e8e0ae58e2a0660a95f5297d62", null ], + [ "operator>>", "class_p_i_byte_array.html#a6c4c55eac2a9c3f087e4f86ae8d76104", null ], + [ "operator>>", "class_p_i_byte_array.html#a562da0ccdeabb8269757e25955bb3da5", null ], + [ "operator>>", "class_p_i_byte_array.html#a51721eb920f53d0c919eec52cf10cd52", null ], + [ "operator>>", "class_p_i_byte_array.html#a908c8071a8eee9fb7a3752bee614333a", null ], + [ "operator>>", "class_p_i_byte_array.html#a4f8b92d20e45ebe4e3bac6e2ccedf9f0", null ], + [ "operator>>", "class_p_i_byte_array.html#aa77ecc852d4e3ba6e4fbe7a7258cfb87", null ], + [ "operator>>", "class_p_i_byte_array.html#afb2b51047b10d19aced414fec7744dd2", null ], + [ "operator>>", "class_p_i_byte_array.html#ab2b77a56ba810e64d937dc4f33438310", null ], + [ "operator>>", "class_p_i_byte_array.html#a3ad45b3c81b974189a6c9ab5193e24d5", null ], + [ "operator>>", "class_p_i_byte_array.html#a35c4ea115bdcb4627fd9fa635d1c681a", null ], + [ "operator>>", "class_p_i_byte_array.html#a6cee541d60566eef92585f50aa9ec436", null ], + [ "operator==", "class_p_i_byte_array.html#a30e1b305b0f9bdcfc1d1e9c970e82d5d", null ], + [ "operator!=", "class_p_i_byte_array.html#a9db13625502ec190fa40b4155ad136eb", null ], + [ "operator<<", "class_p_i_byte_array.html#adaf9cbdf9ef8f318a08ff773a54a3d6c", null ], + [ "operator>>", "class_p_i_byte_array.html#a6cd37806e2577611e4a22dc2031fc166", null ], + [ "operator<<", "class_p_i_byte_array.html#a08f09ee06ada0b3aab326f1c888daf4c", null ], + [ "operator>>", "class_p_i_byte_array.html#a410bed597b49992e265e0941feca5cb8", null ], + [ "operator<<", "class_p_i_byte_array.html#a6d0138248acb706f616018e64bbc64c6", null ], + [ "operator<<", "class_p_i_byte_array.html#a43f469a88331d5bf809f97f77a12e019", null ], + [ "operator>>", "class_p_i_byte_array.html#ad563e018cb30fbced03966997b2fc65a", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_c_l_i-members.html b/doc/html/class_p_i_c_l_i-members.html new file mode 100644 index 00000000..8433fda9 --- /dev/null +++ b/doc/html/class_p_i_c_l_i-members.html @@ -0,0 +1,194 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PICLI Member List
+
+
+ +

This is the complete list of members for PICLI, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addArgument(const PIString &name, bool value=false)PICLIinline
addArgument(const PIString &name, const PIChar &shortKey, bool value=false)PICLIinline
addArgument(const PIString &name, const char *shortKey, bool value=false)PICLIinline
addArgument(const PIString &name, const PIChar &shortKey, const PIString &fullKey, bool value=false)PICLIinline
addArgument(const PIString &name, const char *shortKey, const PIString &fullKey, bool value=false)PICLIinline
className() const PIObjectinlinevirtual
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
debug() const PIObjectinline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprotected
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
findByName(const PIString &name)PIObjectinlinestatic
HANDLERPIObjectrelated
isPropertyExists(const PIString &name) const PIObjectinline
name() const PIObjectinline
PICLI(int argc, char *argv[])PICLI
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
PIOBJECTPIObjectrelated
PIObject(const PIString &name=PIString())PIObject
PIOBJECT_PARENTPIObjectrelated
programCommand()PICLIinline
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIObjectinlineprotectedvirtual
rawArgument(int index)PICLIinline
rawArguments()PICLIinline
setDebug(bool debug)PIObjectinline
setName(const PIString &name)PIObjectinline
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
superClassName() const PIObjectinlinevirtual
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
+
+ + + + diff --git a/doc/html/class_p_i_c_l_i.html b/doc/html/class_p_i_c_l_i.html new file mode 100644 index 00000000..bc4175d0 --- /dev/null +++ b/doc/html/class_p_i_c_l_i.html @@ -0,0 +1,445 @@ + + + + + + +PIP: PICLI Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PICLI Class Reference
+
+
+ +

Command-line arguments parser. + More...

+
+ + Inheritance diagram for PICLI:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PICLI (int argc, char *argv[])
 Constructor.
 
+void addArgument (const PIString &name, bool value=false)
 Add argument with name "name", short key = name first letter, full key = name.
 
+void addArgument (const PIString &name, const PIChar &shortKey, bool value=false)
 Add argument with name "name", short key = "shortKey", full key = name.
 
+void addArgument (const PIString &name, const char *shortKey, bool value=false)
 Add argument with name "name", short key = "shortKey", full key = name.
 
+void addArgument (const PIString &name, const PIChar &shortKey, const PIString &fullKey, bool value=false)
 Add argument with name "name", short key = "shortKey", full key = "fullKey".
 
+void addArgument (const PIString &name, const char *shortKey, const PIString &fullKey, bool value=false)
 Add argument with name "name", short key = "shortKey", full key = "fullKey".
 
+PIString rawArgument (int index)
 Returns unparsed command-line argument by index "index". Index 0 is program execute command.
 
+const PIStringListrawArguments ()
 Returns unparsed command-line arguments.
 
+PIString programCommand ()
 Returns program execute command without arguments.
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+

Detailed Description

+

Command-line arguments parser.

+

+Synopsis

+

This class provide handy parsing of command-line arguments. First you should add arguments to PICLI with function addArgument(). Then you can check if there is some argument in application command-line with function hasArgument();

+

+Example

+
int main(int argc, char ** argv) {
+
PICLI cli(argc, argv);
+
cli.addArgument("console");
+
cli.addArgument("debug");
+
cli.addArgument("Value", "v", "value", true);
+
if (cli.hasArgument("console"))
+
piCout << "console active";
+
if (cli.hasArgument("debug"))
+
piCout << "debug active";
+
piCout << "Value =" << cli.argumentValue("Value");
+
return 0;
+
}
+
+
These executions are similar:
+
a.out -cd -v 10
+
a.out --value 10 -dc
+
a.out -c -v 10 -d
+
a.out --console -d -v 10
+
a.out --debug -c --value 10
+
+
+ + + + diff --git a/doc/html/class_p_i_c_l_i.js b/doc/html/class_p_i_c_l_i.js new file mode 100644 index 00000000..956c8b62 --- /dev/null +++ b/doc/html/class_p_i_c_l_i.js @@ -0,0 +1,12 @@ +var class_p_i_c_l_i = +[ + [ "PICLI", "class_p_i_c_l_i.html#abc57c0e1bb06e1af2087e1ff158039ac", null ], + [ "addArgument", "class_p_i_c_l_i.html#a6091825b4eb1e3e8e336ae9524fa8331", null ], + [ "addArgument", "class_p_i_c_l_i.html#ab378101cdb1517da4c430d3b58a3ed79", null ], + [ "addArgument", "class_p_i_c_l_i.html#a787fd46efaa3f64d57398782e7deb612", null ], + [ "addArgument", "class_p_i_c_l_i.html#a1335cd90d383e1cdeeb6e6b729d18244", null ], + [ "addArgument", "class_p_i_c_l_i.html#a9a69f3dd05852ebdbddb0543ca912faa", null ], + [ "rawArgument", "class_p_i_c_l_i.html#acfa1357e283fb2fceb69ff93e53cef6f", null ], + [ "rawArguments", "class_p_i_c_l_i.html#a48e694f023cd8a8606865b1704583613", null ], + [ "programCommand", "class_p_i_c_l_i.html#a31bf2b18e408514af453029ebc09f00d", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_c_l_i__inherit__graph.map b/doc/html/class_p_i_c_l_i__inherit__graph.map new file mode 100644 index 00000000..a35364c7 --- /dev/null +++ b/doc/html/class_p_i_c_l_i__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/class_p_i_c_l_i__inherit__graph.md5 b/doc/html/class_p_i_c_l_i__inherit__graph.md5 new file mode 100644 index 00000000..ba9996ff --- /dev/null +++ b/doc/html/class_p_i_c_l_i__inherit__graph.md5 @@ -0,0 +1 @@ +63bc62143fdf935156af34224b74aa68 \ No newline at end of file diff --git a/doc/html/class_p_i_c_l_i__inherit__graph.svg b/doc/html/class_p_i_c_l_i__inherit__graph.svg new file mode 100644 index 00000000..1c4cf4db --- /dev/null +++ b/doc/html/class_p_i_c_l_i__inherit__graph.svg @@ -0,0 +1,31 @@ + + + + + + +PICLI + + +Node1 + +PICLI + + +Node2 + + +PIObject + + + + +Node2->Node1 + + + + + diff --git a/doc/html/class_p_i_char-members.html b/doc/html/class_p_i_char-members.html new file mode 100644 index 00000000..24d69fcc --- /dev/null +++ b/doc/html/class_p_i_char-members.html @@ -0,0 +1,156 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIChar Member List
+
+
+ +

This is the complete list of members for PIChar, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
isAlpha() const PICharinline
isAscii() const PICharinline
isControl() const PICharinline
isDigit() const PICharinline
isGraphical() const PICharinline
isHex() const PICharinline
isLower() const PICharinline
isPrint() const PICharinline
isSpace() const PICharinline
isUpper() const PICharinline
operator!=(const PIChar &o) const PICharinline
operator<(const PIChar &o) const PICharinline
operator<<(PIByteArray &s, const PIChar &v)PICharfriend
operator<=(const PIChar &o) const PICharinline
operator=(const char v)PICharinline
operator==(const PIChar &o) const PICharinline
operator>(const PIChar &o) const PICharinline
operator>=(const PIChar &o) const PICharinline
operator>>(PIByteArray &s, PIChar &v)PICharfriend
PIChar(const char c)PICharinline
PIChar(const short c)PICharinline
PIChar(const int c)PICharinline
PIChar(const uchar c)PICharinline
PIChar(const ushort c)PICharinline
PIChar(const uint c=0)PICharinline
PIChar(const char *c)PICharinline
toCharPtr() const PICharinline
toLower() const PICharinline
toUpper() const PICharinline
+
+ + + + diff --git a/doc/html/class_p_i_char.html b/doc/html/class_p_i_char.html new file mode 100644 index 00000000..56cdd265 --- /dev/null +++ b/doc/html/class_p_i_char.html @@ -0,0 +1,258 @@ + + + + + + +PIP: PIChar Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIChar Class Reference
+
+
+ +

Unicode char. + More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIChar (const char c)
 Contructs ascii symbol.
 
PIChar (const short c)
 Contructs 2-bytes symbol.
 
PIChar (const int c)
 Contructs 4-bytes symbol.
 
PIChar (const uchar c)
 Contructs ascii symbol.
 
PIChar (const ushort c)
 Contructs 2-bytes symbol.
 
PIChar (const uint c=0)
 Default constructor. Contructs 4-bytes symbol.
 
PIChar (const char *c)
 Contructs symbol from no more than 4 bytes of string.
 
+PICharoperator= (const char v)
 Copy operator.
 
+bool operator== (const PIChar &o) const
 Compare operator.
 
+bool operator!= (const PIChar &o) const
 Compare operator.
 
+bool operator> (const PIChar &o) const
 Compare operator.
 
+bool operator< (const PIChar &o) const
 Compare operator.
 
+bool operator>= (const PIChar &o) const
 Compare operator.
 
+bool operator<= (const PIChar &o) const
 Compare operator.
 
+bool isDigit () const
 Return true if symbol is digit ('0' to '9')
 
+bool isHex () const
 Return true if symbol is HEX digit ('0' to '9', 'a' to 'f', 'A' to 'F')
 
+bool isGraphical () const
 Return true if symbol is drawable (without space)
 
+bool isControl () const
 Return true if symbol is control byte (< 32 or 127)
 
+bool isLower () const
 Return true if symbol is in lower case.
 
+bool isUpper () const
 Return true if symbol is in upper case.
 
+bool isPrint () const
 Return true if symbol is printable (with space)
 
+bool isSpace () const
 Return true if symbol is space or tab.
 
+bool isAlpha () const
 Return true if symbol is alphabetical letter.
 
+bool isAscii () const
 Return true if symbol is ascii (< 128)
 
+const char * toCharPtr () const
 Return as "char * " string.
 
+PIChar toUpper () const
 Return symbol in upper case.
 
+PIChar toLower () const
 Return symbol in lower case.
 
+ + + + + + + +

+Friends

+PIByteArrayoperator<< (PIByteArray &s, const PIChar &v)
 Write operator to PIByteArray.
 
+PIByteArrayoperator>> (PIByteArray &s, PIChar &v)
 Read operator from PIByteArray.
 
+

Detailed Description

+

Unicode char.

+

This class is wrapper around "uint". There are many contructors and information functions

+
+
+ + + + diff --git a/doc/html/class_p_i_char.js b/doc/html/class_p_i_char.js new file mode 100644 index 00000000..40bedd7e --- /dev/null +++ b/doc/html/class_p_i_char.js @@ -0,0 +1,32 @@ +var class_p_i_char = +[ + [ "PIChar", "class_p_i_char.html#a9c13f6b3a242d13924b64dbd3deec204", null ], + [ "PIChar", "class_p_i_char.html#ac11bc7f521d447ef402a9cb9ef05707f", null ], + [ "PIChar", "class_p_i_char.html#a272e1665fe42d557cad91ed3dc416a29", null ], + [ "PIChar", "class_p_i_char.html#a610057fd1840516fce1c5fb0955535b9", null ], + [ "PIChar", "class_p_i_char.html#a2dcff5b1473cc887cff45cb31bb132f5", null ], + [ "PIChar", "class_p_i_char.html#ae684b56acf78dff045b74bfdd91b0540", null ], + [ "PIChar", "class_p_i_char.html#a5507bf7ad8fe1f80ace5f56e3e694ddd", null ], + [ "operator=", "class_p_i_char.html#a1ef5c3ed6b13e9dcf10f23f702dd600e", null ], + [ "operator==", "class_p_i_char.html#a394d08896adbc253e919fd662422228c", null ], + [ "operator!=", "class_p_i_char.html#a90f2d92ee153f08c7b850c99fcbc4eac", null ], + [ "operator>", "class_p_i_char.html#a4610045d91868b899c0065150fe7686d", null ], + [ "operator<", "class_p_i_char.html#a4939c02157bfbcb9a3a669ee738ddaa9", null ], + [ "operator>=", "class_p_i_char.html#ac68d8b501225795d53adf67b4d9ea2b2", null ], + [ "operator<=", "class_p_i_char.html#abf1f0ddb2ea78a58d20b880011c838b1", null ], + [ "isDigit", "class_p_i_char.html#a56d2cedeabb4c86d8b777d4e1411c25d", null ], + [ "isHex", "class_p_i_char.html#a2730d5567a93f19d6389be7ea07b1168", null ], + [ "isGraphical", "class_p_i_char.html#ac02e6ddd18b2cb837b772444ee17be2c", null ], + [ "isControl", "class_p_i_char.html#a683aebcd7e500fc96c6367dfe6932219", null ], + [ "isLower", "class_p_i_char.html#afcf054d8470c333c69f8b7df2c767ecf", null ], + [ "isUpper", "class_p_i_char.html#a9bf6075c65410d1ea24622024246dd42", null ], + [ "isPrint", "class_p_i_char.html#a55255ed564ce213a1abaf519bd28c1c6", null ], + [ "isSpace", "class_p_i_char.html#a08354995df8b6b1897c3c56fb61614f9", null ], + [ "isAlpha", "class_p_i_char.html#a60b68169d49d4d296b03c99d962f2fe0", null ], + [ "isAscii", "class_p_i_char.html#a201aaf6b6cf4406d84ad97879b0df42b", null ], + [ "toCharPtr", "class_p_i_char.html#a9baee39596206d0977ebfb5e3d12f810", null ], + [ "toUpper", "class_p_i_char.html#a48a9400b58447e7a492d346dd75ef09c", null ], + [ "toLower", "class_p_i_char.html#a0d4ae4c2e8e77e21762121f82be79a2e", null ], + [ "operator<<", "class_p_i_char.html#a43cad479313327c089e30ae490e01c24", null ], + [ "operator>>", "class_p_i_char.html#a697daa3db190238c3cad29b288821ae0", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_collection-members.html b/doc/html/class_p_i_collection-members.html new file mode 100644 index 00000000..ed780817 --- /dev/null +++ b/doc/html/class_p_i_collection-members.html @@ -0,0 +1,131 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PICollection Member List
+
+
+ +

This is the complete list of members for PICollection, including all inherited members.

+ + + + + +
ADD_NEW_TO_COLLECTIONPICollectionrelated
ADD_TO_COLLECTIONPICollectionrelated
groupElements(const PIString &group)PICollectionstatic
groups()PICollectionstatic
+
+ + + + diff --git a/doc/html/class_p_i_collection.html b/doc/html/class_p_i_collection.html new file mode 100644 index 00000000..bcb0ef8d --- /dev/null +++ b/doc/html/class_p_i_collection.html @@ -0,0 +1,281 @@ + + + + + + +PIP: PICollection Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PICollection Class Reference
+
+
+ +

Interface to discover element groups. + More...

+ + + + + + + + +

+Static Public Member Functions

+static PIStringList groups ()
 Returns all existing groups by their names.
 
+static PIVector< const PIObject * > groupElements (const PIString &group)
 Returns all elements of group "group".
 
+ + + + + + + + +

+Related Functions

(Note that these are not member functions.)

+
#define ADD_TO_COLLECTION(group, object)
 Add existing element "object" in group with name "group". More...
 
#define ADD_NEW_TO_COLLECTION(group, class)
 Add new element of class "class" in group with name "group". More...
 
+

Detailed Description

+

Interface to discover element groups.

+

+Synopsis

+

This class has only static functions so no need to create instance of the PICollection. This class provide macros to add some classes or existing objects to global collection and access to them from any place of the code.

class ElementA: public PIObject {
+
PIOBJECT(ElementA)
+
// ...
+
};
+
ADD_NEW_TO_COLLECTION(ab_group, ElementA)
+
+
class ElementB: public PIObject {
+
PIOBJECT(ElementB)
+
// ...
+
};
+
ADD_NEW_TO_COLLECTION(ab_group, ElementB)
+
+
class ElementC: public PIObject {
+
PIOBJECT(ElementC)
+
// ...
+
};
+
ADD_NEW_TO_COLLECTION(c_group, ElementC)
+
+
class ElementD: public PIObject {
+
PIOBJECT(ElementD)
+
// ...
+
};
+
+
int main() {
+
ElementD * el_d = new ElementD();
+
ADD_TO_COLLECTION(ab_group, el_d)
+
+ +
piCout << gl; // {"ab_group", "c_group"}
+
piForeachC (PIString g, gl) {
+ +
piCout << "group" << g << ":";
+
piForeachC (PIObject * o, go)
+
piCout << Tab << o->className();
+
}
+
+
/*
+
group ab_group :
+
ElementA
+
ElementB
+
ElementD
+
group c_group :
+
ElementC
+
*/
+
};
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
#define ADD_TO_COLLECTION( group,
 object 
)
+
+related
+
+ +

Add existing element "object" in group with name "group".

+

If there is no group with name "group" it will be created. Only one element of the class "object" can be in group "group". If this is already exists nothing be happens.
+ "object" should to be pointer to object based on PIObject.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
#define ADD_NEW_TO_COLLECTION( group,
 class 
)
+
+related
+
+ +

Add new element of class "class" in group with name "group".

+

If there is no group with name "group" it will be created. Only one element of the class "class" can be in group "group". If this is already exists nothing be happens.
+ "class" should to be name of the any class based on PIObject.

+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_collection.js b/doc/html/class_p_i_collection.js new file mode 100644 index 00000000..32e64911 --- /dev/null +++ b/doc/html/class_p_i_collection.js @@ -0,0 +1,5 @@ +var class_p_i_collection = +[ + [ "ADD_TO_COLLECTION", "class_p_i_collection.html#a450e8ac720c8b0f6223ad2bf42f83ae2", null ], + [ "ADD_NEW_TO_COLLECTION", "class_p_i_collection.html#a78cc4937360f5e286cdd8baf403edfec", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_config-members.html b/doc/html/class_p_i_config-members.html new file mode 100644 index 00000000..5cc5e111 --- /dev/null +++ b/doc/html/class_p_i_config-members.html @@ -0,0 +1,259 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIConfig Member List
+
+
+ +

This is the complete list of members for PIConfig, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
allLeaves()PIConfiginline
allTree()PIConfiginline
className() const PIObjectinlinevirtual
clear()PIConfiginline
closeDevice()PIFileprotectedvirtual
configureDevice(const void *e_main, const void *e_parent=0)PIIODeviceinlineprotectedvirtual
configureFromFullPath(const PIString &full_path)PIFileprotectedvirtual
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
data() const PIThreadinline
debug() const PIObjectinline
delimiter() const PIConfiginline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprotected
entriesCount() const PIConfiginline
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
findByName(const PIString &name)PIObjectinlinestatic
fullPathPrefix() const PIFileinlineprotectedvirtual
getValue(const PIString &vname, const PIString &def=PIString(), bool *exists=0)PIConfig
getValue(const PIString &vname, const char *def, bool *exists=0)PIConfiginline
getValue(const PIString &vname, const PIStringList &def, bool *exists=0)PIConfiginline
getValue(const PIString &vname, const bool def, bool *exists=0)PIConfiginline
getValue(const PIString &vname, const short def, bool *exists=0)PIConfiginline
getValue(const PIString &vname, const int def, bool *exists=0)PIConfiginline
getValue(const PIString &vname, const long def, bool *exists=0)PIConfiginline
getValue(const PIString &vname, const uchar def, bool *exists=0)PIConfiginline
getValue(const PIString &vname, const ushort def, bool *exists=0)PIConfiginline
getValue(const PIString &vname, const uint def, bool *exists=0)PIConfiginline
getValue(const PIString &vname, const ulong def, bool *exists=0)PIConfiginline
getValue(const PIString &vname, const float def, bool *exists=0)PIConfiginline
getValue(const PIString &vname, const double def, bool *exists=0)PIConfiginline
getValues(const PIString &vname)PIConfig
HANDLERPIObjectrelated
init()PIIODeviceinlineprotectedvirtual
isEntryExists(const PIString &name) const PIConfiginline
isPropertyExists(const PIString &name) const PIObjectinline
isRunning() const PIThreadinline
lock()PIThreadinline
mutex()PIThreadinline
name() const PIObjectinline
needLockRun(bool need)PIThreadinline
openDevice()PIFileprotectedvirtual
PIConfig(const PIString &path, PIIODevice::DeviceMode mode=PIIODevice::ReadWrite)PIConfig
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
piHigh enum valuePIThread
piHighest enum valuePIThread
PIIODEVICEPIIODevicerelated
piLow enum valuePIThread
piLowerst enum valuePIThread
piNormal enum valuePIThread
PIOBJECTPIObjectrelated
PIObject(const PIString &name=PIString())PIObject
PIOBJECT_PARENTPIObjectrelated
PIThread(void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)PIThread
PIThread(bool startNow=false, int loop_delay=-1)PIThread
Priority enum namePIThread
priority() const PIThreadinline
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIObjectinlineprotectedvirtual
readAll()PIConfig
readDeviceSetting(const PIString &name, const T &def, const PIConfig::Entry *em, const PIConfig::Entry *ep)PIIODevicerelated
REGISTER_DEVICEPIIODevicerelated
rootEntry()PIConfiginline
setData(void *d)PIThreadinline
setDebug(bool debug)PIObjectinline
setDelimiter(const PIString &d)PIConfiginline
PIFile::setName(const PIString &name)PIObjectinline
setPriority(PIThread::Priority prior)PIThread
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
setSlot(ThreadFunc func)PIThreadinline
setValue(const PIString &name, const PIString &value, const PIString &type="s", bool write=true)PIConfig
setValue(const PIString &name, const PIStringList &value, bool write=true)PIConfiginline
setValue(const PIString &name, const char *value, bool write=true)PIConfiginline
setValue(const PIString &name, const bool value, bool write=true)PIConfiginline
setValue(const PIString &name, const short value, bool write=true)PIConfiginline
setValue(const PIString &name, const int value, bool write=true)PIConfiginline
setValue(const PIString &name, const long value, bool write=true)PIConfiginline
setValue(const PIString &name, const uchar value, bool write=true)PIConfiginline
setValue(const PIString &name, const ushort value, bool write=true)PIConfiginline
setValue(const PIString &name, const uint value, bool write=true)PIConfiginline
setValue(const PIString &name, const ulong value, bool write=true)PIConfiginline
setValue(const PIString &name, const float value, bool write=true)PIConfiginline
setValue(const PIString &name, const double value, bool write=true)PIConfiginline
PIThread::start(int timer_delay)PIThread
PIThread::start(ThreadFunc func, int timer_delay)PIThreadinline
started()PIThread
startOnce()PIThread
startOnce(ThreadFunc func)PIThreadinline
stopped()PIThread
superClassName() const PIObjectinlinevirtual
threadedRead(uchar *readed, int size)PIIODeviceinlineprotectedvirtual
unlock()PIThreadinline
waitForFinish(int timeout_msecs)PIThread
waitForStart(int timeout_msecs)PIThread
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
writeAll()PIConfig
+
+ + + + diff --git a/doc/html/class_p_i_config.html b/doc/html/class_p_i_config.html new file mode 100644 index 00000000..53d55409 --- /dev/null +++ b/doc/html/class_p_i_config.html @@ -0,0 +1,700 @@ + + + + + + +PIP: PIConfig Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIConfig Class Reference
+
+
+ +

Configuration file. + More...

+
+ + Inheritance diagram for PIConfig:
+
+
+ + + + + + + + + +

+Classes

class  Branch
 Branch is a list of entries of configuration file More...
 
class  Entry
 Entry of configuration file More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIConfig (const PIString &path, PIIODevice::DeviceMode mode=PIIODevice::ReadWrite)
 Contructs and read configuration file at path "path" in mode "mode".
 
+EntrygetValue (const PIString &vname, const PIString &def=PIString(), bool *exists=0)
 Returns top-level entry with name "vname", if doesn`t exists return entry with value "def" and set *exist to false.
 
+EntrygetValue (const PIString &vname, const char *def, bool *exists=0)
 Returns top-level entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const PIStringList &def, bool *exists=0)
 Returns top-level entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const bool def, bool *exists=0)
 Returns top-level entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const short def, bool *exists=0)
 Returns top-level entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const int def, bool *exists=0)
 Returns top-level entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const long def, bool *exists=0)
 Returns top-level entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const uchar def, bool *exists=0)
 Returns top-level entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const ushort def, bool *exists=0)
 Returns top-level entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const uint def, bool *exists=0)
 Returns top-level entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const ulong def, bool *exists=0)
 Returns top-level entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const float def, bool *exists=0)
 Returns top-level entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const double def, bool *exists=0)
 Returns top-level entry with name "vname" and default value "def".
 
+Branch getValues (const PIString &vname)
 Returns top-level entries with names with substrings "vname".
 
+void setValue (const PIString &name, const PIString &value, const PIString &type="s", bool write=true)
 Set top-level entry with name "name" value to "value", type to "type" and if "write" immediate write to file. Add new entry if there is no suitable exists.
 
+void setValue (const PIString &name, const PIStringList &value, bool write=true)
 Set top-level entry with name "name" value to "value", type to "l" and if "write" immediate write to file. Add new entry if there is no suitable exists.
 
+void setValue (const PIString &name, const char *value, bool write=true)
 Set top-level entry with name "name" value to "value", type to "s" and if "write" immediate write to file. Add new entry if there is no suitable exists.
 
+void setValue (const PIString &name, const bool value, bool write=true)
 Set top-level entry with name "name" value to "value", type to "b" and if "write" immediate write to file. Add new entry if there is no suitable exists.
 
+void setValue (const PIString &name, const short value, bool write=true)
 Set top-level entry with name "name" value to "value", type to "n" and if "write" immediate write to file. Add new entry if there is no suitable exists.
 
+void setValue (const PIString &name, const int value, bool write=true)
 Set top-level entry with name "name" value to "value", type to "n" and if "write" immediate write to file. Add new entry if there is no suitable exists.
 
+void setValue (const PIString &name, const long value, bool write=true)
 Set top-level entry with name "name" value to "value", type to "n" and if "write" immediate write to file. Add new entry if there is no suitable exists.
 
+void setValue (const PIString &name, const uchar value, bool write=true)
 Set top-level entry with name "name" value to "value", type to "n" and if "write" immediate write to file. Add new entry if there is no suitable exists.
 
+void setValue (const PIString &name, const ushort value, bool write=true)
 Set top-level entry with name "name" value to "value", type to "n" and if "write" immediate write to file. Add new entry if there is no suitable exists.
 
+void setValue (const PIString &name, const uint value, bool write=true)
 Set top-level entry with name "name" value to "value", type to "n" and if "write" immediate write to file. Add new entry if there is no suitable exists.
 
+void setValue (const PIString &name, const ulong value, bool write=true)
 Set top-level entry with name "name" value to "value", type to "n" and if "write" immediate write to file. Add new entry if there is no suitable exists.
 
+void setValue (const PIString &name, const float value, bool write=true)
 Set top-level entry with name "name" value to "value", type to "f" and if "write" immediate write to file. Add new entry if there is no suitable exists.
 
+void setValue (const PIString &name, const double value, bool write=true)
 Set top-level entry with name "name" value to "value", type to "f" and if "write" immediate write to file. Add new entry if there is no suitable exists.
 
+EntryrootEntry ()
 Returns root entry.
 
+int entriesCount () const
 Returns top-level entries count.
 
+bool isEntryExists (const PIString &name) const
 Returns if top-level entry with name "name" exists.
 
+Branch allTree ()
 Returns all top-level entries.
 
+Branch allLeaves ()
 Returns all entries without children.
 
+void clear ()
 Remove all tree and file content.
 
+void readAll ()
 Parse file and build internal tree.
 
+void writeAll ()
 Write all internal tree to file.
 
+const PIStringdelimiter () const
 Returns current tree delimiter, default ".".
 
+void setDelimiter (const PIString &d)
 Set current tree delimiter.
 
- Public Member Functions inherited from PIThread
PIThread (void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)
 Contructs thread with custom data "data", external function "func" and main loop delay "loop_delay".
 
PIThread (bool startNow=false, int loop_delay=-1)
 Contructs thread with main loop delay "loop_delay".
 
+void setData (void *d)
 Set common data passed to external function.
 
+void setSlot (ThreadFunc func)
 Set external function that will be executed after every run()
 
+void setPriority (PIThread::Priority prior)
 Set priority of thread.
 
+void * data () const
 Returns common data passed to external function.
 
+PIThread::Priority priority () const
 Return priority of thread.
 
+bool isRunning () const
 Return true if thread is running.
 
+void needLockRun (bool need)
 Set necessity of lock every run with internal mutex.
 
+PIMutexmutex ()
 Return internal mutex.
 
bool start (int timer_delay)
 Start thread. More...
 
bool start (ThreadFunc func, int timer_delay)
 Start thread. More...
 
bool startOnce ()
 Start thread without internal loop. More...
 
bool startOnce (ThreadFunc func)
 Start thread without internal loop. More...
 
void stop (bool wait)
 Stop thread. More...
 
void terminate ()
 Strongly stop thread. More...
 
bool waitForStart (int timeout_msecs)
 Wait for thread start. More...
 
bool waitForFinish (int timeout_msecs)
 Wait for thread finish. More...
 
+void lock ()
 Lock internal mutex.
 
+void unlock ()
 Unlock internal mutex.
 
+void started ()
 Raise on thread start.
 
+void stopped ()
 Raise on thread stop.
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from PIThread
enum  Priority {
+  piLowerst, +piLow, +piNormal, +piHigh, +
+  piHighest +
+ }
 Priority of thread. More...
 
- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
- Protected Member Functions inherited from PIFile
+PIString fullPathPrefix () const
 Reimplement to construct full unambiguous string prefix. Creating devices by unambiguous string.
 
+void configureFromFullPath (const PIString &full_path)
 Reimplement to configure your device with parameters of full unambiguous string. Default implementation does nothing.
 
+bool openDevice ()
 Reimplement to open device, return value will be set to "opened_" variable.
 
+bool closeDevice ()
 Reimplement to close device, inverse return value will be set to "opened_" variable.
 
- Protected Member Functions inherited from PIIODevice
+virtual bool init ()
 Function executed before first openDevice() or from constructor.
 
+virtual bool configureDevice (const void *e_main, const void *e_parent=0)
 Reimplement to configure device from entries "e_main" and "e_parent", cast arguments to PIConfig::Entry*.
 
+virtual bool threadedRead (uchar *readed, int size)
 Function executed when thread read some data, default implementation execute external slot "ret_func_".
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+

Detailed Description

+

Configuration file.

+

This class provide handle access to configuration file.

+

+Synopsis

+

PIConfig reads configuration file and create internal dendritic representation of all entries of this file. You can easily read some values and write new.

+piconfig.png +
+

PIConfig supports also INI-style files with sections "[section]". In this case line with section name interpret as prefix to the next lines. For example, these configs are equal:

ser.device = /dev/ttyS0
+
ser.speed = 115200
+
debug = true
+
[ser]
+
device = /dev/ttyS0
+
speed = 115200
+
[]
+
debug = true
+

+Concepts

+

Each node of internal tree has type PIConfig::Entry. PIConfig has one root element rootEntry(). Any entry of configuration file is a child of this element.

+
+
+ + + + diff --git a/doc/html/class_p_i_config.js b/doc/html/class_p_i_config.js new file mode 100644 index 00000000..4391a4fd --- /dev/null +++ b/doc/html/class_p_i_config.js @@ -0,0 +1,43 @@ +var class_p_i_config = +[ + [ "Branch", "class_p_i_config_1_1_branch.html", null ], + [ "Entry", "class_p_i_config_1_1_entry.html", "class_p_i_config_1_1_entry" ], + [ "PIConfig", "class_p_i_config.html#a283394a8822215eaf98a828df32ae72d", null ], + [ "getValue", "class_p_i_config.html#afa9ff95ee07a0426a06196cdb0674bb1", null ], + [ "getValue", "class_p_i_config.html#aa58ad8481d1f0280a3bd4c92f47f516f", null ], + [ "getValue", "class_p_i_config.html#a59ee8d190f4a82e2fbe4e0320877e0a7", null ], + [ "getValue", "class_p_i_config.html#a5f44b199f4679ee58df0b7e1db44b4f1", null ], + [ "getValue", "class_p_i_config.html#ac2fa98010be70e9d7fda3baa56804ad0", null ], + [ "getValue", "class_p_i_config.html#aa7750ea22e6d133d80070f9ff9328bd7", null ], + [ "getValue", "class_p_i_config.html#a073bd20b948c3f68b7eb846f4d080006", null ], + [ "getValue", "class_p_i_config.html#a04ff1fa7aea07e52f1f9b743a7236e0c", null ], + [ "getValue", "class_p_i_config.html#ae359d44525852377fe944f34f3a3aadf", null ], + [ "getValue", "class_p_i_config.html#ab37b341b3468d25beae61112ec0da134", null ], + [ "getValue", "class_p_i_config.html#a081565174316b60dc5a6f27ffb0c3118", null ], + [ "getValue", "class_p_i_config.html#a9fc2514ae2881bd0cace552b179e58f7", null ], + [ "getValue", "class_p_i_config.html#a81a5f8e644ef77db5b85b3d0a1169940", null ], + [ "getValues", "class_p_i_config.html#a56e9e758d994f2bd5bb0ddbf93b187e0", null ], + [ "setValue", "class_p_i_config.html#a21a16d4652c57e310f9e4eb4e40dea39", null ], + [ "setValue", "class_p_i_config.html#ab0fd0d0f7932d805655908447dddf4ea", null ], + [ "setValue", "class_p_i_config.html#ab321f10c0a70bb1e357a09879431b08c", null ], + [ "setValue", "class_p_i_config.html#a47fd7b93880a60ceabaa95401fc006c9", null ], + [ "setValue", "class_p_i_config.html#a05152c400b1bcc94154ce54050dfbdd8", null ], + [ "setValue", "class_p_i_config.html#a11affac002d95972f7023bb02a580d2c", null ], + [ "setValue", "class_p_i_config.html#acdac45e85e5a9e48301bb66f5e596237", null ], + [ "setValue", "class_p_i_config.html#aa92620b2af384471e86ed5095643d10a", null ], + [ "setValue", "class_p_i_config.html#a2252cdecef6f23dd22f68482ad2f3aa8", null ], + [ "setValue", "class_p_i_config.html#a727a3a4efbd6d4bd10592acb2e94b35c", null ], + [ "setValue", "class_p_i_config.html#ad94dcedcb0e7e08e68729cba293342ff", null ], + [ "setValue", "class_p_i_config.html#ac99bcbe1e6656c15481d2b4e7a6aacae", null ], + [ "setValue", "class_p_i_config.html#aa45477274950fc3b50f5e6ece6299c7a", null ], + [ "rootEntry", "class_p_i_config.html#ab3b501c744eec9526b06509e14e868ec", null ], + [ "entriesCount", "class_p_i_config.html#a8ec38c6e59b7d57677ae410ea74d6121", null ], + [ "isEntryExists", "class_p_i_config.html#acf088b2430b92387205df5d67b6ca83d", null ], + [ "allTree", "class_p_i_config.html#a16f81586debe78f0ad886aac2c5d20f0", null ], + [ "allLeaves", "class_p_i_config.html#a52ba17ebcb28248b1ec4fcedd9deba4b", null ], + [ "clear", "class_p_i_config.html#a5183a5859cd1006d4e93bf007b28fd2b", null ], + [ "readAll", "class_p_i_config.html#ab2bb45897ec17ef66c729dfe7d43a135", null ], + [ "writeAll", "class_p_i_config.html#a7d228b9feed1e5a301da526ea4cd4d01", null ], + [ "delimiter", "class_p_i_config.html#a3a2943350a0b2304ab8fee406ade16b9", null ], + [ "setDelimiter", "class_p_i_config.html#ae196cc6e271aa930c7c0849150df868c", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_config_1_1_branch-members.html b/doc/html/class_p_i_config_1_1_branch-members.html new file mode 100644 index 00000000..b33130cd --- /dev/null +++ b/doc/html/class_p_i_config_1_1_branch-members.html @@ -0,0 +1,155 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIConfig::Branch Member List
+
+
+ +

This is the complete list of members for PIConfig::Branch, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
back()PIVector< Entry * >inline
back() constPIVector< Entry * >inline
clear()PIVector< Entry * >inline
compare_func(const Entry **t0, const Entry **t1)PIVector< Entry * >inlinestatic
contains(const Entry *&v) constPIVector< Entry * >inline
enlarge(llong piv_size)PIVector< Entry * >inline
etries(const Entry *&v) constPIVector< Entry * >inline
fill(const Entry *&f=Entry *())PIVector< Entry * >inline
front()PIVector< Entry * >inline
front() constPIVector< Entry * >inline
isEmpty() constPIVector< Entry * >inline
operator!=(const PIVector< Entry * > &t) constPIVector< Entry * >inline
PIVector< Entry * >::operator<<(const PIVector< Entry * > &other)PIVector< Entry * >inline
operator==(const PIVector< Entry * > &t) constPIVector< Entry * >inline
PIVector()PIVector< Entry * >inline
pop_back()PIVector< Entry * >inline
pop_front()PIVector< Entry * >inline
push_back(const Entry *&v)PIVector< Entry * >inline
push_front(const Entry *&v)PIVector< Entry * >inline
remove(size_t index, size_t count=1)PIVector< Entry * >inline
removeAll(const Entry *&v)PIVector< Entry * >inline
removeOne(const Entry *&v)PIVector< Entry * >inline
resize(size_t new_size, const Entry *&f=Entry *())PIVector< Entry * >inline
size() constPIVector< Entry * >inline
size_s() constPIVector< Entry * >inline
sort(CompareFunc compare=compare_func)PIVector< Entry * >inline
take_back()PIVector< Entry * >inline
take_front()PIVector< Entry * >inline
+
+ + + + diff --git a/doc/html/class_p_i_config_1_1_branch.html b/doc/html/class_p_i_config_1_1_branch.html new file mode 100644 index 00000000..51f32d45 --- /dev/null +++ b/doc/html/class_p_i_config_1_1_branch.html @@ -0,0 +1,140 @@ + + + + + + +PIP: PIConfig::Branch Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIConfig::Branch Class Reference
+
+
+ +

Branch is a list of entries of configuration file + More...

+
+ + Inheritance diagram for PIConfig::Branch:
+
+
+ +

Detailed Description

+

Branch is a list of entries of configuration file

+

Branch provides some features to get entries lists.

+
+ + + + diff --git a/doc/html/class_p_i_config_1_1_branch__inherit__graph.map b/doc/html/class_p_i_config_1_1_branch__inherit__graph.map new file mode 100644 index 00000000..a56c7cdb --- /dev/null +++ b/doc/html/class_p_i_config_1_1_branch__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/class_p_i_config_1_1_branch__inherit__graph.md5 b/doc/html/class_p_i_config_1_1_branch__inherit__graph.md5 new file mode 100644 index 00000000..67d484e1 --- /dev/null +++ b/doc/html/class_p_i_config_1_1_branch__inherit__graph.md5 @@ -0,0 +1 @@ +f08133386b6806cfb7f82c456c9ab7f2 \ No newline at end of file diff --git a/doc/html/class_p_i_config_1_1_branch__inherit__graph.svg b/doc/html/class_p_i_config_1_1_branch__inherit__graph.svg new file mode 100644 index 00000000..0699925a --- /dev/null +++ b/doc/html/class_p_i_config_1_1_branch__inherit__graph.svg @@ -0,0 +1,31 @@ + + + + + + +PIConfig::Branch + + +Node1 + +PIConfig::Branch + + +Node2 + + +PIVector< Entry * > + + + + +Node2->Node1 + + + + + diff --git a/doc/html/class_p_i_config_1_1_entry-members.html b/doc/html/class_p_i_config_1_1_entry-members.html new file mode 100644 index 00000000..28d7be59 --- /dev/null +++ b/doc/html/class_p_i_config_1_1_entry-members.html @@ -0,0 +1,184 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIConfig::Entry Member List
+
+
+ +

This is the complete list of members for PIConfig::Entry, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
child(const int index) const PIConfig::Entryinline
childCount() const PIConfig::Entryinline
children() const PIConfig::Entryinline
comment() const PIConfig::Entryinline
findChild(const PIString &name)PIConfig::Entryinline
findChild(const PIString &name) const PIConfig::Entryinline
fullName() const PIConfig::Entryinline
getValue(const PIString &vname, const PIString &def=PIString(), bool *exists=0)PIConfig::Entry
getValue(const PIString &vname, const char *def, bool *exists=0)PIConfig::Entryinline
getValue(const PIString &vname, const PIStringList &def, bool *exists=0)PIConfig::Entryinline
getValue(const PIString &vname, const bool def, bool *exists=0)PIConfig::Entryinline
getValue(const PIString &vname, const short def, bool *exists=0)PIConfig::Entryinline
getValue(const PIString &vname, const int def, bool *exists=0)PIConfig::Entryinline
getValue(const PIString &vname, const long def, bool *exists=0)PIConfig::Entryinline
getValue(const PIString &vname, const uchar def, bool *exists=0)PIConfig::Entryinline
getValue(const PIString &vname, const ushort def, bool *exists=0)PIConfig::Entryinline
getValue(const PIString &vname, const uint def, bool *exists=0)PIConfig::Entryinline
getValue(const PIString &vname, const ulong def, bool *exists=0)PIConfig::Entryinline
getValue(const PIString &vname, const float def, bool *exists=0)PIConfig::Entryinline
getValue(const PIString &vname, const double def, bool *exists=0)PIConfig::Entryinline
getValues(const PIString &vname)PIConfig::Entry
isEntryExists(const PIString &name) const PIConfig::Entryinline
isLeaf() const PIConfig::Entryinline
name() const PIConfig::Entryinline
operator bool()PIConfig::Entryinline
operator char()PIConfig::Entryinline
operator double()PIConfig::Entryinline
operator float()PIConfig::Entryinline
operator int()PIConfig::Entryinline
operator long()PIConfig::Entryinline
operator PIString()PIConfig::Entryinline
operator PIStringList()PIConfig::Entryinline
operator short()PIConfig::Entryinline
operator uchar()PIConfig::Entryinline
operator uint()PIConfig::Entryinline
operator ulong()PIConfig::Entryinline
operator ushort()PIConfig::Entryinline
parent() const PIConfig::Entryinline
setComment(const PIString &value)PIConfig::Entryinline
setName(const PIString &value)PIConfig::Entryinline
setType(const PIString &value)PIConfig::Entryinline
setValue(const PIString &value)PIConfig::Entryinline
setValue(const PIStringList &value)PIConfig::Entryinline
setValue(const char *value)PIConfig::Entryinline
setValue(const bool value)PIConfig::Entryinline
setValue(const char value)PIConfig::Entryinline
setValue(const short value)PIConfig::Entryinline
setValue(const int value)PIConfig::Entryinline
setValue(const long value)PIConfig::Entryinline
setValue(const uchar value)PIConfig::Entryinline
setValue(const ushort value)PIConfig::Entryinline
setValue(const uint value)PIConfig::Entryinline
setValue(const ulong value)PIConfig::Entryinline
setValue(const float value)PIConfig::Entryinline
setValue(const double value)PIConfig::Entryinline
type() const PIConfig::Entryinline
value() const PIConfig::Entryinline
+
+ + + + diff --git a/doc/html/class_p_i_config_1_1_entry.html b/doc/html/class_p_i_config_1_1_entry.html new file mode 100644 index 00000000..02e664a8 --- /dev/null +++ b/doc/html/class_p_i_config_1_1_entry.html @@ -0,0 +1,451 @@ + + + + + + +PIP: PIConfig::Entry Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIConfig::Entry Class Reference
+
+
+ +

Entry of configuration file + More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+Entryparent () const
 Returns parent entry, or 0 if there is no parent (root of default value)
 
+int childCount () const
 Returns children count.
 
+Branchchildren () const
 Returns children as PIConfig::Branch.
 
+Entrychild (const int index) const
 Returns child at index "index".
 
+EntryfindChild (const PIString &name)
 Returns first child with name "name".
 
+const EntryfindChild (const PIString &name) const
 Returns first child with name "name".
 
+bool isLeaf () const
 Returns true if there is no children.
 
+const PIStringname () const
 Returns name.
 
+const PIStringvalue () const
 Returns value.
 
+const PIStringtype () const
 Returns type.
 
+const PIStringcomment () const
 Returns comment.
 
const PIStringfullName () const
 Returns full name, i.e. name as it looks in file. More...
 
+EntrysetName (const PIString &value)
 Set name to "value" and returns this.
 
+EntrysetType (const PIString &value)
 Set type to "value" and returns this.
 
+EntrysetComment (const PIString &value)
 Set comment to "value" and returns this.
 
+EntrysetValue (const PIString &value)
 Set value to "value" and returns this.
 
+EntrysetValue (const PIStringList &value)
 Set value to "value" and returns this. Type is set to "l".
 
+EntrysetValue (const char *value)
 Set value to "value" and returns this. Type is set to "s".
 
+EntrysetValue (const bool value)
 Set value to "value" and returns this. Type is set to "b".
 
+EntrysetValue (const char value)
 Set value to "value" and returns this. Type is set to "s".
 
+EntrysetValue (const short value)
 Set value to "value" and returns this. Type is set to "n".
 
+EntrysetValue (const int value)
 Set value to "value" and returns this. Type is set to "n".
 
+EntrysetValue (const long value)
 Set value to "value" and returns this. Type is set to "n".
 
+EntrysetValue (const uchar value)
 Set value to "value" and returns this. Type is set to "n".
 
+EntrysetValue (const ushort value)
 Set value to "value" and returns this. Type is set to "n".
 
+EntrysetValue (const uint value)
 Set value to "value" and returns this. Type is set to "n".
 
+EntrysetValue (const ulong value)
 Set value to "value" and returns this. Type is set to "n".
 
+EntrysetValue (const float value)
 Set value to "value" and returns this. Type is set to "f".
 
+EntrysetValue (const double value)
 Set value to "value" and returns this. Type is set to "f".
 
EntrygetValue (const PIString &vname, const PIString &def=PIString(), bool *exists=0)
 Returns entry with name "vname" and default value "def". More...
 
+EntrygetValue (const PIString &vname, const char *def, bool *exists=0)
 Returns entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const PIStringList &def, bool *exists=0)
 Returns entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const bool def, bool *exists=0)
 Returns entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const short def, bool *exists=0)
 Returns entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const int def, bool *exists=0)
 Returns entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const long def, bool *exists=0)
 Returns entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const uchar def, bool *exists=0)
 Returns entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const ushort def, bool *exists=0)
 Returns entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const uint def, bool *exists=0)
 Returns entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const ulong def, bool *exists=0)
 Returns entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const float def, bool *exists=0)
 Returns entry with name "vname" and default value "def".
 
+EntrygetValue (const PIString &vname, const double def, bool *exists=0)
 Returns entry with name "vname" and default value "def".
 
+Branch getValues (const PIString &vname)
 Find all entries with names with substrings "vname" and returns them as PIConfig::Branch.
 
+bool isEntryExists (const PIString &name) const
 If there is no children returns if name == "name". Else returns if any child has name == "name".
 
operator bool ()
 Convertion to boolean.
 
operator char ()
 Convertion to char.
 
operator short ()
 Convertion to short.
 
operator int ()
 Convertion to int.
 
operator long ()
 Convertion to long.
 
operator uchar ()
 Convertion to uchar.
 
operator ushort ()
 Convertion to ushort.
 
operator uint ()
 Convertion to uint.
 
operator ulong ()
 Convertion to ulong.
 
operator float ()
 Convertion to float.
 
operator double ()
 Convertion to double.
 
operator PIString ()
 Convertion to PIString.
 
operator PIStringList ()
 Convertion to PIStringList.
 
+

Detailed Description

+

Entry of configuration file

+

This class is node of internal PIConfig tree. Entry provide access to elements of PIConfig. Each entry has children or next properties:

    +
  • name
  • +
  • value
  • +
  • type
  • +
  • comment
  • +
+

Each property is a PIString. These properties forms from text line with format:

<name> = <value> #<type> <comment>
+

Type and comment are optional fields. Type is a single letter immediately after comment symbol "#".
+
+Entry has many implicit convertions to common types: boolean, integers, float, double, PIString, PIStringList.
+
+Generally there is no need to create instance of PIConfig::Entry manually, it returns by functions getValue() of PIConfig, PIConfig::Entry or PIConfig::Branch. If there is no suitable entry to return, reference to internal instance of PIConfig::Entry with "default" value will be returned.

/* "example.conf"
+
a = 1
+
s0.a = A
+
s0.b = B
+
*/
+
PIConfig conf("example.conf", PIIODevice::ReadOnly);
+
PIConfig::Entry ce = conf.getValue("a");
+
int a = ce; // a = 1
+
PIString A = ce; // A = "1"
+
ce = conf.getValue("s0");
+
piCout << ce.childCount(); // 2
+
A = ce.getValue("b"); // A = "B"
+
A = conf.getValue("s0.a"); // A = "A"
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
const PIString& PIConfig::Entry::fullName () const
+
+inline
+
+ +

Returns full name, i.e. name as it looks in file.

+

In case of default entry full name always is empty

PIConfig conf("example.conf", PIIODevice::ReadOnly);
+
piCout << conf.getValue("a.b.c").name(); // "c"
+
piCout << conf.getValue("a.b.c").fullName(); // "a.b.c"
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIConfig::Entry & PIConfig::Entry::getValue (const PIStringvname,
const PIStringdef = PIString(),
bool * exists = 0 
)
+
+ +

Returns entry with name "vname" and default value "def".

+

If there is no suitable entry found, reference to default internal entry with value = "def" will be returned, and if "exists" not null it will be set to false

+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_config_1_1_entry.js b/doc/html/class_p_i_config_1_1_entry.js new file mode 100644 index 00000000..11058583 --- /dev/null +++ b/doc/html/class_p_i_config_1_1_entry.js @@ -0,0 +1,60 @@ +var class_p_i_config_1_1_entry = +[ + [ "parent", "class_p_i_config_1_1_entry.html#a4127afcde1fe791a46bbd31ec111b86d", null ], + [ "childCount", "class_p_i_config_1_1_entry.html#a153b89897dc1f13847f7c2932a68bf9d", null ], + [ "children", "class_p_i_config_1_1_entry.html#ab3009e4da745a3657a0e21f1b37b617d", null ], + [ "child", "class_p_i_config_1_1_entry.html#a873896bbb710a12d14f0164bb31abc56", null ], + [ "findChild", "class_p_i_config_1_1_entry.html#aa3b36dd3fbf8af0f7bc2cb0e683a0ef1", null ], + [ "findChild", "class_p_i_config_1_1_entry.html#a63c45328044a43fb9ab7269a08eb0df0", null ], + [ "isLeaf", "class_p_i_config_1_1_entry.html#ac5a30b29cfcdde2513719b954a935220", null ], + [ "name", "class_p_i_config_1_1_entry.html#a17018e3886c186689c50b5b1523cfe9e", null ], + [ "value", "class_p_i_config_1_1_entry.html#a247679755f333bfd4398088122940ba3", null ], + [ "type", "class_p_i_config_1_1_entry.html#af1fcf69cc6be42f06468f59aa2614fb8", null ], + [ "comment", "class_p_i_config_1_1_entry.html#ae80c7013f86ad0be64811faa74a88a67", null ], + [ "fullName", "class_p_i_config_1_1_entry.html#a07d301e63f496b64dd18ab697ab1ed8f", null ], + [ "setName", "class_p_i_config_1_1_entry.html#a46ddf99ee1a724a9fb28d0947a4baf84", null ], + [ "setType", "class_p_i_config_1_1_entry.html#a8d18745edbfecaf560ee5d7b65dd8aa8", null ], + [ "setComment", "class_p_i_config_1_1_entry.html#a18f083b2d0fdff86e717938718c8be2b", null ], + [ "setValue", "class_p_i_config_1_1_entry.html#ab853f549061be73216c6cf9a3b35eb2e", null ], + [ "setValue", "class_p_i_config_1_1_entry.html#aaa54ae0f45ed6a9a831859bc2f23d19b", null ], + [ "setValue", "class_p_i_config_1_1_entry.html#a6b61be4474ee644b3481c5990ef6f6a9", null ], + [ "setValue", "class_p_i_config_1_1_entry.html#a25ef9be02eebed805878cfa0e8e8d1f0", null ], + [ "setValue", "class_p_i_config_1_1_entry.html#af7b9092abef7e1817620d87ab77990fc", null ], + [ "setValue", "class_p_i_config_1_1_entry.html#aa40ae09f7d30dcc31233d0a9a8311fe7", null ], + [ "setValue", "class_p_i_config_1_1_entry.html#a163fe43914c955a72141519d4b7a456a", null ], + [ "setValue", "class_p_i_config_1_1_entry.html#a9c4b2139fbf28d9950781a52e1c97bc0", null ], + [ "setValue", "class_p_i_config_1_1_entry.html#a1fa1e3d6caff65808f19b9ee95950154", null ], + [ "setValue", "class_p_i_config_1_1_entry.html#a7258173c103a96454f171177692d8d28", null ], + [ "setValue", "class_p_i_config_1_1_entry.html#a37ae1f65fcf05808e1327b8ccba1ca38", null ], + [ "setValue", "class_p_i_config_1_1_entry.html#a34288a020a8a8eac9ec8d96be22d4456", null ], + [ "setValue", "class_p_i_config_1_1_entry.html#a4c2e5bcbae8fc94d6a02099019dea723", null ], + [ "setValue", "class_p_i_config_1_1_entry.html#a1fb68e7559ea156c0ad3a1477713d901", null ], + [ "getValue", "class_p_i_config_1_1_entry.html#af2e42a391ca7eb215de51af19985de7a", null ], + [ "getValue", "class_p_i_config_1_1_entry.html#a05bbbeed3dadb60e6bea03c749bfd6e4", null ], + [ "getValue", "class_p_i_config_1_1_entry.html#ae50da453abb433db637f727dc18fd2ea", null ], + [ "getValue", "class_p_i_config_1_1_entry.html#aa0e0499b5fc68a1d12259da24c7a3c2a", null ], + [ "getValue", "class_p_i_config_1_1_entry.html#a5a6ac80cb3daf664987b8b07f29a85e3", null ], + [ "getValue", "class_p_i_config_1_1_entry.html#a819012c8ada9a1d829fa076eed212d07", null ], + [ "getValue", "class_p_i_config_1_1_entry.html#a513d067edac5971ac9cb5546cc8ed9b0", null ], + [ "getValue", "class_p_i_config_1_1_entry.html#ad92d8722f1390a0d46b194f6557edf02", null ], + [ "getValue", "class_p_i_config_1_1_entry.html#ae0560a9ee49304088c0192b26e4fbbf5", null ], + [ "getValue", "class_p_i_config_1_1_entry.html#ab75c9b8261196d24f8eee1183251474f", null ], + [ "getValue", "class_p_i_config_1_1_entry.html#aa373eef636c8a372366bab7ca968a6ae", null ], + [ "getValue", "class_p_i_config_1_1_entry.html#a7868346fb50b9dc21d950c69e6a96657", null ], + [ "getValue", "class_p_i_config_1_1_entry.html#a6fd5ddc7b21c3d0cca6a2e885e8c29bd", null ], + [ "getValues", "class_p_i_config_1_1_entry.html#a42a7e4e6ccf80f82b2e35de26fcc6274", null ], + [ "isEntryExists", "class_p_i_config_1_1_entry.html#a2a45332b92375f45af0466487d9f9480", null ], + [ "operator bool", "class_p_i_config_1_1_entry.html#aed73af24f8cde6f1b57234a9ce97a920", null ], + [ "operator char", "class_p_i_config_1_1_entry.html#a4b29ac07d6a8c0e67eb6e4b6c345d157", null ], + [ "operator short", "class_p_i_config_1_1_entry.html#abd30994ea9658c723bfe53ad27cdd612", null ], + [ "operator int", "class_p_i_config_1_1_entry.html#a325a3c6c64f72cc129d95b56f0d0e2b9", null ], + [ "operator long", "class_p_i_config_1_1_entry.html#a60c00d0029ca1ecc9fc8c709db1e7c7b", null ], + [ "operator uchar", "class_p_i_config_1_1_entry.html#aabe52ad80e9051d30b40ab30297165cb", null ], + [ "operator ushort", "class_p_i_config_1_1_entry.html#a80bfe47eb1cf861ea9655d1dc9be7052", null ], + [ "operator uint", "class_p_i_config_1_1_entry.html#aac49561de0e3e8c1a6207b7395aad13b", null ], + [ "operator ulong", "class_p_i_config_1_1_entry.html#aedd0654a624229b0a9eac9fc47ecd162", null ], + [ "operator float", "class_p_i_config_1_1_entry.html#a5b301d721e422fc57ebd73f2ecc17187", null ], + [ "operator double", "class_p_i_config_1_1_entry.html#a2cf9ea4e32c819b2b725560a9ca49171", null ], + [ "operator PIString", "class_p_i_config_1_1_entry.html#ae2e947832d8a7116cf304a2db130da38", null ], + [ "operator PIStringList", "class_p_i_config_1_1_entry.html#a1154d48f87cef1df3bd02cce06006215", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_config__inherit__graph.map b/doc/html/class_p_i_config__inherit__graph.map new file mode 100644 index 00000000..e7151165 --- /dev/null +++ b/doc/html/class_p_i_config__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/doc/html/class_p_i_config__inherit__graph.md5 b/doc/html/class_p_i_config__inherit__graph.md5 new file mode 100644 index 00000000..5a60714d --- /dev/null +++ b/doc/html/class_p_i_config__inherit__graph.md5 @@ -0,0 +1 @@ +75ecf2961ec623305d3ee2a6d8abf2ed \ No newline at end of file diff --git a/doc/html/class_p_i_config__inherit__graph.svg b/doc/html/class_p_i_config__inherit__graph.svg new file mode 100644 index 00000000..7eaf1252 --- /dev/null +++ b/doc/html/class_p_i_config__inherit__graph.svg @@ -0,0 +1,70 @@ + + + + + + +PIConfig + + +Node1 + +PIConfig + + +Node2 + + +PIFile + + + + +Node2->Node1 + + + + +Node3 + + +PIIODevice + + + + +Node3->Node2 + + + + +Node4 + + +PIThread + + + + +Node4->Node3 + + + + +Node5 + + +PIObject + + + + +Node5->Node4 + + + + + diff --git a/doc/html/class_p_i_connection-members.html b/doc/html/class_p_i_connection-members.html new file mode 100644 index 00000000..3eb6bb17 --- /dev/null +++ b/doc/html/class_p_i_connection-members.html @@ -0,0 +1,254 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIConnection Member List
+
+
+ +

This is the complete list of members for PIConnection, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addChannel(const PIString &name_from, const PIString &name_to)PIConnection
addChannel(const PIString &name_from, const PIIODevice *dev_to)PIConnectioninline
addChannel(const PIIODevice *dev_from, const PIString &name_to)PIConnectioninline
addChannel(const PIIODevice *dev_from, const PIIODevice *dev_to)PIConnectioninline
addDevice(const PIString &full_path, PIIODevice::DeviceMode mode=PIIODevice::ReadWrite, bool start=false)PIConnection
addFilter(const PIString &name, const PIString &full_path_name, PIPacketExtractor::SplitMode mode=PIPacketExtractor::None)PIConnection
addFilter(const PIString &name, const PIIODevice *dev, PIPacketExtractor::SplitMode mode=PIPacketExtractor::None)PIConnectioninline
addSender(const PIString &name, const PIString &full_path, float frequency, bool start=false)PIConnection
addSender(const PIString &name, const PIIODevice *dev, float frequency, bool start=false)PIConnectioninline
allConnections()PIConnectionstatic
allDevices()PIConnectionstatic
boundedDevices() const PIConnection
channels() const PIConnection
className() const PIObjectinlinevirtual
clearSenderFixedData(const PIString &name)PIConnection
configureFromConfig(const PIString &config, const PIString &name)PIConnection
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
dataReceived(const PIString &from, const PIByteArray &data)PIConnectioninlineprotectedvirtual
dataReceivedEvent(const PIString &from, const PIByteArray &data)PIConnection
debug() const PIObjectinline
device(const PIString &full_path) const PIConnection
diagnostic(const PIString &full_path_name) const PIConnection
diagnostic(const PIIODevice *dev) const PIConnectioninline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprotected
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
filter(const PIString &name) const PIConnection
filterBoundedDevices(const PIString &name) const PIConnection
filterNames() const PIConnection
filters() const PIConnection
filterValidateFooter(const PIString &filter_name, uchar *src, uchar *rec, int size)PIConnectionprotectedvirtual
filterValidateHeader(const PIString &filter_name, uchar *src, uchar *rec, int size)PIConnectionprotectedvirtual
filterValidatePayload(const PIString &filter_name, uchar *rec, int size)PIConnectionprotectedvirtual
findByName(const PIString &name)PIObjectinlinestatic
HANDLERPIObjectrelated
isEmpty() const PIConnectioninline
isPropertyExists(const PIString &name) const PIObjectinline
makeConfig() const PIConnection
name() const PIObjectinline
packetReceived(const PIString &from, const PIByteArray &data)PIConnectioninlineprotectedvirtual
packetReceivedEvent(const PIString &from, const PIByteArray &data)PIConnection
PIConnection()PIConnection
PIConnection(const PIString &name)PIConnection
PIConnection(const PIString &config, const PIString &name)PIConnection
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
PIOBJECTPIObjectrelated
PIObject(const PIString &name=PIString())PIObject
PIOBJECT_PARENTPIObjectrelated
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIObjectinlineprotectedvirtual
removeAllChannels()PIConnection
removeAllDevices()PIConnection
removeAllFilters()PIConnection
removeAllSenders()PIConnection
removeChannel(const PIString &name_from, const PIString &name_to)PIConnection
removeChannel(const PIString &name_from, const PIIODevice *dev_to)PIConnectioninline
removeChannel(const PIIODevice *dev_from, const PIString &name_to)PIConnectioninline
removeChannel(const PIIODevice *dev_from, const PIIODevice *dev_to)PIConnectioninline
removeChannel(const PIString &name_from)PIConnection
removeChannel(const PIIODevice *dev_from)PIConnectioninline
removeDevice(const PIString &full_path)PIConnection
removeFilter(const PIString &name, const PIString &full_path_name)PIConnection
removeFilter(const PIString &name, const PIIODevice *dev)PIConnection
removeFilter(const PIString &name)PIConnection
removeSender(const PIString &name, const PIString &full_path)PIConnection
removeSender(const PIString &name, const PIIODevice *dev)PIConnectioninline
removeSender(const PIString &name)PIConnection
senderData(const PIString &sender_name)PIConnectionprotectedvirtual
senderFixedData(const PIString &name) const PIConnection
senderFrequency(const PIString &name) const PIConnection
setDebug(bool debug)PIObjectinline
setName(const PIString &name)PIObjectinline
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
setSenderFixedData(const PIString &name, const PIByteArray &data)PIConnection
start()PIConnectioninline
startAllSenders()PIConnection
startAllThreadedReads()PIConnection
startSender(const PIString &name)PIConnection
startThreadedRead(const PIString &full_path)PIConnection
startThreadedRead(const PIIODevice *dev)PIConnectioninline
stop()PIConnectioninline
stopAllSenders()PIConnection
stopAllThreadedReads()PIConnection
stopSender(const PIString &name)PIConnection
stopThreadedRead(const PIString &full_path)PIConnection
stopThreadedRead(const PIIODevice *dev)PIConnectioninline
superClassName() const PIObjectinlinevirtual
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
write(const PIString &full_path, const PIByteArray &data)PIConnection
write(const PIIODevice *dev, const PIByteArray &data)PIConnectioninline
+
+ + + + diff --git a/doc/html/class_p_i_connection.html b/doc/html/class_p_i_connection.html new file mode 100644 index 00000000..60362ab2 --- /dev/null +++ b/doc/html/class_p_i_connection.html @@ -0,0 +1,1004 @@ + + + + + + +PIP: PIConnection Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIConnection Class Reference
+
+
+ +

Complex Input/Output point. + More...

+
+ + Inheritance diagram for PIConnection:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIConnection ()
 Constructs an empty connection.
 
PIConnection (const PIString &name)
 Constructs connection with name "name".
 
PIConnection (const PIString &config, const PIString &name)
 Constructs connection and configure it from config file "config" from section "name".
 
bool configureFromConfig (const PIString &config, const PIString &name)
 Configure connection from config file "config" from section "name". Returns if configuration was successful. More...
 
+PIString makeConfig () const
 Returns config file section of current connection configuration.
 
PIIODeviceaddDevice (const PIString &full_path, PIIODevice::DeviceMode mode=PIIODevice::ReadWrite, bool start=false)
 Add device with full path "full_path", open mode "mode" to Device pool and connection. More...
 
bool removeDevice (const PIString &full_path)
 Remove device with full path "full_path" from connection. More...
 
void removeAllDevices ()
 Remove all device from connection. More...
 
+PIIODevicedevice (const PIString &full_path) const
 Returns device with full path "full_path" or null if there is no such device.
 
+PIVector< PIIODevice * > boundedDevices () const
 Returns all devices bounded to this connection.
 
PIPacketExtractoraddFilter (const PIString &name, const PIString &full_path_name, PIPacketExtractor::SplitMode mode=PIPacketExtractor::None)
 Add filter with name "name" to device with full path "full_path_name" or filter "full_path_name". More...
 
+PIPacketExtractoraddFilter (const PIString &name, const PIIODevice *dev, PIPacketExtractor::SplitMode mode=PIPacketExtractor::None)
 Add filter with name "name" to device "dev".
 
bool removeFilter (const PIString &name, const PIString &full_path_name)
 Remove from filter with name "name" device with full path "full_path_name" or filter "full_path_name". More...
 
+bool removeFilter (const PIString &name, const PIIODevice *dev)
 Remove from filter with name "name" device or filter "dev".
 
+bool removeFilter (const PIString &name)
 Remove filter with name "name". Returns if filter was removed.
 
+void removeAllFilters ()
 Remove all filters from connection.
 
+PIVector< PIPacketExtractor * > filters () const
 Returns all filters of connection.
 
+PIStringList filterNames () const
 Returns all filter names of connection.
 
+PIPacketExtractorfilter (const PIString &name) const
 Returns PIPacketExtractor * assosiated with filter "name" or null if there is no such filter.
 
+PIVector< PIIODevice * > filterBoundedDevices (const PIString &name) const
 Returns all devices bounded to filter "name".
 
bool addChannel (const PIString &name_from, const PIString &name_to)
 Add to connection channel from "name_from" to "name_to". More...
 
+bool addChannel (const PIString &name_from, const PIIODevice *dev_to)
 Add to connection channel from "name_from" to "dev_to".
 
+bool addChannel (const PIIODevice *dev_from, const PIString &name_to)
 Add to connection channel from "dev_from" to "name_to".
 
+bool addChannel (const PIIODevice *dev_from, const PIIODevice *dev_to)
 Add to connection channel from "dev_from" to "dev_to".
 
bool removeChannel (const PIString &name_from, const PIString &name_to)
 Remove from connection channel from "name_from" to "name_to". More...
 
+bool removeChannel (const PIString &name_from, const PIIODevice *dev_to)
 Remove from connection channel from "name_from" to "dev_to".
 
+bool removeChannel (const PIIODevice *dev_from, const PIString &name_to)
 Remove from connection channel from "dev_from" to "name_to".
 
+bool removeChannel (const PIIODevice *dev_from, const PIIODevice *dev_to)
 Remove from connection channel from "dev_from" to "dev_to".
 
bool removeChannel (const PIString &name_from)
 Remove from connection all channels from "name_from". More...
 
+bool removeChannel (const PIIODevice *dev_from)
 Remove from connection all channels from "dev_from".
 
+void removeAllChannels ()
 Remove from connection all channels.
 
+PIVector< PIPair< PIString,
+PIString > > 
channels () const
 Returns all channels of this connection as full pathes or filter names pair array (from, to)
 
void addSender (const PIString &name, const PIString &full_path, float frequency, bool start=false)
 Add to connection sender with name "name" device with full path "full_path". More...
 
+void addSender (const PIString &name, const PIIODevice *dev, float frequency, bool start=false)
 Add to connection sender with name "name" device "dev".
 
bool removeSender (const PIString &name, const PIString &full_path)
 Remove from sender with name "name" device with full path "full_path_name". More...
 
+bool removeSender (const PIString &name, const PIIODevice *dev)
 Remove from sender with name "name" device "dev".
 
+bool removeSender (const PIString &name)
 Remove sender with name "name", returns if sender was removed.
 
+bool setSenderFixedData (const PIString &name, const PIByteArray &data)
 Set sender "name" fixed send data "data", returns if sender exists.
 
+bool clearSenderFixedData (const PIString &name)
 Remove sender "name" fixed send data, returns if sender exists.
 
+PIByteArray senderFixedData (const PIString &name) const
 Returns sender "name" fixed send data.
 
+float senderFrequency (const PIString &name) const
 Returns sender "name" timer frequency, -1 if there is no such sender, or 0 if sender is not started yet.
 
+void removeAllSenders ()
 Remove from connection all senders.
 
+void startThreadedRead (const PIString &full_path)
 Start read thread of device with full path "full_path".
 
+void startThreadedRead (const PIIODevice *dev)
 Start read thread of device "dev".
 
+void startAllThreadedReads ()
 Start read threads of all Device pool device.
 
+void startSender (const PIString &name)
 Start sender "name" timer.
 
+void startAllSenders ()
 Start all senders timers.
 
+void start ()
 Start all read threads and senders.
 
+void stopThreadedRead (const PIString &full_path)
 Stop read thread of device with full path "full_path".
 
+void stopThreadedRead (const PIIODevice *dev)
 Stop read thread of device "dev".
 
+void stopAllThreadedReads ()
 Stop read threads of all Device pool device.
 
+void stopSender (const PIString &name)
 Stop sender "name" timer.
 
+void stopAllSenders ()
 Stop all senders timers.
 
+void stop ()
 Stop all read threads and senders.
 
+bool isEmpty () const
 Returns if there are no devices in this connection.
 
+PIDiagnosticsdiagnostic (const PIString &full_path_name) const
 Returns PIDiagnostics * assosiated with device with full path "full_path_name" or filter "full_path_name".
 
+PIDiagnosticsdiagnostic (const PIIODevice *dev) const
 Returns PIDiagnostics * assosiated with device or filter "dev".
 
+int write (const PIString &full_path, const PIByteArray &data)
 Write data "data" to device with full path "full_path" and returns result of write() function of device.
 
+int write (const PIIODevice *dev, const PIByteArray &data)
 Write data "data" to device "dev" and returns result of write() function of device.
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
+ + + + + + + + + + + + + + + + + +

+Static Public Member Functions

+static PIVector< PIConnection * > allConnections ()
 Returns all connections in application.
 
+static PIVector< PIIODevice * > allDevices ()
 Returns all devices in Device pool.
 
- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+virtual void dataReceived (const PIString &from, const PIByteArray &data)
 Executes on data received from device with full path "from".
 
+virtual void packetReceived (const PIString &from, const PIByteArray &data)
 Executes on packet received from filter with name "from".
 
+virtual bool filterValidateHeader (const PIString &filter_name, uchar *src, uchar *rec, int size)
 Validate header "rec" with source header "src" and size "size", executes from filter "filter_name".
 
+virtual bool filterValidateFooter (const PIString &filter_name, uchar *src, uchar *rec, int size)
 Validate footer "rec" with source footer "src" and size "size", executes from filter "filter_name".
 
+virtual bool filterValidatePayload (const PIString &filter_name, uchar *rec, int size)
 Validate payload "rec" with size "size", executes from filter "filter_name".
 
+virtual PIByteArray senderData (const PIString &sender_name)
 You should returns data for sender "sender_name".
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+ + + + + + + +

+Events

+void dataReceivedEvent (const PIString &from, const PIByteArray &data)
 Raise on data received from device with full path "from".
 
+void packetReceivedEvent (const PIString &from, const PIByteArray &data)
 Raise on packet received from filter with name "from".
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

+

Detailed Description

+

Complex Input/Output point.

+

+Synopsis

+

PIConnection provides abstract layer over physical devices, filtering and connecting data streams. Each PIConnection works through Device Pool, so several PIConnections can read from single physical device. General scheme:

+piconnection.png +
+

+Device pool concept

+

Device pool is static object, single for each application, which contains unique devices. Each PIConnection works with real devices through Device pool. Each device has assosiated thread for read and it can be started or stopped with PIConnection functions startThreadedRead() and stopThreadedRead().

+

+Filters

+

PIConnection filter is a PIPacketExtractor and assosiated array of devices or other filters. When read thread is successfully read from device this data can be passed to one or more filters. Each filter has name and filter names should be unique. You can use this name for access to PIPacketExtractor* with function filter(), or get array of assosiated devices and filters with function filterBoundedDevices(). One filter can receive data from several sources, and can be bounded to several filters.

+piconnection_filters.png +
+

+Diagnostics

+

PIConnection create PIDiagnostics for each device or filter. You can access to these objects with functions diagnostic().

+

+Senders

+

PIConnection can send data to devices with named timers ("senders"). You can create sender or add device to sender with function addSender(). Each sender has internal timer and every tick execute virtual function senderData(). Returns value of this function sended to bounded devices. You can assign fixed send data to sender with function setSenderFixedData(). In this case sender will NOT execute senderData(), but send assigned data.

+piconnection_senders.png +
+

+Configuration

+

You can create PIConnection from config file section or configure it later with function configureFromConfig(). Devices describes with its full pathes, for details see Creating devices by unambiguous string. Example:

+piconnection_conf.png +
+

Also PIConnection can create PIString with its configuration with function makeConfig(). This string can be directly inserted into the config file.

+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool PIConnection::configureFromConfig (const PIStringconfig,
const PIStringname 
)
+
+ +

Configure connection from config file "config" from section "name". Returns if configuration was successful.

+

Warning: all devices, filters and channels removed before configure!

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIIODevice * PIConnection::addDevice (const PIStringfull_path,
PIIODevice::DeviceMode mode = PIIODevice::ReadWrite,
bool start = false 
)
+
+ +

Add device with full path "full_path", open mode "mode" to Device pool and connection.

+

Returns pointer to device or null if device can not be created. If "start" is true, read thread is started immediately. Else, you can start read thread with functions startThreadedRead() or startAllThreadedReads(). By default, read thread doesn`t start

+ +
+
+ +
+
+ + + + + + + + +
bool PIConnection::removeDevice (const PIStringfull_path)
+
+ +

Remove device with full path "full_path" from connection.

+

Returns if device was removed. If there is no connection bounded to this device, it will be removed from Device pool

+ +
+
+ +
+
+ + + + + + + +
void PIConnection::removeAllDevices ()
+
+ +

Remove all device from connection.

+

If there is no connection bounded to there devices, they removed from Device pool

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIPacketExtractor * PIConnection::addFilter (const PIStringname,
const PIStringfull_path_name,
PIPacketExtractor::SplitMode mode = PIPacketExtractor::None 
)
+
+ +

Add filter with name "name" to device with full path "full_path_name" or filter "full_path_name".

+

If there is no filter with name "name", connection create new with split mode "mode" and bound to it device "full_path_name" or filter "full_path_name". If filter with name "name" already exists, device "full_path_name" or filter "full_path_name" add to this filter. This function returns PIPacketExtractor * assosiated with this filter
+ Attention! "mode" is altual olny if new filter was created!

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool PIConnection::removeFilter (const PIStringname,
const PIStringfull_path_name 
)
+
+ +

Remove from filter with name "name" device with full path "full_path_name" or filter "full_path_name".

+

If there is no devices bounded to this filter, it will be removed. Returns if device was removed

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool PIConnection::addChannel (const PIStringname_from,
const PIStringname_to 
)
+
+ +

Add to connection channel from "name_from" to "name_to".

+

"name_from" and "name_to" can be full pathes of devices or filter names. Returns false if there if no such device or filter, else create channel and returns true

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool PIConnection::removeChannel (const PIStringname_from,
const PIStringname_to 
)
+
+ +

Remove from connection channel from "name_from" to "name_to".

+

"name_from" and "name_to" can be full pathes of devices or filter names. Returns false if there if no such device or filter, else remove channel and returns true

+ +
+
+ +
+
+ + + + + + + + +
bool PIConnection::removeChannel (const PIStringname_from)
+
+ +

Remove from connection all channels from "name_from".

+

"name_from" can be full path of device or filter name. Returns false if there if no such device or filter, else remove channels and returns true

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void PIConnection::addSender (const PIStringname,
const PIStringfull_path,
float frequency,
bool start = false 
)
+
+ +

Add to connection sender with name "name" device with full path "full_path".

+

If there is no sender with name "name", connection create new, bound to it device "full_path_name" and start sender timer with frequency "frequency". If sender with name "name" already exists, device "full_path_name" add to this sender If "start" is true, sender is started immediately. Else, you can start sender with functions startSender()
+ Attention! "frequency" is altual olny if new sender was created!

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool PIConnection::removeSender (const PIStringname,
const PIStringfull_path 
)
+
+ +

Remove from sender with name "name" device with full path "full_path_name".

+

If there is no devices bounded to this sender, it will be removed. Returns if sender was removed

+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_connection.js b/doc/html/class_p_i_connection.js new file mode 100644 index 00000000..400db582 --- /dev/null +++ b/doc/html/class_p_i_connection.js @@ -0,0 +1,70 @@ +var class_p_i_connection = +[ + [ "PIConnection", "class_p_i_connection.html#a73a93e8330a2852cf1c76c0fa33b8eff", null ], + [ "PIConnection", "class_p_i_connection.html#ad9bf5c0c48488d2576b6545ecb75e22a", null ], + [ "PIConnection", "class_p_i_connection.html#a245a605ddceaf33c0b2a9e66378c0c98", null ], + [ "configureFromConfig", "class_p_i_connection.html#a78a788e328f8ec243c8cd6f93aca47bd", null ], + [ "makeConfig", "class_p_i_connection.html#aa7333225423095feac73e903dfef3e32", null ], + [ "addDevice", "class_p_i_connection.html#abef3fbce379e0f8cf01b3c12c1e6b297", null ], + [ "removeDevice", "class_p_i_connection.html#ab6579532c7de05b4ac379a9ca2ea8ec9", null ], + [ "removeAllDevices", "class_p_i_connection.html#a01600f5a22b49eb796fbf245a0853b6d", null ], + [ "device", "class_p_i_connection.html#a4bf1efff7318d598d0c47bb474869fe6", null ], + [ "boundedDevices", "class_p_i_connection.html#a6efb56a368a5498f63b5c6e15dfebcf9", null ], + [ "addFilter", "class_p_i_connection.html#a1105a544b2018fbee5ccf8bf026991c1", null ], + [ "addFilter", "class_p_i_connection.html#aee76c16fda7f9e6f09748caa1e512487", null ], + [ "removeFilter", "class_p_i_connection.html#a82a9d3c484bbc073ef7d9196343e1368", null ], + [ "removeFilter", "class_p_i_connection.html#a870f2081626fa2aa352069a19b1c52ff", null ], + [ "removeFilter", "class_p_i_connection.html#a1d486b41013a8cc455a5a07529d2eea3", null ], + [ "removeAllFilters", "class_p_i_connection.html#a762b4641d14843628d7af4af8212bbf9", null ], + [ "filters", "class_p_i_connection.html#a3960ea85b7a1fad838fa84772ecf9695", null ], + [ "filterNames", "class_p_i_connection.html#aa6a4ea015798acdb8b5c0fd52156cd7f", null ], + [ "filter", "class_p_i_connection.html#a556da00110cff970ed19d850b708cf29", null ], + [ "filterBoundedDevices", "class_p_i_connection.html#a7f1910e132f8e9991f89444d0c3ec764", null ], + [ "addChannel", "class_p_i_connection.html#ac633cbd86559b6c5f39c2de7d02d3c6f", null ], + [ "addChannel", "class_p_i_connection.html#a0345dc20954d0cde05504e23b5db9e94", null ], + [ "addChannel", "class_p_i_connection.html#aeee8312bb71cd0417e7079f67f2849e8", null ], + [ "addChannel", "class_p_i_connection.html#a72e9bed935739be4aff88c08df5af73e", null ], + [ "removeChannel", "class_p_i_connection.html#ab512962f328b702d416a13d577937524", null ], + [ "removeChannel", "class_p_i_connection.html#af4e276c0cf30890cb7e599ffdbe0b9e8", null ], + [ "removeChannel", "class_p_i_connection.html#acf9fb8b023f09c12b64809928951dfd1", null ], + [ "removeChannel", "class_p_i_connection.html#aa3d4e83032706f342f70f25928a87bfa", null ], + [ "removeChannel", "class_p_i_connection.html#a95bcc784d1436285666d141955468227", null ], + [ "removeChannel", "class_p_i_connection.html#ace1bad69c9498f390fd324f5ec11683c", null ], + [ "removeAllChannels", "class_p_i_connection.html#a2ef0febef147d0314b8ec312e81d535a", null ], + [ "channels", "class_p_i_connection.html#a9b6d693bd94c74a09b3374cbc9bbf65c", null ], + [ "addSender", "class_p_i_connection.html#a51c44629c4a2eb7194bfabf16e8c1f5a", null ], + [ "addSender", "class_p_i_connection.html#adbfdd3671eb66e4967312b411a757697", null ], + [ "removeSender", "class_p_i_connection.html#a0f502ebce46f41bf58975652bac7346c", null ], + [ "removeSender", "class_p_i_connection.html#a6e94e0174cecb9a57571be67ead71381", null ], + [ "removeSender", "class_p_i_connection.html#a34af1d09b375682bdcd25590153530d1", null ], + [ "setSenderFixedData", "class_p_i_connection.html#aa547b4a4e64e9adf0c7c45171160bded", null ], + [ "clearSenderFixedData", "class_p_i_connection.html#aea2898a9729c594ab7bd174425ae8dcf", null ], + [ "senderFixedData", "class_p_i_connection.html#a94acbae950358c2d47b6f71048d4ce4a", null ], + [ "senderFrequency", "class_p_i_connection.html#afc32d50f589771ab51d90df92960a9af", null ], + [ "removeAllSenders", "class_p_i_connection.html#a0c7c309e54c2c09a779c25843dd13efd", null ], + [ "startThreadedRead", "class_p_i_connection.html#a0172eca55562a296daa6e971d879443d", null ], + [ "startThreadedRead", "class_p_i_connection.html#acb0bfcc3c1e36d1d9881e31a331e2d59", null ], + [ "startAllThreadedReads", "class_p_i_connection.html#aa0319a04d2b0a72809347b556fbde478", null ], + [ "startSender", "class_p_i_connection.html#ae21103d16eb22cefe68cf5f237f2052a", null ], + [ "startAllSenders", "class_p_i_connection.html#ab4cb20685c610275c31c4c1a4e4de9c6", null ], + [ "start", "class_p_i_connection.html#a296ce68f2f85085bf4ecfb71580587c4", null ], + [ "stopThreadedRead", "class_p_i_connection.html#a57f58250839c50d221d32f8d1fb62737", null ], + [ "stopThreadedRead", "class_p_i_connection.html#a5ca12246273a1871fe6c53d535f7ab7f", null ], + [ "stopAllThreadedReads", "class_p_i_connection.html#a48c592b6ce3b7d629a379d3858d3fcfa", null ], + [ "stopSender", "class_p_i_connection.html#ab2021a8aadf16591b52196a368700ba6", null ], + [ "stopAllSenders", "class_p_i_connection.html#a96a185e9d93134b8d092265c230158a3", null ], + [ "stop", "class_p_i_connection.html#afd9148e6424e609eff5e42e456788533", null ], + [ "isEmpty", "class_p_i_connection.html#a3a3c31ebf6f1613ae421483ea360d7b2", null ], + [ "diagnostic", "class_p_i_connection.html#a8331d46bea526c5f74958315d725e14b", null ], + [ "diagnostic", "class_p_i_connection.html#a864db6b1ef3905ae761d249f69cbb12b", null ], + [ "write", "class_p_i_connection.html#a37960527c1357e6e2e58e2656c21719b", null ], + [ "write", "class_p_i_connection.html#ad659e36901a3b7c1724325c74473157f", null ], + [ "dataReceivedEvent", "class_p_i_connection.html#afdec29f2680315ace29a8b8f1c445e00", null ], + [ "packetReceivedEvent", "class_p_i_connection.html#a0f25a2e5625a1c33a3cd4d494ea3b9da", null ], + [ "dataReceived", "class_p_i_connection.html#a0646157ff90676be46c8e96a9dfce78f", null ], + [ "packetReceived", "class_p_i_connection.html#a3883e8b65fccb1b85c810c690bb820c6", null ], + [ "filterValidateHeader", "class_p_i_connection.html#a6f8f899f40de092639f1e0cefe95c968", null ], + [ "filterValidateFooter", "class_p_i_connection.html#a2691ceec3dea8c0588f8afd74359277e", null ], + [ "filterValidatePayload", "class_p_i_connection.html#ad883e4b2174fc086da98b1dbcad69aaf", null ], + [ "senderData", "class_p_i_connection.html#a023551841a2209d5ada16c376feb91f9", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_connection__inherit__graph.map b/doc/html/class_p_i_connection__inherit__graph.map new file mode 100644 index 00000000..eac7403f --- /dev/null +++ b/doc/html/class_p_i_connection__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/class_p_i_connection__inherit__graph.md5 b/doc/html/class_p_i_connection__inherit__graph.md5 new file mode 100644 index 00000000..da832d7a --- /dev/null +++ b/doc/html/class_p_i_connection__inherit__graph.md5 @@ -0,0 +1 @@ +ec9e1967648638ed4186f0d20c63e3ca \ No newline at end of file diff --git a/doc/html/class_p_i_connection__inherit__graph.svg b/doc/html/class_p_i_connection__inherit__graph.svg new file mode 100644 index 00000000..c2e0a170 --- /dev/null +++ b/doc/html/class_p_i_connection__inherit__graph.svg @@ -0,0 +1,31 @@ + + + + + + +PIConnection + + +Node1 + +PIConnection + + +Node2 + + +PIObject + + + + +Node2->Node1 + + + + + diff --git a/doc/html/class_p_i_console-members.html b/doc/html/class_p_i_console-members.html new file mode 100644 index 00000000..c27ad47b --- /dev/null +++ b/doc/html/class_p_i_console-members.html @@ -0,0 +1,292 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIConsole Member List
+
+
+ +

This is the complete list of members for PIConsole, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addBitVariable(const PIString &name, const void *ptr, int fromBit, int bitsCount, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addCustomStatus(const PIString &str)PIConsoleinline
addEmptyLine(int column=1, uint count=1)PIConsole
addString(const PIString &name, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addTab(const PIString &name, char bind_key=0)PIConsole
addVariable(const PIString &name, const PIString *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const char *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const bool *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const short *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const int *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const long *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const llong *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const uchar *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const ushort *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const uint *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const ulong *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const ullong *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const float *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const double *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const PISystemTime *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const PIProtocol *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
addVariable(const PIString &name, const PIDiagnostics *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)PIConsole
Alignment enum namePIConsole
BackBlack enum valuePIConsole
BackBlue enum valuePIConsole
BackCyan enum valuePIConsole
BackGreen enum valuePIConsole
BackMagenta enum valuePIConsole
BackRed enum valuePIConsole
BackWhite enum valuePIConsole
BackYellow enum valuePIConsole
Bin enum valuePIConsole
Black enum valuePIConsole
Blink enum valuePIConsole
Blue enum valuePIConsole
Bold enum valuePIConsole
className() const PIObjectinlinevirtual
clearCustomStatus()PIConsoleinline
clearTabs(bool clearScreen=true)PIConsoleinline
clearVariables(bool clearScreen)PIConsoleinline
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
currentTab() const PIConsoleinline
Cyan enum valuePIConsole
data() const PIThreadinline
debug() const PIObjectinline
Dec enum valuePIConsole
defaultAlignment() const PIConsoleinline
disableExitCapture()PIConsoleinline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprotected
enableExitCapture(char key= 'Q')PIConsoleinline
end()PIThreadinlineprotectedvirtual
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
exitCaptured() const PIConsoleinline
exitKey() const PIConsoleinline
findByName(const PIString &name)PIObjectinlinestatic
Format enum namePIConsole
Green enum valuePIConsole
HANDLERPIObjectrelated
Hex enum valuePIConsole
Inverse enum valuePIConsole
isPropertyExists(const PIString &name) const PIObjectinline
isRunning() const PIThreadinline
keyPressed(char key, void *data)PIConsole
Left enum valuePIConsole
lock()PIThreadinline
Magenta enum valuePIConsole
mutex()PIThreadinline
name() const PIObjectinline
needLockRun(bool need)PIThreadinline
Normal enum valuePIConsole
Nothing enum valuePIConsole
Oct enum valuePIConsole
PIConsole(bool startNow=true, KBFunc slot=0)PIConsole
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
piHigh enum valuePIThread
piHighest enum valuePIThread
piLow enum valuePIThread
piLowerst enum valuePIThread
piNormal enum valuePIThread
PIObject(const PIString &name=PIString())PIObject
PIOBJECTPIObjectrelated
PIOBJECT_PARENTPIObjectrelated
PIThread(void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)PIThread
PIThread(bool startNow=false, int loop_delay=-1)PIThread
priority() const PIThreadinline
Priority enum namePIThread
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIObjectinlineprotectedvirtual
Red enum valuePIConsole
removeTab(uint index)PIConsole
removeTab(const PIString &name)PIConsole
Right enum valuePIConsole
Scientific enum valuePIConsole
setColumnAlignment(int col, Alignment align)PIConsoleinline
setColumnAlignmentToAll(Alignment align)PIConsoleinline
setData(void *d)PIThreadinline
setDebug(bool debug)PIObjectinline
setDefaultAlignment(Alignment align)PIConsoleinline
setName(const PIString &name)PIObjectinline
setPriority(PIThread::Priority prior)PIThread
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
setSlot(ThreadFunc func)PIThreadinline
setTab(uint index)PIConsole
setTab(const PIString &name)PIConsole
setTabBindKey(uint index, char bind_key)PIConsole
setTabBindKey(const PIString &name, char bind_key)PIConsole
start(bool wait)PIConsoleinline
PIThread::start(int timer_delay)PIThread
PIThread::start(ThreadFunc func, int timer_delay)PIThreadinline
started()PIThread
startOnce()PIThread
startOnce(ThreadFunc func)PIThreadinline
stop(bool clear)PIConsole
stopped()PIThread
superClassName() const PIObjectinlinevirtual
SystemTimeSeconds enum valuePIConsole
SystemTimeSplit enum valuePIConsole
tabsCount() const PIConsoleinline
terminate()PIThread
Underline enum valuePIConsole
unlock()PIThreadinline
waitForFinish()PIConsoleinline
PIThread::waitForFinish(int timeout_msecs)PIThread
waitForStart(int timeout_msecs)PIThread
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
White enum valuePIConsole
Yellow enum valuePIConsole
+
+ + + + diff --git a/doc/html/class_p_i_console.html b/doc/html/class_p_i_console.html new file mode 100644 index 00000000..03158824 --- /dev/null +++ b/doc/html/class_p_i_console.html @@ -0,0 +1,966 @@ + + + + + + +PIP: PIConsole Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIConsole Class Reference
+
+
+ +

Console output class. + More...

+
+ + Inheritance diagram for PIConsole:
+
+
+ + + + + + + + + + + + + +

+Public Types

enum  Format {
+  Normal = 0x01, +Bold = 0x02 +, Underline = 0x10, +Blink = 0x20, +
+  Inverse = 0x40, +Black = 0x100, +Red = 0x200, +Green = 0x400, +
+  Yellow = 0x800, +Blue = 0x1000, +Magenta = 0x2000, +Cyan = 0x4000, +
+  White = 0x8000, +BackBlack = 0x10000, +BackRed = 0x20000, +BackGreen = 0x40000, +
+  BackYellow = 0x80000, +BackBlue = 0x100000, +BackMagenta = 0x200000, +BackCyan = 0x400000, +
+  BackWhite = 0x800000, +Dec = 0x1000000, +Hex = 0x2000000, +Oct = 0x4000000, +
+  Bin = 0x8000000, +Scientific = 0x10000000, +SystemTimeSplit = 0x20000000, +SystemTimeSeconds = 0x40000000 +
+ }
 Variables output format. More...
 
enum  Alignment { Nothing, +Left, +Right + }
 Column labels alignment. More...
 
- Public Types inherited from PIThread
enum  Priority {
+  piLowerst, +piLow, +piNormal, +piHigh, +
+  piHighest +
+ }
 Priority of thread. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIConsole (bool startNow=true, KBFunc slot=0)
 Constructs PIConsole with key handler "slot" and if "startNow" start it.
 
+void addString (const PIString &name, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" string "name" with format "format".
 
+void addVariable (const PIString &name, const PIString *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
+void addVariable (const PIString &name, const char *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
+void addVariable (const PIString &name, const bool *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
+void addVariable (const PIString &name, const short *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
+void addVariable (const PIString &name, const int *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
+void addVariable (const PIString &name, const long *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
+void addVariable (const PIString &name, const llong *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
+void addVariable (const PIString &name, const uchar *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
+void addVariable (const PIString &name, const ushort *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
+void addVariable (const PIString &name, const uint *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
+void addVariable (const PIString &name, const ulong *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
+void addVariable (const PIString &name, const ullong *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
+void addVariable (const PIString &name, const float *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
+void addVariable (const PIString &name, const double *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
+void addVariable (const PIString &name, const PISystemTime *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".
 
void addVariable (const PIString &name, const PIProtocol *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format". More...
 
void addVariable (const PIString &name, const PIDiagnostics *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format". More...
 
+void addBitVariable (const PIString &name, const void *ptr, int fromBit, int bitsCount, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)
 Add to current tab to column "column" bits field with label "name", pointer "ptr" and format "format".
 
+void addEmptyLine (int column=1, uint count=1)
 Add to current tab to column "column" "count" empty lines.
 
+uint tabsCount () const
 Returns tabs count.
 
+PIString currentTab () const
 Returns current tab name.
 
+int addTab (const PIString &name, char bind_key=0)
 Add new tab with name "name", bind key "bind_key" and returns this tab index.
 
+void removeTab (uint index)
 Remove tab with index "index".
 
+void removeTab (const PIString &name)
 Remove tab with name "name".
 
+bool setTab (uint index)
 Set current tab to tab with index "index", returns if tab exists.
 
+bool setTab (const PIString &name)
 Set current tab to tab with name "name", returns if tab exists.
 
+bool setTabBindKey (uint index, char bind_key)
 Set tab with index "index" bind key to "bind_key", returns if tab exists.
 
+bool setTabBindKey (const PIString &name, char bind_key)
 Set tab with name "name" bind key to "bind_key", returns if tab exists.
 
+void clearTabs (bool clearScreen=true)
 Remove all tabs and if "clearScreen" clear the screen.
 
+void addCustomStatus (const PIString &str)
 Set custom status text of current tab to "str".
 
+void clearCustomStatus ()
 Clear custom status text of current tab.
 
+Alignment defaultAlignment () const
 Returns default alignment.
 
+void setDefaultAlignment (Alignment align)
 Set default alignment to "align".
 
+void setColumnAlignment (int col, Alignment align)
 Set column "col" alignment to "align".
 
+void setColumnAlignmentToAll (Alignment align)
 Set all columns of all tabs alignment to "align".
 
+void enableExitCapture (char key= 'Q')
 Directly call function from PIKbdListener.
 
+void disableExitCapture ()
 Directly call function from PIKbdListener.
 
+bool exitCaptured () const
 Directly call function from PIKbdListener.
 
+char exitKey () const
 Directly call function from PIKbdListener.
 
- Public Member Functions inherited from PIThread
PIThread (void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)
 Contructs thread with custom data "data", external function "func" and main loop delay "loop_delay".
 
PIThread (bool startNow=false, int loop_delay=-1)
 Contructs thread with main loop delay "loop_delay".
 
+void setData (void *d)
 Set common data passed to external function.
 
+void setSlot (ThreadFunc func)
 Set external function that will be executed after every run()
 
+void setPriority (PIThread::Priority prior)
 Set priority of thread.
 
+void * data () const
 Returns common data passed to external function.
 
+PIThread::Priority priority () const
 Return priority of thread.
 
+bool isRunning () const
 Return true if thread is running.
 
+void needLockRun (bool need)
 Set necessity of lock every run with internal mutex.
 
+PIMutexmutex ()
 Return internal mutex.
 
bool start (int timer_delay)
 Start thread. More...
 
bool start (ThreadFunc func, int timer_delay)
 Start thread. More...
 
bool startOnce ()
 Start thread without internal loop. More...
 
bool startOnce (ThreadFunc func)
 Start thread without internal loop. More...
 
void stop (bool wait)
 Stop thread. More...
 
void terminate ()
 Strongly stop thread. More...
 
bool waitForStart (int timeout_msecs)
 Wait for thread start. More...
 
bool waitForFinish (int timeout_msecs)
 Wait for thread finish. More...
 
+void lock ()
 Lock internal mutex.
 
+void unlock ()
 Unlock internal mutex.
 
+void started ()
 Raise on thread start.
 
+void stopped ()
 Raise on thread stop.
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
+ + + + + + + + + + + + + +

+Handlers

+void clearVariables (bool clearScreen)
 Remove all columns at current tab and if "clearScreen" clear the screen.
 
+void waitForFinish ()
 block until finished (exit key will be pressed)
 
+void start (bool wait)
 Start console output and if "wait" block until finished (exit key will be pressed)
 
+void stop (bool clear)
 Stop console output and if "clear" clear the screen.
 
+ + + + +

+Events

+void keyPressed (char key, void *data)
 Raise on key "key" pressed, "data" is pointer to PIConsole object.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
- Protected Member Functions inherited from PIThread
+virtual void end ()
 Function executed once at the end of thread.
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+

Detailed Description

+

Console output class.

+

+Synopsis

+

This class provides output to console with automatic alignment and update. It supports tabs, keyboard listening, formats and colors.

+

+Layout

+

PIConsole works with variable pointers. You should add your variables with functions addVariable() which receives label name, pointer to variable and optional column and format. Columns count is dynamically increased if new column used. E.g. if you add variable to empty tab to column 3, columns count will be increased to 3, but two firsts columns will be empty. Each column filled from top to bottom, but you can add just string with function addString() or add empty line with function addEmptyLine(). Layout scheme:

+piconsole_layout.png +
+

+Keyboard usage

+

PIConsole should to be single in application. PIConsole aggregate PIKbdListener which grab keyboard and automatic switch tabs by theirs bind keys. If there is no tab binded to pressed key external function "slot" will be called

+

Member Enumeration Documentation

+ +
+
+ + + + +
enum PIConsole::Format
+
+ +

Variables output format.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
Normal  +

Default console format

+
Bold  +

Bold text

+
Underline  +

Underlined text

+
Blink  +

Blinked text

+
Inverse  +

Swap text and background colors

+
Black  +

Black text

+
Red  +

Red text

+
Green  +

Green text

+
Yellow  +

Yellow text

+
Blue  +

Blue text

+
Magenta  +

Magenta text

+
Cyan  +

Cyan text

+
White  +

White text

+
BackBlack  +

Black background

+
BackRed  +

Red background

+
BackGreen  +

Green background

+
BackYellow  +

Yellow background

+
BackBlue  +

Blue background

+
BackMagenta  +

Magenta background

+
BackCyan  +

Cyan background

+
BackWhite  +

White background

+
Dec  +

Decimal base for integers

+
Hex  +

Hexadecimal base for integers

+
Oct  +

Octal base for integers

+
Bin  +

Binary base for integers

+
Scientific  +

Scientific representation of floats

+
SystemTimeSplit  +

PISystemTime split representation (* s, * ns)

+
SystemTimeSeconds  +

PISystemTime seconds representation (*.* s)

+
+ +
+
+ +
+
+ + + + +
enum PIConsole::Alignment
+
+ +

Column labels alignment.

+ + + + +
Enumerator
Nothing  +

No alignment

+
Left  +

Labels align left and variables align left

+
Right  +

Labels align right and variables align left

+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void PIConsole::addVariable (const PIStringname,
const PIProtocolptr,
int col = 1,
PIFlags< PIConsole::Formatformat = PIConsole::Normal 
)
+
+ +

Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".

+

This function add to column "column" next lines:

    +
  • "protocol <name>"
  • +
  • "Rec - receiverDeviceName": PIProtocol::receiverDeviceState
  • +
  • "Send - senderDeviceName": PIProtocol::senderDeviceState
  • +
  • "Received count": PIProtocol::receiveCount
  • +
  • "Invalid count": PIProtocol::wrongCount
  • +
  • "Missed count": PIProtocol::missedCount
  • +
  • "Sended count": PIProtocol::sendCount
  • +
  • "Immediate Frequency, Hz": PIProtocol::immediateFrequency
  • +
  • "Integral Frequency, Hz": PIProtocol::integralFrequency
  • +
  • "Receive speed": PIProtocol::receiveSpeed
  • +
  • "Send speed": PIProtocol::sendSpeed
  • +
  • "Receiver history size": PIProtocol::receiverHistorySize
  • +
  • "Sender history size": PIProtocol::senderHistorySize
  • +
  • "Disconnect Timeout, s": PIProtocol::disconnectTimeout
  • +
  • "Quality": PIProtocol::quality
  • +
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void PIConsole::addVariable (const PIStringname,
const PIDiagnosticsptr,
int col = 1,
PIFlags< PIConsole::Formatformat = PIConsole::Normal 
)
+
+ +

Add to current tab to column "column" variable with label "name", pointer "ptr" and format "format".

+

This function add to column "column" next lines:

+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_console.js b/doc/html/class_p_i_console.js new file mode 100644 index 00000000..917077da --- /dev/null +++ b/doc/html/class_p_i_console.js @@ -0,0 +1,84 @@ +var class_p_i_console = +[ + [ "Format", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579", [ + [ "Normal", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a045a7b958509dd5c127a6f8abbbe9128", null ], + [ "Bold", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a78328fa8e10b199523d20b782d6fbc5b", null ], + [ "Underline", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a46936e800bd76246b08d3093cd7b31c9", null ], + [ "Blink", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a91eace12e9f59cb0ad6a6b90adb0aac6", null ], + [ "Inverse", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a0f6700676e0545499b1c669052c07031", null ], + [ "Black", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a3328cd4af8268e8b4ebf26ce8c230862", null ], + [ "Red", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579aa9e6d56193eac85df4a54bf3ef53b7b7", null ], + [ "Green", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579ae959969cfc547e2f48dbe3b51056d931", null ], + [ "Yellow", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a8fcb095f1009154392e0f0c966d838f6", null ], + [ "Blue", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a4bba54e63c8d31705a555f43c931bb98", null ], + [ "Magenta", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a839902f788d727e5bfbd56c961cb7504", null ], + [ "Cyan", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579afad1b218983aa1f775655a30175333af", null ], + [ "White", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a754394a1f1591ca656e42292e2e6ccc9", null ], + [ "BackBlack", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a92a8473a8b9197c3a1c13900cc9711b2", null ], + [ "BackRed", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579aa2c0f1e23fb2d5e39f38f768a73c8522", null ], + [ "BackGreen", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a2aca7018a5a425d1a51981e6753d2b9c", null ], + [ "BackYellow", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a8bbeb50121d330e27b27f7a94731a3b5", null ], + [ "BackBlue", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a0b579bc45bf31df6bad7baa3b0e1ce75", null ], + [ "BackMagenta", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579af98223da559470901eee2a9721647846", null ], + [ "BackCyan", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579ab34059af712560e14f4720fb33b1ef07", null ], + [ "BackWhite", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579ab70bbc35133c405030513695fda472bb", null ], + [ "Dec", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a1a14373d10e03ed37c42f17558d6e412", null ], + [ "Hex", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579aec17c3cf86a35f0a78c1add7ddd4ce3c", null ], + [ "Oct", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a6c18590e7ad6b405aee530a187231c77", null ], + [ "Bin", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a35a7fc42f3436533338bd2bfa096afdb", null ], + [ "Scientific", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a138319e4d812b10ef0e49f4c1464dde4", null ], + [ "SystemTimeSplit", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a4d54e68db54f775ca7e17b307c4f7787", null ], + [ "SystemTimeSeconds", "class_p_i_console.html#ad19497b9c33393ffe08856c622e3a579a412b529aeecff9f150ee7d42c32006f2", null ] + ] ], + [ "Alignment", "class_p_i_console.html#a9185c02e667ead89d506730e6fdc1f5d", [ + [ "Nothing", "class_p_i_console.html#a9185c02e667ead89d506730e6fdc1f5da83cb297e42b088515171ecb83f904bb5", null ], + [ "Left", "class_p_i_console.html#a9185c02e667ead89d506730e6fdc1f5da8f1af835c1d302642a0f5d288e7ce6a2", null ], + [ "Right", "class_p_i_console.html#a9185c02e667ead89d506730e6fdc1f5da5ba51ab04a9644828f79a9e95dfe4382", null ] + ] ], + [ "PIConsole", "class_p_i_console.html#ab37989414cad3b54ddd8ab8d2879e386", null ], + [ "addString", "class_p_i_console.html#a8274edea626b4281fe7de309ee8d1b38", null ], + [ "addVariable", "class_p_i_console.html#a9ae57b8ab5c4f8538633bf8dc8a15e67", null ], + [ "addVariable", "class_p_i_console.html#a6389f65b8835a38a60bf5ee2f2a43712", null ], + [ "addVariable", "class_p_i_console.html#a3b06530b893c79d11cf875419a834cd0", null ], + [ "addVariable", "class_p_i_console.html#ac53481fa1109e55fc1a6b00c9d963f90", null ], + [ "addVariable", "class_p_i_console.html#aee3ced19ce3abda81a1afd1164a1561d", null ], + [ "addVariable", "class_p_i_console.html#a27b939e27bc97c10eab59411de9fb526", null ], + [ "addVariable", "class_p_i_console.html#a7d7ff34b90be97a0b9cab63419ee26c2", null ], + [ "addVariable", "class_p_i_console.html#afa2c5fbf172ba93197b9b2f5c6653d71", null ], + [ "addVariable", "class_p_i_console.html#a2326d0f1a333927d2754830cea35a4ac", null ], + [ "addVariable", "class_p_i_console.html#a5206ecd0cb4d5c17d2f8cece88cbee4e", null ], + [ "addVariable", "class_p_i_console.html#aed85986ef4d195ec22641fc723bc7422", null ], + [ "addVariable", "class_p_i_console.html#a4a5ef27f2e7dbc0b3a657f543e21e580", null ], + [ "addVariable", "class_p_i_console.html#aac91f944400e09e1d07c5d6862691078", null ], + [ "addVariable", "class_p_i_console.html#ac92363d6e3aff60b8b27215fce4f7cbb", null ], + [ "addVariable", "class_p_i_console.html#acf8668140c47e5ee0ac2fc100ebcaf46", null ], + [ "addVariable", "class_p_i_console.html#a8a71fccd3ad2e19b13045ef6e90d9546", null ], + [ "addVariable", "class_p_i_console.html#a36d5583199e73951f650f58dfc9bc0f3", null ], + [ "addBitVariable", "class_p_i_console.html#afafc641d9512134155c491145e8db6dd", null ], + [ "addEmptyLine", "class_p_i_console.html#affc3de9ad31867e4e8002e77c96e8553", null ], + [ "tabsCount", "class_p_i_console.html#a6e1080918dd4d36347fe8e47318a5761", null ], + [ "currentTab", "class_p_i_console.html#a3261d123b00905e06226b828d7920001", null ], + [ "addTab", "class_p_i_console.html#a119860d9253d00a3fe815bc124076577", null ], + [ "removeTab", "class_p_i_console.html#aa3766f5453f3bb6a90e3e890133b0549", null ], + [ "removeTab", "class_p_i_console.html#a09b921eabc7dfb78527916927d67caf4", null ], + [ "setTab", "class_p_i_console.html#afbe2d5ae830d8096e8506114221789f0", null ], + [ "setTab", "class_p_i_console.html#ae4214666e5ae3752189a61d76c73b7ab", null ], + [ "setTabBindKey", "class_p_i_console.html#ae2abf8fd9b17252e057852fa912565e9", null ], + [ "setTabBindKey", "class_p_i_console.html#ad0826c4d2e8a1e4a1ddff1ad4df355b6", null ], + [ "clearTabs", "class_p_i_console.html#aa098e8d9cdc197ce608ff8cd617bab63", null ], + [ "addCustomStatus", "class_p_i_console.html#adec15a8f25d9236622f8868980cd0772", null ], + [ "clearCustomStatus", "class_p_i_console.html#ac2fa6d3e2f715e709c24c557847d0a1c", null ], + [ "defaultAlignment", "class_p_i_console.html#a4e399e64818521932243ee8be392c649", null ], + [ "setDefaultAlignment", "class_p_i_console.html#ad5bdaa30246c6165fe87bdc3539937f0", null ], + [ "setColumnAlignment", "class_p_i_console.html#a44b8aeea4216e6b514d468f3fcc7e19b", null ], + [ "setColumnAlignmentToAll", "class_p_i_console.html#a6c0653f78a4c22a7de20656c150d4d7d", null ], + [ "enableExitCapture", "class_p_i_console.html#a54455e3349316eb52679b8d1f9b85f78", null ], + [ "disableExitCapture", "class_p_i_console.html#af7d77f3929c0c0394b76274472141080", null ], + [ "exitCaptured", "class_p_i_console.html#af31cb35a92c0758c33c73a227a096d04", null ], + [ "exitKey", "class_p_i_console.html#a9c5a216c60e5b9c1bdf5eda25a346594", null ], + [ "clearVariables", "class_p_i_console.html#aec823e3d7ef7045298efbab12489b239", null ], + [ "waitForFinish", "class_p_i_console.html#ad0a588d352faf1bb39cba0bea8b8d0c0", null ], + [ "start", "class_p_i_console.html#a3d5a998c901b37e73c105754135de73f", null ], + [ "stop", "class_p_i_console.html#afd53d4f09d0bad958f0d2073f56d47c5", null ], + [ "keyPressed", "class_p_i_console.html#acb4dd34fc69180a9ba8bca4816bca130", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_console__inherit__graph.map b/doc/html/class_p_i_console__inherit__graph.map new file mode 100644 index 00000000..44730847 --- /dev/null +++ b/doc/html/class_p_i_console__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/class_p_i_console__inherit__graph.md5 b/doc/html/class_p_i_console__inherit__graph.md5 new file mode 100644 index 00000000..146bf054 --- /dev/null +++ b/doc/html/class_p_i_console__inherit__graph.md5 @@ -0,0 +1 @@ +95bfee6ef9d573f96786bedc5b496865 \ No newline at end of file diff --git a/doc/html/class_p_i_console__inherit__graph.svg b/doc/html/class_p_i_console__inherit__graph.svg new file mode 100644 index 00000000..5bed2e5e --- /dev/null +++ b/doc/html/class_p_i_console__inherit__graph.svg @@ -0,0 +1,44 @@ + + + + + + +PIConsole + + +Node1 + +PIConsole + + +Node2 + + +PIThread + + + + +Node2->Node1 + + + + +Node3 + + +PIObject + + + + +Node3->Node2 + + + + + diff --git a/doc/html/class_p_i_cout-members.html b/doc/html/class_p_i_cout-members.html new file mode 100644 index 00000000..7faca5ee --- /dev/null +++ b/doc/html/class_p_i_cout-members.html @@ -0,0 +1,158 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PICout Member List
+
+
+ +

This is the complete list of members for PICout, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
newLine()PICout
operator<<(const char *v)PICout
operator<<(const string &v)PICout
operator<<(const bool v)PICout
operator<<(const char v)PICout
operator<<(const uchar v)PICout
operator<<(const short v)PICout
operator<<(const ushort v)PICout
operator<<(const int v)PICout
operator<<(const uint v)PICout
operator<<(const long v)PICout
operator<<(const ulong v)PICout
operator<<(const llong v)PICout
operator<<(const ullong v)PICout
operator<<(const float v)PICout
operator<<(const double v)PICout
operator<<(const void *v)PICout
operator<<(const PIObject *v)PICout
operator<<(const PICoutSpecialChar v)PICout
operator<<(const PIFlags< PICoutFormat > v)PICoutinline
operator<<(const PICoutFormat v)PICoutinline
operator<<(const PICoutAction v)PICout
operator<<(PICout s, const PIString &v)PICoutrelated
operator<<(PICout s, const PIStringList &v)PICoutrelated
PICout(PIFlags< PICoutControl > controls=AddSpaces|AddNewLine)PICout
quote()PICout
restoreControl()PICoutinline
saveControl()PICoutinline
setControl(PICoutControl c, bool on=true)PICoutinline
setControl(PICoutControls c, bool save=false)PICoutinline
space()PICout
+
+ + + + diff --git a/doc/html/class_p_i_cout.html b/doc/html/class_p_i_cout.html new file mode 100644 index 00000000..370b4ab9 --- /dev/null +++ b/doc/html/class_p_i_cout.html @@ -0,0 +1,426 @@ + + + + + + +PIP: PICout Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PICout Class Reference
+
+
+ +

Class for formatted output similar std::cout. + More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PICout (PIFlags< PICoutControl > controls=AddSpaces|AddNewLine)
 Default constructor with default features (AddSpaces and AddNewLine)
 
+PICout operator<< (const char *v)
 Output operator for strings with "const char * " type.
 
+PICout operator<< (const string &v)
 Output operator for strings with "std::string" type.
 
+PICout operator<< (const bool v)
 Output operator for boolean values.
 
+PICout operator<< (const char v)
 Output operator for "char" values.
 
+PICout operator<< (const uchar v)
 Output operator for "unsigned char" values.
 
+PICout operator<< (const short v)
 Output operator for "short" values.
 
+PICout operator<< (const ushort v)
 Output operator for "unsigned short" values.
 
+PICout operator<< (const int v)
 Output operator for "int" values.
 
+PICout operator<< (const uint v)
 Output operator for "unsigned int" values.
 
+PICout operator<< (const long v)
 Output operator for "long" values.
 
+PICout operator<< (const ulong v)
 Output operator for "unsigned long" values.
 
+PICout operator<< (const llong v)
 Output operator for "long long" values.
 
+PICout operator<< (const ullong v)
 Output operator for "unsigned long long" values.
 
+PICout operator<< (const float v)
 Output operator for "float" values.
 
+PICout operator<< (const double v)
 Output operator for "double" values.
 
+PICout operator<< (const void *v)
 Output operator for pointers.
 
+PICout operator<< (const PIObject *v)
 Output operator for PIObject and ancestors.
 
+PICout operator<< (const PICoutSpecialChar v)
 Output operator for PICoutSpecialChar values.
 
+PICout operator<< (const PIFlags< PICoutFormat > v)
 Output operator for PIFlags<PICoutFormat> values.
 
+PICout operator<< (const PICoutFormat v)
 Output operator for PICoutFormat values.
 
PICout operator<< (const PICoutAction v)
 Do some action. More...
 
+PICoutsetControl (PICoutControl c, bool on=true)
 Set control flag "c" is "on" state.
 
+PICoutsetControl (PICoutControls c, bool save=false)
 Set control flags "c" and if "save" exec saveControl()
 
PICoutsaveControl ()
 Save control flags to internal stack. More...
 
PICoutrestoreControl ()
 Restore control flags from internal stack. More...
 
PICoutspace ()
 Conditional put space character to output. More...
 
PICoutquote ()
 Conditional put quote character to output. More...
 
PICoutnewLine ()
 Conditional put new line character to output. More...
 
+ + + + + + + + +

+Related Functions

(Note that these are not member functions.)

+
+PICout operator<< (PICout s, const PIString &v)
 Output operator to PICout.
 
+PICout operator<< (PICout s, const PIStringList &v)
 Output operator to PICout.
 
+

Detailed Description

+

Class for formatted output similar std::cout.

+

+Synopsis

+

This class provide many stream operators for output with some features. Output to PICout is thread-sequential, i.e. doesn`t mixed from parallel threads.

+

+Features

+
    +
  • insertion spaces between entries
  • +
  • insertion new line at the end of output
  • +
  • strings are quoted
  • +
  • custom output operator can be easily written
  • +
+

+Usage

+
int a = 10, b = 32, c = 11;
+
piCout << a << Hex << b << Bin << c;
+
// 10 20 1011
+
+
piCout << "this" << "is" << Green << "green" << Default << "word";
+
// this is green word
+
+
PICout(AddSpaces | AddNewLine | AddQuotes) << Tab << "tab and" << "quotes";
+
// "tab and" "quotes"
+

+Writing your own output operator

+
inline PICout operator <<(PICout s, const PIByteArray & ba) {
+
s.space(); // insert space after previous output
+
s.quote(); // ONLY if you want to quoted your type
+
s.setControl(0, true); // clear all features and
+
// save them to stack,
+
// now it`s behavior similar to std::cout
+
+
// your output
+
for (uint i = 0; i < ba.size(); ++i)
+
s << ba[i];
+
+
s.restoreControl(); // restore features from stack
+
s.quote(); // ONLY if you want to quoted your type
+
return s;
+
}
+

Member Function Documentation

+ +
+
+ + + + + + + + +
PICout PICout::operator<< (const PICoutAction v)
+
+ +

Do some action.

+

TODO !!!

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
PICout& PICout::saveControl ()
+
+inline
+
+ +

Save control flags to internal stack.

+
See also
restoreControl()
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
PICout& PICout::restoreControl ()
+
+inline
+
+ +

Restore control flags from internal stack.

+
See also
saveControl()
+ +
+
+ +
+
+ + + + + + + +
PICout & PICout::space ()
+
+ +

Conditional put space character to output.

+

If it is not a first output and control AddSpaces is set space character is put

See also
quote(), newLine()
+ +
+
+ +
+
+ + + + + + + +
PICout & PICout::quote ()
+
+ +

Conditional put quote character to output.

+

If control AddQuotes is set quote character is put

See also
space(), newLine()
+ +
+
+ +
+
+ + + + + + + +
PICout & PICout::newLine ()
+
+ +

Conditional put new line character to output.

+

If control AddNewLine is set new line character is put

See also
space(), quote()
+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_cout.js b/doc/html/class_p_i_cout.js new file mode 100644 index 00000000..93603e7f --- /dev/null +++ b/doc/html/class_p_i_cout.js @@ -0,0 +1,34 @@ +var class_p_i_cout = +[ + [ "PICout", "class_p_i_cout.html#afa5f5b5b95a383a52f286fa80173a77c", null ], + [ "operator<<", "class_p_i_cout.html#ae9dacedd8cc32af047fe2cc7dab95e62", null ], + [ "operator<<", "class_p_i_cout.html#ac260e89c51ed7c18c73f11d08b6d1207", null ], + [ "operator<<", "class_p_i_cout.html#a5aee745aa969f71e82c72dc41dae2b27", null ], + [ "operator<<", "class_p_i_cout.html#a0dbe790c14f97691466e81116cce00bf", null ], + [ "operator<<", "class_p_i_cout.html#ae6cb3028a7d26e39b64fb4e628eb39d9", null ], + [ "operator<<", "class_p_i_cout.html#a4675a5d48fea56b778dac463d86cd7ac", null ], + [ "operator<<", "class_p_i_cout.html#a5a4a6c12e79d161a4e44b774ce5e66f5", null ], + [ "operator<<", "class_p_i_cout.html#a013582c7c4e95714fb10daccf43f5ca3", null ], + [ "operator<<", "class_p_i_cout.html#ac8aa9b0501f6e9c9053ec3af22834fad", null ], + [ "operator<<", "class_p_i_cout.html#ae4a6ca6b6c5df3862517b5a2a7e33b55", null ], + [ "operator<<", "class_p_i_cout.html#ae93cccac30d14ba6102c3f0a1e024f7c", null ], + [ "operator<<", "class_p_i_cout.html#af7a07e6abeacd3482d7195d86791465e", null ], + [ "operator<<", "class_p_i_cout.html#a5d9d1a68372dbafd71e388353df51dec", null ], + [ "operator<<", "class_p_i_cout.html#aab536506458cbb6310588c4f80863756", null ], + [ "operator<<", "class_p_i_cout.html#a31664b00b01429c5f58328d5040954d2", null ], + [ "operator<<", "class_p_i_cout.html#a92a5a13c4cb2ed1b5a72d06c59b266c7", null ], + [ "operator<<", "class_p_i_cout.html#a1394f484e833da6ccb460b58914edfd0", null ], + [ "operator<<", "class_p_i_cout.html#ae658e35cc785d1d3ddc17d1b10e7283a", null ], + [ "operator<<", "class_p_i_cout.html#a356e3ae514df581ddb87bb5f10291f53", null ], + [ "operator<<", "class_p_i_cout.html#a295b2d98053cf976d5c828fd04cee60c", null ], + [ "operator<<", "class_p_i_cout.html#a5dfbca3eb4f732919abc24f1d45987da", null ], + [ "setControl", "class_p_i_cout.html#a5b6614dddc73b36883222e31fda93bf2", null ], + [ "setControl", "class_p_i_cout.html#a39ac735489b5deed01f0d71bfc3a6506", null ], + [ "saveControl", "class_p_i_cout.html#afb789d3710c4bbb56a92e4815bb8fa2b", null ], + [ "restoreControl", "class_p_i_cout.html#a6d6689f35644fba314420d1c218982f1", null ], + [ "space", "class_p_i_cout.html#a3ca9fbac2890b6385fa47dc8c6ab189b", null ], + [ "quote", "class_p_i_cout.html#a95965e197340e6ebe30b84a89ccc4a71", null ], + [ "newLine", "class_p_i_cout.html#a50a7d52c6670f5e693cffd30d565c1af", null ], + [ "operator<<", "class_p_i_cout.html#ab789440b8ebd894dfd628161254f057a", null ], + [ "operator<<", "class_p_i_cout.html#a169bfa237f50a26895592fe63e2bccf1", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_diagnostics-members.html b/doc/html/class_p_i_diagnostics-members.html new file mode 100644 index 00000000..1d5c41cc --- /dev/null +++ b/doc/html/class_p_i_diagnostics-members.html @@ -0,0 +1,246 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIDiagnostics Member List
+
+
+ +

This is the complete list of members for PIDiagnostics, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addDelimiter(int delim, TimerEvent slot=0)PITimerinlineprivate
Average enum valuePIDiagnostics
Bad enum valuePIDiagnostics
className() const PIObjectinlineprivatevirtual
clearDelimiters()PITimerinlineprivate
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
data() const PITimerinlineprivate
debug() const PIObjectinlineprivate
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
disconnectTimeout() const PIDiagnosticsinline
emitter() const PIObjectinlineprivate
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
Failure enum valuePIDiagnostics
findByName(const PIString &name)PIObjectinlineprivatestatic
Good enum valuePIDiagnostics
HANDLERPIObjectrelated
immediateFrequency() const PIDiagnosticsinline
immediateFrequency_ptr() const PIDiagnosticsinline
implementation() const PITimerinlineprivate
integralFrequency() const PIDiagnosticsinline
integralFrequency_ptr() const PIDiagnosticsinline
interval() const PITimerinlineprivate
isPropertyExists(const PIString &name) const PIObjectinlineprivate
isRunning() const PITimerinlineprivate
isStopped() const PITimerinlineprivate
name() const PIObjectinlineprivate
piCoutObjPIObjectrelated
PIDiagnostics(bool start_=true)PIDiagnostics
piDisconnect(PIObject *src, const PIString &sig)PIObjectprivatestatic
piDisconnect(PIObject *src)PIObjectprivatestatic
PIOBJECTPIObjectrelated
PIObject(const PIString &name=PIString())PIObjectprivate
PIOBJECT_PARENTPIObjectrelated
PITimer()PITimerexplicitprivate
PITimer(TimerImplementation ti)PITimerexplicitprivate
PITimer(TimerEvent slot, void *data=0, TimerImplementation ti=Thread)PITimerexplicitprivate
Pool enum valuePITimerprivate
properties() const PIObjectinlineprivate
propertiesCount() const PIObjectinlineprivate
property(const PIString &name) const PIObjectinlineprivate
quality() const PIDiagnosticsinline
Quality enum namePIDiagnostics
quality_ptr() const PIDiagnosticsinline
qualityChanged(PIDiagnostics::Quality new_quality, PIDiagnostics::Quality old_quality)PIDiagnostics
receiveBytesPerSec() const PIDiagnosticsinline
receiveBytesPerSec_ptr() const PIDiagnosticsinline
receiveCount() const PIDiagnosticsinline
receiveCount_ptr() const PIDiagnosticsinline
receiveCountPerSec() const PIDiagnosticsinline
receiveCountPerSec_ptr() const PIDiagnosticsinline
received(int size, bool correct)PIDiagnostics
receiveSpeed() const PIDiagnosticsinline
receiveSpeed_ptr() const PIDiagnosticsinline
removeDelimiter(int delim)PITimerinlineprivate
removeDelimiter(TimerEvent slot)PITimerinlineprivate
removeDelimiter(int delim, TimerEvent slot)PITimerinlineprivate
reset()PIDiagnostics
restart()PITimerinlineprivate
sendBytesPerSec() const PIDiagnosticsinline
sendBytesPerSec_ptr() const PIDiagnosticsinline
sendCount() const PIDiagnosticsinline
sendCount_ptr() const PIDiagnosticsinline
sendCountPerSec() const PIDiagnosticsinline
sendCountPerSec_ptr() const PIDiagnosticsinline
sended(int size)PIDiagnostics
sendSpeed() const PIDiagnosticsinline
sendSpeed_ptr() const PIDiagnosticsinline
setData(void *data_)PITimerinlineprivate
setDebug(bool debug)PIObjectinlineprivate
setDisconnectTimeout(float s)PIDiagnosticsinline
setInterval(double ms)PITimerinlineprivate
setName(const PIString &name)PIObjectinlineprivate
setProperty(const PIString &name, const PIVariant &value)PIObjectinlineprivate
setSlot(TimerEvent slot)PITimerinlineprivate
start(double msecs)PIDiagnosticsinline
PITimer::start(int interval_ms_i)PITimerinlineprivate
stop()PITimerinlineprivate
superClassName() const PIObjectinlineprivatevirtual
Thread enum valuePITimerprivate
ThreadRT enum valuePITimerprivate
tickEvent(void *data_, int delimiter)PITimerprivate
TimerImplementation enum namePITimerprivate
Unknown enum valuePIDiagnostics
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
wrongCount() const PIDiagnosticsinline
wrongCount_ptr() const PIDiagnosticsinline
+
+ + + + diff --git a/doc/html/class_p_i_diagnostics.html b/doc/html/class_p_i_diagnostics.html new file mode 100644 index 00000000..ad1b4597 --- /dev/null +++ b/doc/html/class_p_i_diagnostics.html @@ -0,0 +1,497 @@ + + + + + + +PIP: PIDiagnostics Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIDiagnostics Class Reference
+
+
+ +

Connection quality diagnostics. + More...

+
+ + Inheritance diagram for PIDiagnostics:
+
+
+ + + + + + +

+Public Types

enum  Quality {
+  Unknown = 1, +Failure = 2, +Bad = 3, +Average = 4, +
+  Good = 5 +
+ }
 Connection quality. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIDiagnostics (bool start_=true)
 Constructs an empty diagnostics and if "strat_" start it.
 
+float disconnectTimeout () const
 Returns period of full disconnect in seconds and period of averaging frequency.
 
+void setDisconnectTimeout (float s)
 Returns period of full disconnect in seconds and period of averaging frequency.
 
+float immediateFrequency () const
 Returns immediate receive frequency, packets/s.
 
+float integralFrequency () const
 Returns integral receive frequency for disconnectTimeout() seconds, packets/s.
 
+ullong receiveCountPerSec () const
 Returns correct received packets per second.
 
+ullong sendCountPerSec () const
 Returns sended packets per second.
 
+ullong receiveBytesPerSec () const
 Returns correct received bytes per second.
 
+ullong sendBytesPerSec () const
 Returns sended bytes per second.
 
+ullong receiveCount () const
 Returns overall correct received packets count.
 
+ullong wrongCount () const
 Returns overall wrong received packets count.
 
+ullong sendCount () const
 Returns overall sended packets count.
 
+PIDiagnostics::Quality quality () const
 Returns connection quality.
 
+PIString receiveSpeed () const
 Returns receive speed in format "n {B|kB|MB|GB|TB}/s".
 
+PIString sendSpeed () const
 Returns send speed in format "n {B|kB|MB|GB|TB}/s".
 
+const float * immediateFrequency_ptr () const
 Returns immediate receive frequency pointer, packets/s. Useful for output to PIConsole.
 
+const float * integralFrequency_ptr () const
 Returns integral receive frequency pointer for period, packets/s. Useful for output to PIConsole.
 
+const ullong * receiveCountPerSec_ptr () const
 Returns correct received packets per second pointer. Useful for output to PIConsole.
 
+const ullong * sendCountPerSec_ptr () const
 Returns sended packets per second pointer. Useful for output to PIConsole.
 
+const ullong * receiveBytesPerSec_ptr () const
 Returns correct received bytes per second pointer. Useful for output to PIConsole.
 
+const ullong * sendBytesPerSec_ptr () const
 Returns sended bytes per second pointer. Useful for output to PIConsole.
 
+const ullong * receiveCount_ptr () const
 Returns overall correct received packets count pointer. Useful for output to PIConsole.
 
+const ullong * wrongCount_ptr () const
 Returns overall wrong received packets count pointer. Useful for output to PIConsole.
 
+const ullong * sendCount_ptr () const
 Returns overall sended packets count pointer. Useful for output to PIConsole.
 
+const int * quality_ptr () const
 Returns connection quality pointer. Useful for output to PIConsole.
 
+const PIStringreceiveSpeed_ptr () const
 Returns receive speed pointer in format "n {B|kB|MB|GB|TB}/s". Useful for output to PIConsole.
 
+const PIStringsendSpeed_ptr () const
 Returns send speed pointer in format "n {B|kB|MB|GB|TB}/s". Useful for output to PIConsole.
 
+ + + + + + + + + + + + + +

+Handlers

+void start (double msecs)
 Start diagnostics evaluations with period "msecs" milliseconds.
 
+void reset ()
 Reset diagnostics counters.
 
+void received (int size, bool correct)
 Notify diagnostics about "correct" corected received packet.
 
+void sended (int size)
 Notify diagnostics about sended packet.
 
+ + + + +

+Events

+void qualityChanged (PIDiagnostics::Quality new_quality, PIDiagnostics::Quality old_quality)
 Raise on change receive quality from "old_quality" to "new_quality".
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

+

Detailed Description

+

Connection quality diagnostics.

+

+Synopsis

+

This class provide abstract connection quality diagnostics and counting. You should create instance of PIDiagnostics and on packet receive call function received(), on packet send call function sended(). PIDiagnostics calculates correct, wrong and sended counters, packets per second, bytes per seconds, immediate and integral receive frequencies and receive/send speeds in human readable representation. There statistics are calculates one time per period, by default 1 second. To calculate them you should start PIDiagnostics with function start() or pass true to constructor.

+

Member Enumeration Documentation

+ +
+
+ + + + +
enum PIDiagnostics::Quality
+
+ +

Connection quality.

+ + + + + + +
Enumerator
Unknown  +

Unknown, no one packet received yet

+
Failure  +

No connection, no one correct packet received for last period

+
Bad  +

Bad connection, correct packets received <= 20%

+
Average  +

Average connection, correct packets received > 20% and <= 80%

+
Good  +

Good connection, correct packets received > 80%

+
+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_diagnostics.js b/doc/html/class_p_i_diagnostics.js new file mode 100644 index 00000000..424531ed --- /dev/null +++ b/doc/html/class_p_i_diagnostics.js @@ -0,0 +1,42 @@ +var class_p_i_diagnostics = +[ + [ "Quality", "class_p_i_diagnostics.html#aabf8f59b49ab62435e220106f204712f", [ + [ "Unknown", "class_p_i_diagnostics.html#aabf8f59b49ab62435e220106f204712fab50c35309ba981ccc60aa55f4b391976", null ], + [ "Failure", "class_p_i_diagnostics.html#aabf8f59b49ab62435e220106f204712fa7851c3092d436b72bc66b752f73b1d80", null ], + [ "Bad", "class_p_i_diagnostics.html#aabf8f59b49ab62435e220106f204712fac8268eaf57232ad3cf9b2a91ead6748b", null ], + [ "Average", "class_p_i_diagnostics.html#aabf8f59b49ab62435e220106f204712fa72a5c3ff8a8ae3e43f818db82d730b55", null ], + [ "Good", "class_p_i_diagnostics.html#aabf8f59b49ab62435e220106f204712fa65f12843d70ab8f9bc9f711e2776c169", null ] + ] ], + [ "PIDiagnostics", "class_p_i_diagnostics.html#a0ecb4332d5583be9a0c626c6ad8fc92a", null ], + [ "disconnectTimeout", "class_p_i_diagnostics.html#a58a112660b5a7545c6bb0bb1bf621822", null ], + [ "setDisconnectTimeout", "class_p_i_diagnostics.html#a54f87c6f4fc670cbc5c15129bebb3394", null ], + [ "immediateFrequency", "class_p_i_diagnostics.html#afc88d4112178d144a4e2bf116809a586", null ], + [ "integralFrequency", "class_p_i_diagnostics.html#af2bca72346e1440af8e9a225bfd2ad72", null ], + [ "receiveCountPerSec", "class_p_i_diagnostics.html#a81fa49a759f97f23b0e13992c2decd11", null ], + [ "sendCountPerSec", "class_p_i_diagnostics.html#a42f008c143eb3aeaa34350b41b471bd9", null ], + [ "receiveBytesPerSec", "class_p_i_diagnostics.html#a412a3c850f35ae690bf2ee212bace700", null ], + [ "sendBytesPerSec", "class_p_i_diagnostics.html#ad24cb17710950995f1be0cf48c150a5e", null ], + [ "receiveCount", "class_p_i_diagnostics.html#a894cb3cd2ec9a395ee217fe0573bfa74", null ], + [ "wrongCount", "class_p_i_diagnostics.html#a92a18a79947e0322f67d74c045c71682", null ], + [ "sendCount", "class_p_i_diagnostics.html#a896f8406b97fb4eee8fa5fbcd0f4cb18", null ], + [ "quality", "class_p_i_diagnostics.html#ab4b373f4d0dfaad6e25cf1d376b2d754", null ], + [ "receiveSpeed", "class_p_i_diagnostics.html#a01bf2ddc5c60e8156c8c78b49978810d", null ], + [ "sendSpeed", "class_p_i_diagnostics.html#a8fa858dfeda458616b1f5ecbab3baead", null ], + [ "immediateFrequency_ptr", "class_p_i_diagnostics.html#ae84c320f15128154968da64a185534f6", null ], + [ "integralFrequency_ptr", "class_p_i_diagnostics.html#acb226efc57b90723c6acd5f07f0e8a1c", null ], + [ "receiveCountPerSec_ptr", "class_p_i_diagnostics.html#a364f03141facee8162a66de048005807", null ], + [ "sendCountPerSec_ptr", "class_p_i_diagnostics.html#a34f3d9d9b0560da37f4e3258a2408c6c", null ], + [ "receiveBytesPerSec_ptr", "class_p_i_diagnostics.html#a3dae97db20de5a1a82559eaf872004ea", null ], + [ "sendBytesPerSec_ptr", "class_p_i_diagnostics.html#a5565c0c6c31f39144ce80c4a68dad08d", null ], + [ "receiveCount_ptr", "class_p_i_diagnostics.html#afe4a920694b84936c0fa7d07b14d1dd7", null ], + [ "wrongCount_ptr", "class_p_i_diagnostics.html#adbacd5ebed2dabee1c44f5c2cd8ce48d", null ], + [ "sendCount_ptr", "class_p_i_diagnostics.html#a6c331ad75d8802175b73c2e0f84e2368", null ], + [ "quality_ptr", "class_p_i_diagnostics.html#a4ce10a350d75352320212784193db4fb", null ], + [ "receiveSpeed_ptr", "class_p_i_diagnostics.html#aa7a24231b0008a27405a92f8f7094277", null ], + [ "sendSpeed_ptr", "class_p_i_diagnostics.html#a36ac4c15726cab43cb1a46ddfd1fc87c", null ], + [ "start", "class_p_i_diagnostics.html#a1773afb624fe79976ad9385705f24d02", null ], + [ "reset", "class_p_i_diagnostics.html#a0771a5343fcebfe427876adddae14c34", null ], + [ "received", "class_p_i_diagnostics.html#a0cedccc3d6d8dba5238ee3a0f42a74c6", null ], + [ "sended", "class_p_i_diagnostics.html#a40db151966a7c48357df5e19de20116f", null ], + [ "qualityChanged", "class_p_i_diagnostics.html#a6e0a2d483282afab237e4b1ab9f0b4a4", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_diagnostics__inherit__graph.map b/doc/html/class_p_i_diagnostics__inherit__graph.map new file mode 100644 index 00000000..819e3f05 --- /dev/null +++ b/doc/html/class_p_i_diagnostics__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/class_p_i_diagnostics__inherit__graph.md5 b/doc/html/class_p_i_diagnostics__inherit__graph.md5 new file mode 100644 index 00000000..111cbf47 --- /dev/null +++ b/doc/html/class_p_i_diagnostics__inherit__graph.md5 @@ -0,0 +1 @@ +93d322e14a520049ba4cb515e7be2944 \ No newline at end of file diff --git a/doc/html/class_p_i_diagnostics__inherit__graph.svg b/doc/html/class_p_i_diagnostics__inherit__graph.svg new file mode 100644 index 00000000..95fec3f6 --- /dev/null +++ b/doc/html/class_p_i_diagnostics__inherit__graph.svg @@ -0,0 +1,44 @@ + + + + + + +PIDiagnostics + + +Node1 + +PIDiagnostics + + +Node2 + + +PITimer + + + + +Node2->Node1 + + + + +Node3 + + +PIObject + + + + +Node3->Node2 + + + + + diff --git a/doc/html/class_p_i_ethernet-members.html b/doc/html/class_p_i_ethernet-members.html new file mode 100644 index 00000000..31e075da --- /dev/null +++ b/doc/html/class_p_i_ethernet-members.html @@ -0,0 +1,289 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIEthernet Member List
+
+
+ +

This is the complete list of members for PIEthernet, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
allAddresses()PIEthernetstatic
Broadcast enum valuePIEthernet
broadcastPIEthernet
className() const PIObjectinlinevirtual
closeDevice()PIEthernetprotectedvirtual
configureDevice(const void *e_main, const void *e_parent=0)PIEthernetprotectedvirtual
configureFromFullPath(const PIString &full_path)PIEthernetprotectedvirtual
connect()PIEthernet
connect(const PIString &ip, int port)PIEthernetinline
connect(const PIString &ip_port)PIEthernetinline
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
connected()PIEthernet
CONNECTUPIObjectrelated
constructFullPath() const PIEthernetvirtual
data() const PIThreadinline
debug() const PIObjectinline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
disconnected(bool withError)PIEthernet
emitter() const PIObjectinlineprotected
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
findByName(const PIString &name)PIObjectinlinestatic
fullPathPrefix() const PIEthernetinlineprotectedvirtual
HANDLERPIObjectrelated
ifActive enum valuePIEthernet
ifBroadcast enum valuePIEthernet
ifLoopback enum valuePIEthernet
ifMulticast enum valuePIEthernet
ifPTP enum valuePIEthernet
ifRunning enum valuePIEthernet
init()PIEthernetprotectedvirtual
InterfaceFlag enum namePIEthernet
InterfaceFlags typedefPIEthernet
interfaces()PIEthernetstatic
ipPIEthernet
isConnected() const PIEthernetinline
isParameterSet(PIEthernet::Parameters parameter) const PIEthernetinline
isPropertyExists(const PIString &name) const PIObjectinline
isRunning() const PIThreadinline
joinMulticastGroup(const PIString &group)PIEthernet
leaveMulticastGroup(const PIString &group)PIEthernet
listen(bool threaded=false)PIEthernet
listen(const PIString &ip, int port, bool threaded=false)PIEthernetinline
listen(const PIString &ip_port, bool threaded=false)PIEthernetinline
lock()PIThreadinline
multicastGroups() const PIEthernetinline
mutex()PIThreadinline
name() const PIObjectinline
needLockRun(bool need)PIThreadinline
newConnection(PIEthernet *client)PIEthernet
openDevice()PIEthernetprotectedvirtual
parameters() const PIEthernetinline
Parameters enum namePIEthernet
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
PIEthernet()PIEthernet
PIEthernet(Type type, const PIString &ip_port=PIString(), const PIFlags< Parameters > params=0)PIEthernet
piHigh enum valuePIThread
piHighest enum valuePIThread
PIIODEVICEPIIODevicerelated
piLow enum valuePIThread
piLowerst enum valuePIThread
piNormal enum valuePIThread
PIOBJECTPIObjectrelated
PIObject(const PIString &name=PIString())PIObject
PIOBJECT_PARENTPIObjectrelated
PIThread(void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)PIThread
PIThread(bool startNow=false, int loop_delay=-1)PIThread
portPIEthernet
Priority enum namePIThread
priority() const PIThreadinline
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIEthernetprotectedvirtual
read(void *read_to, int max_size)PIEthernetvirtual
readAddress() const PIEthernetinline
readDeviceSetting(const PIString &name, const T &def, const PIConfig::Entry *em, const PIConfig::Entry *ep)PIIODevicerelated
readIP() const PIEthernetinline
readPort() const PIEthernetinline
readTimeout() const PIEthernetinline
received(const void *data, int size)PIEthernetinlineprotectedvirtual
REGISTER_DEVICEPIIODevicerelated
ReuseAddress enum valuePIEthernet
reuseAddressPIEthernet
send(const PIString &ip, int port, const void *data, int size, bool threaded=false)PIEthernetinline
send(const PIString &ip_port, const void *data, int size, bool threaded=false)PIEthernetinline
send(const void *data, int size, bool threaded=false)PIEthernetinline
send(const PIByteArray &data, bool threaded=false)PIEthernetinline
sendAddress() const PIEthernetinline
sendIP() const PIEthernetinline
sendPort() const PIEthernetinline
setData(void *d)PIThreadinline
setDebug(bool debug)PIObjectinline
setName(const PIString &name)PIObjectinline
setParameter(PIEthernet::Parameters parameter, bool on=true)PIEthernet
setParameters(PIFlags< PIEthernet::Parameters > parameters_)PIEthernetinline
setPriority(PIThread::Priority prior)PIThread
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
setReadAddress(const PIString &ip, int port)PIEthernetinline
setReadAddress(const PIString &ip_port)PIEthernetinline
setReadIP(const PIString &ip)PIEthernetinline
setReadPort(int port)PIEthernetinline
setReadTimeout(double ms)PIEthernetinline
setSendAddress(const PIString &ip, int port)PIEthernetinline
setSendAddress(const PIString &ip_port)PIEthernetinline
setSendIP(const PIString &ip)PIEthernetinline
setSendPort(int port)PIEthernetinline
setSlot(ThreadFunc func)PIThreadinline
setWriteTimeout(double ms)PIEthernetinline
PIThread::start(int timer_delay)PIThread
PIThread::start(ThreadFunc func, int timer_delay)PIThreadinline
started()PIThread
startOnce()PIThread
startOnce(ThreadFunc func)PIThreadinline
stopped()PIThread
superClassName() const PIObjectinlinevirtual
TCP_Client enum valuePIEthernet
TCP_Server enum valuePIEthernet
threadedRead(uchar *readed, int size)PIIODeviceinlineprotectedvirtual
type() const PIEthernetinline
Type enum namePIEthernet
UDP enum valuePIEthernet
unlock()PIThreadinline
waitForFinish(int timeout_msecs)PIThread
waitForStart(int timeout_msecs)PIThread
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
write(const void *data, int max_size)PIEthernetvirtual
write(const PIByteArray &data)PIEthernetinline
writeTimeout() const PIEthernetinline
+
+ + + + diff --git a/doc/html/class_p_i_ethernet.html b/doc/html/class_p_i_ethernet.html new file mode 100644 index 00000000..53170159 --- /dev/null +++ b/doc/html/class_p_i_ethernet.html @@ -0,0 +1,880 @@ + + + + + + +PIP: PIEthernet Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIEthernet Class Reference
+
+
+ +

Ethernet device. + More...

+
+ + Inheritance diagram for PIEthernet:
+
+
+ + + + + + + + + +

+Classes

struct  Interface
 Network interface descriptor. More...
 
class  InterfaceList
 Array of Interface with some features. More...
 
+ + + + + + + + + + + + + + + + + +

+Public Types

enum  Type { UDP, +TCP_Client, +TCP_Server + }
 Type of PIEthernet. More...
 
enum  Parameters { ReuseAddress = 0x1, +Broadcast = 0x2 + }
 Parameters of PIEthernet. More...
 
enum  InterfaceFlag {
+  ifActive = 0x1, +ifRunning = 0x2, +ifBroadcast = 0x4, +ifMulticast = 0x8, +
+  ifLoopback = 0x10, +ifPTP = 0x20 +
+ }
 Flags of network interface. More...
 
+typedef PIFlags< InterfaceFlagInterfaceFlags
 PIFlags of network interface flags
 
- Public Types inherited from PIThread
enum  Priority {
+  piLowerst, +piLow, +piNormal, +piHigh, +
+  piHighest +
+ }
 Priority of thread. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIEthernet ()
 Contructs UDP PIEthernet with empty read address.
 
PIEthernet (Type type, const PIString &ip_port=PIString(), const PIFlags< Parameters > params=0)
 Contructs PIEthernet with type "type", read address "ip_port" and parameters "params".
 
+void setReadAddress (const PIString &ip, int port)
 Set read address.
 
+void setReadAddress (const PIString &ip_port)
 Set read address in format "i.i.i.i:p".
 
+void setReadIP (const PIString &ip)
 Set read IP.
 
+void setReadPort (int port)
 Set read port.
 
+void setSendAddress (const PIString &ip, int port)
 Set send address.
 
+void setSendAddress (const PIString &ip_port)
 Set send address in format "i.i.i.i:p".
 
+void setSendIP (const PIString &ip)
 Set send IP.
 
+void setSendPort (int port)
 Set send port.
 
+PIString readAddress () const
 Returns read address in format "i.i.i.i:p".
 
+PIString readIP () const
 Returns read IP.
 
+int readPort () const
 Returns read port.
 
+PIString sendAddress () const
 Returns send address in format "i.i.i.i:p".
 
+PIString sendIP () const
 Returns send IP.
 
+int sendPort () const
 Returns send port.
 
+void setParameters (PIFlags< PIEthernet::Parameters > parameters_)
 Set parameters to "parameters_". You should to reopen PIEthernet to apply them.
 
+void setParameter (PIEthernet::Parameters parameter, bool on=true)
 Set parameter "parameter" to state "on". You should to reopen PIEthernet to apply this.
 
+bool isParameterSet (PIEthernet::Parameters parameter) const
 Returns if parameter "parameter" is set.
 
+PIFlags< PIEthernet::Parametersparameters () const
 Returns parameters.
 
+Type type () const
 Returns PIEthernet type.
 
+double readTimeout () const
 Returns read timeout.
 
+double writeTimeout () const
 Returns write timeout.
 
+void setReadTimeout (double ms)
 Set timeout for read.
 
+void setWriteTimeout (double ms)
 Set timeout for write.
 
+bool joinMulticastGroup (const PIString &group)
 Join to multicast group with address "group". Use only for UDP.
 
+bool leaveMulticastGroup (const PIString &group)
 Leave multicast group with address "group". Use only for UDP.
 
+const PIStringListmulticastGroups () const
 Returns joined multicast groups. Use only for UDP.
 
+bool connect ()
 Connect to TCP server with address readAddress(). Use only for TCP_Client.
 
+bool connect (const PIString &ip, int port)
 Connect to TCP server with address "ip":"port". Use only for TCP_Client.
 
+bool connect (const PIString &ip_port)
 Connect to TCP server with address "ip_port". Use only for TCP_Client.
 
+bool isConnected () const
 Returns if PIEthernet connected to TCP server. Use only for TCP_Client.
 
+bool listen (bool threaded=false)
 Start listen for incoming TCP connections on address readAddress(). Use only for TCP_Server.
 
+bool listen (const PIString &ip, int port, bool threaded=false)
 Start listen for incoming TCP connections on address "ip":"port". Use only for TCP_Server.
 
+bool listen (const PIString &ip_port, bool threaded=false)
 Start listen for incoming TCP connections on address "ip_port". Use only for TCP_Server.
 
+bool send (const PIString &ip, int port, const void *data, int size, bool threaded=false)
 Send data "data" with size "size" to address "ip":"port".
 
+bool send (const PIString &ip_port, const void *data, int size, bool threaded=false)
 Send data "data" with size "size" to address "ip_port".
 
+bool send (const void *data, int size, bool threaded=false)
 Send data "data" with size "size" to address sendAddress() for UDP or readAddress() for TCP_Client.
 
+bool send (const PIByteArray &data, bool threaded=false)
 Send data "data" to address sendAddress() for UDP or readAddress() for TCP_Client.
 
+int read (void *read_to, int max_size)
 Wait for some data and read it to "read_to".
 
+int write (const void *data, int max_size)
 Send data "read_to" with size "max_size" to address sendAddress() for UDP or readAddress() for TCP_Client.
 
+int write (const PIByteArray &data)
 Send data "data" to address sendAddress() for UDP or readAddress() for TCP_Client.
 
+PIString constructFullPath () const
 Reimplement to construct full unambiguous string, describes this device, default returns fullPathPrefix() + "://" + path()
 
- Public Member Functions inherited from PIThread
PIThread (void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)
 Contructs thread with custom data "data", external function "func" and main loop delay "loop_delay".
 
PIThread (bool startNow=false, int loop_delay=-1)
 Contructs thread with main loop delay "loop_delay".
 
+void setData (void *d)
 Set common data passed to external function.
 
+void setSlot (ThreadFunc func)
 Set external function that will be executed after every run()
 
+void setPriority (PIThread::Priority prior)
 Set priority of thread.
 
+void * data () const
 Returns common data passed to external function.
 
+PIThread::Priority priority () const
 Return priority of thread.
 
+bool isRunning () const
 Return true if thread is running.
 
+void needLockRun (bool need)
 Set necessity of lock every run with internal mutex.
 
+PIMutexmutex ()
 Return internal mutex.
 
bool start (int timer_delay)
 Start thread. More...
 
bool start (ThreadFunc func, int timer_delay)
 Start thread. More...
 
bool startOnce ()
 Start thread without internal loop. More...
 
bool startOnce (ThreadFunc func)
 Start thread without internal loop. More...
 
void stop (bool wait)
 Stop thread. More...
 
void terminate ()
 Strongly stop thread. More...
 
bool waitForStart (int timeout_msecs)
 Wait for thread start. More...
 
bool waitForFinish (int timeout_msecs)
 Wait for thread finish. More...
 
+void lock ()
 Lock internal mutex.
 
+void unlock ()
 Unlock internal mutex.
 
+void started ()
 Raise on thread start.
 
+void stopped ()
 Raise on thread stop.
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
+ + + + + + + + + + + + + + + + + +

+Static Public Member Functions

+static InterfaceList interfaces ()
 Returns all system network interfaces.
 
+static PIStringList allAddresses ()
 Returns all system network IP addresses.
 
- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+PIString fullPathPrefix () const
 Reimplement to construct full unambiguous string prefix. Creating devices by unambiguous string.
 
+void configureFromFullPath (const PIString &full_path)
 Reimplement to configure your device with parameters of full unambiguous string. Default implementation does nothing.
 
+bool configureDevice (const void *e_main, const void *e_parent=0)
 Reimplement to configure device from entries "e_main" and "e_parent", cast arguments to PIConfig::Entry*.
 
+virtual void received (const void *data, int size)
 Executes when any read function was successful. Default implementation does nothing.
 
+bool init ()
 Function executed before first openDevice() or from constructor.
 
+bool openDevice ()
 Reimplement to open device, return value will be set to "opened_" variable.
 
+bool closeDevice ()
 Reimplement to close device, inverse return value will be set to "opened_" variable.
 
- Protected Member Functions inherited from PIIODevice
+virtual bool threadedRead (uchar *readed, int size)
 Function executed when thread read some data, default implementation execute external slot "ret_func_".
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+ + + + + + + + + + +

+Events

+void newConnection (PIEthernet *client)
 Raise on new TCP connection received.
 
+void connected ()
 Raise if succesfull TCP connection.
 
+void disconnected (bool withError)
 Raise if TCP connection was closed.
 
+ + + + + + + + + + + + + +

+Configurable parameters

+string ip
 read ip, default ""
 
+int port
 read port, default 0
 
+bool broadcast
 Broadcast parameter, default false.
 
+bool reuseAddress
 ReuseAddress parameter, default false.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

+

Detailed Description

+

Ethernet device.

+

+Synopsis

+

PIEthernet designed to work with IPv4 network by two protocols: UDP and TCP. This class allow you send and receive packets to/from another computer through network.

+

+IPv4

+

+UDP

+

User Datagram Protocol

+

+TCP

+

Transmission Control Protocol

+

Member Enumeration Documentation

+ +
+
+ + + + +
enum PIEthernet::Type
+
+ +

Type of PIEthernet.

+ + + + +
Enumerator
UDP  +

UDP - User Datagram Protocol

+
TCP_Client  +

TCP client - allow connection to TCP server

+
TCP_Server  +

TCP server - receive connections from TCP clients

+
+ +
+
+ +
+
+ + + + +
enum PIEthernet::Parameters
+
+ +

Parameters of PIEthernet.

+ + + +
Enumerator
ReuseAddress  +

Rebind address if there is already binded

+
Broadcast  +

Broadcast send

+
+ +
+
+ +
+
+ + + + +
enum PIEthernet::InterfaceFlag
+
+ +

Flags of network interface.

+ + + + + + + +
Enumerator
ifActive  +

Is active

+
ifRunning  +

Is running

+
ifBroadcast  +

Support broadcast

+
ifMulticast  +

Support multicast

+
ifLoopback  +

Is loopback

+
ifPTP  +

Is point-to-point

+
+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_ethernet.js b/doc/html/class_p_i_ethernet.js new file mode 100644 index 00000000..3face8f0 --- /dev/null +++ b/doc/html/class_p_i_ethernet.js @@ -0,0 +1,81 @@ +var class_p_i_ethernet = +[ + [ "Interface", "struct_p_i_ethernet_1_1_interface.html", "struct_p_i_ethernet_1_1_interface" ], + [ "InterfaceList", "class_p_i_ethernet_1_1_interface_list.html", "class_p_i_ethernet_1_1_interface_list" ], + [ "InterfaceFlags", "class_p_i_ethernet.html#a26d086cc06bc533006ac4fca2c3bab33", null ], + [ "Type", "class_p_i_ethernet.html#a7abf73f51652b00af7a6198be2fa0f5c", [ + [ "UDP", "class_p_i_ethernet.html#a7abf73f51652b00af7a6198be2fa0f5ca17c6e599807b02ebaf8ab6decbd17c7b", null ], + [ "TCP_Client", "class_p_i_ethernet.html#a7abf73f51652b00af7a6198be2fa0f5ca468f2c843283f472aa48487bebc38416", null ], + [ "TCP_Server", "class_p_i_ethernet.html#a7abf73f51652b00af7a6198be2fa0f5caf2c9526cd4b694f14a0d8a4693a5b76c", null ] + ] ], + [ "Parameters", "class_p_i_ethernet.html#ae03a64ce3d7d8a1e95b2212ab2497f55", [ + [ "ReuseAddress", "class_p_i_ethernet.html#ae03a64ce3d7d8a1e95b2212ab2497f55a880142bb3993c7839af6d847beee1b34", null ], + [ "Broadcast", "class_p_i_ethernet.html#ae03a64ce3d7d8a1e95b2212ab2497f55af792cda5436050309ee9368d6ac5e6f7", null ] + ] ], + [ "InterfaceFlag", "class_p_i_ethernet.html#a2e219801b3a6c451c4aca63ad99b6374", [ + [ "ifActive", "class_p_i_ethernet.html#a2e219801b3a6c451c4aca63ad99b6374af0267ac1003b142861da4f3b13cd8eec", null ], + [ "ifRunning", "class_p_i_ethernet.html#a2e219801b3a6c451c4aca63ad99b6374a1ee5d68a37246b49b542d4e7a35129a5", null ], + [ "ifBroadcast", "class_p_i_ethernet.html#a2e219801b3a6c451c4aca63ad99b6374a968abc4436cda4f3a7d6f9d5b73a5161", null ], + [ "ifMulticast", "class_p_i_ethernet.html#a2e219801b3a6c451c4aca63ad99b6374a221bac530c63ca6256286ae46d4cf2da", null ], + [ "ifLoopback", "class_p_i_ethernet.html#a2e219801b3a6c451c4aca63ad99b6374ae5762f8e14d0d44e59d98d40a5e61d47", null ], + [ "ifPTP", "class_p_i_ethernet.html#a2e219801b3a6c451c4aca63ad99b6374a57217604fea835e4aaec5ad6f16101a5", null ] + ] ], + [ "PIEthernet", "class_p_i_ethernet.html#a6a5a47b716613af3c224d1a6909f0751", null ], + [ "PIEthernet", "class_p_i_ethernet.html#aa47c8e516e88c2cb479bd62934bf2660", null ], + [ "setReadAddress", "class_p_i_ethernet.html#a4da57633bb41886a07a0a01139022ce9", null ], + [ "setReadAddress", "class_p_i_ethernet.html#a76652ae5f391e8957c864be224d46937", null ], + [ "setReadIP", "class_p_i_ethernet.html#a281ffec154f8a604da5f8e8494740b63", null ], + [ "setReadPort", "class_p_i_ethernet.html#a13f17f1b0022b15d05879c0228bd4bba", null ], + [ "setSendAddress", "class_p_i_ethernet.html#afa66a8ec37d66b17e0d1cf52dc3f9f00", null ], + [ "setSendAddress", "class_p_i_ethernet.html#aa2f490fa2749860c2d8c58dd691e4663", null ], + [ "setSendIP", "class_p_i_ethernet.html#a5f90001f1f3b49da411421fc15256a5c", null ], + [ "setSendPort", "class_p_i_ethernet.html#a0866eb6385dda7b6988b29fedc45fc48", null ], + [ "readAddress", "class_p_i_ethernet.html#a53052c78cb24aca1e1a65d8c14e1dd7c", null ], + [ "readIP", "class_p_i_ethernet.html#aa04de0ef1cab98a7bc80cc43ca550f18", null ], + [ "readPort", "class_p_i_ethernet.html#ac93db4b6831c0304955c74c666d716f4", null ], + [ "sendAddress", "class_p_i_ethernet.html#a9f1c3496e88242f1637666a9a0ac9c86", null ], + [ "sendIP", "class_p_i_ethernet.html#aaa134cd7aecf18f151a09c497b19e0fa", null ], + [ "sendPort", "class_p_i_ethernet.html#a428a2e1cdf265f4b363240b4f8f40183", null ], + [ "setParameters", "class_p_i_ethernet.html#aa2edcd2272537c2250b4542c09e7f5d2", null ], + [ "setParameter", "class_p_i_ethernet.html#a158851a3cde91615d8feaac4edb805fb", null ], + [ "isParameterSet", "class_p_i_ethernet.html#a2131c00ba019a17cbf68c2b90fc8ec0f", null ], + [ "parameters", "class_p_i_ethernet.html#a69d52300d09db298d90ebcf02b1006d9", null ], + [ "type", "class_p_i_ethernet.html#af42a7ca0266f28bc9a389aca1618f43f", null ], + [ "readTimeout", "class_p_i_ethernet.html#a6e2bd7559bfb46784bda61f88ad055b4", null ], + [ "writeTimeout", "class_p_i_ethernet.html#a377813eb8c2b6c223a543ce8a001ef99", null ], + [ "setReadTimeout", "class_p_i_ethernet.html#a414c18f256488c471093178137526776", null ], + [ "setWriteTimeout", "class_p_i_ethernet.html#ae15ac03c2fdcab779650759b932c4660", null ], + [ "joinMulticastGroup", "class_p_i_ethernet.html#a99df6e4eccbecb0b704678b8df273dec", null ], + [ "leaveMulticastGroup", "class_p_i_ethernet.html#ac0213b620b1b79ee14dd6756bb11175c", null ], + [ "multicastGroups", "class_p_i_ethernet.html#aa7091f6fbba9f955eaba767e5a254f2e", null ], + [ "connect", "class_p_i_ethernet.html#ac09a74cc735c5e80e79b3f771a2a289c", null ], + [ "connect", "class_p_i_ethernet.html#a59b3f77ff2b8d62dacd6366a4d0879d3", null ], + [ "connect", "class_p_i_ethernet.html#a262d31ac59d8a3539899be651a6e56e7", null ], + [ "isConnected", "class_p_i_ethernet.html#a6917b5530a9b4daa4030e49892db3887", null ], + [ "listen", "class_p_i_ethernet.html#a8b756229579e309044186b776989db16", null ], + [ "listen", "class_p_i_ethernet.html#ac01db2157f9518237e915fabb360e40c", null ], + [ "listen", "class_p_i_ethernet.html#a606a5cac3eca4126a5fd6ad2f29763ab", null ], + [ "send", "class_p_i_ethernet.html#af01b2a4c78bce376ba6cfcf4dd2907c1", null ], + [ "send", "class_p_i_ethernet.html#ae8c88ae9984347a23e2d5743dec5739e", null ], + [ "send", "class_p_i_ethernet.html#a77b555fc82243b3e998cf2b008008f0f", null ], + [ "send", "class_p_i_ethernet.html#a8b42711033d1c21ea978b4c3deed0962", null ], + [ "read", "class_p_i_ethernet.html#a28595d8f88cdedf9e5572068ab116fa8", null ], + [ "write", "class_p_i_ethernet.html#a06c2ca73668cbdefc9fad4749b465ff0", null ], + [ "write", "class_p_i_ethernet.html#a9dbe618372c2ad3f5a5e02b638b2aaf1", null ], + [ "constructFullPath", "class_p_i_ethernet.html#ac4bac35deda7848e7c16e770c64b08ee", null ], + [ "newConnection", "class_p_i_ethernet.html#aae2f98a5e99d82d5520e352bb2c87a76", null ], + [ "connected", "class_p_i_ethernet.html#a80df2b0b931858d93065fa32e1682bc7", null ], + [ "disconnected", "class_p_i_ethernet.html#a0e7319514519c950760c760f605f330f", null ], + [ "propertyChanged", "class_p_i_ethernet.html#aeab32d357e600e3428a3c40db782df1e", null ], + [ "fullPathPrefix", "class_p_i_ethernet.html#ae80b62a0c52c5e0985e4fa3f39aadfea", null ], + [ "configureFromFullPath", "class_p_i_ethernet.html#a884e1f63790d644916fb54da4603ba2d", null ], + [ "configureDevice", "class_p_i_ethernet.html#af6a952895c0e75d5420b5671c929721a", null ], + [ "received", "class_p_i_ethernet.html#a2adc07e00ede7ca18bfa93e94290a9f9", null ], + [ "init", "class_p_i_ethernet.html#a9c9a8d104603bcb93b7b5f096b3105bb", null ], + [ "openDevice", "class_p_i_ethernet.html#a6168aeef5b82bb0f8befa17366f1b116", null ], + [ "closeDevice", "class_p_i_ethernet.html#a5229b3d4d175a6144a189a7204e02204", null ], + [ "ip", "class_p_i_ethernet.html#ae49bc185dedf39646ea445fd57e21283", null ], + [ "port", "class_p_i_ethernet.html#ad6b354929e62f909918d73633ea49135", null ], + [ "broadcast", "class_p_i_ethernet.html#abd3b6f9ba04b899316f8bd7067ec03e7", null ], + [ "reuseAddress", "class_p_i_ethernet.html#a079e3664394cae2bd1a7981bbfd580ee", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_ethernet_1_1_interface_list-members.html b/doc/html/class_p_i_ethernet_1_1_interface_list-members.html new file mode 100644 index 00000000..fcac3f0f --- /dev/null +++ b/doc/html/class_p_i_ethernet_1_1_interface_list-members.html @@ -0,0 +1,159 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIEthernet::InterfaceList Member List
+
+
+ +

This is the complete list of members for PIEthernet::InterfaceList, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
back()PIVector< PIEthernet::Interface >inline
back() constPIVector< PIEthernet::Interface >inline
clear()PIVector< PIEthernet::Interface >inline
compare_func(const PIEthernet::Interface *t0, const PIEthernet::Interface *t1)PIVector< PIEthernet::Interface >inlinestatic
contains(const PIEthernet::Interface &v) constPIVector< PIEthernet::Interface >inline
enlarge(llong piv_size)PIVector< PIEthernet::Interface >inline
etries(const PIEthernet::Interface &v) constPIVector< PIEthernet::Interface >inline
fill(const PIEthernet::Interface &f=PIEthernet::Interface())PIVector< PIEthernet::Interface >inline
front()PIVector< PIEthernet::Interface >inline
front() constPIVector< PIEthernet::Interface >inline
getByAddress(const PIString &address) const PIEthernet::InterfaceListinline
getByIndex(int index) const PIEthernet::InterfaceListinline
getByName(const PIString &name) const PIEthernet::InterfaceListinline
getLoopback() const PIEthernet::InterfaceListinline
isEmpty() constPIVector< PIEthernet::Interface >inline
operator!=(const PIVector< PIEthernet::Interface > &t) constPIVector< PIEthernet::Interface >inline
operator<<(const PIVector< PIEthernet::Interface > &other)PIVector< PIEthernet::Interface >inline
operator==(const PIVector< PIEthernet::Interface > &t) constPIVector< PIEthernet::Interface >inline
PIVector()PIVector< PIEthernet::Interface >inline
pop_back()PIVector< PIEthernet::Interface >inline
pop_front()PIVector< PIEthernet::Interface >inline
push_back(const PIEthernet::Interface &v)PIVector< PIEthernet::Interface >inline
push_front(const PIEthernet::Interface &v)PIVector< PIEthernet::Interface >inline
remove(size_t index, size_t count=1)PIVector< PIEthernet::Interface >inline
removeAll(const PIEthernet::Interface &v)PIVector< PIEthernet::Interface >inline
removeOne(const PIEthernet::Interface &v)PIVector< PIEthernet::Interface >inline
resize(size_t new_size, const PIEthernet::Interface &f=PIEthernet::Interface())PIVector< PIEthernet::Interface >inline
size() constPIVector< PIEthernet::Interface >inline
size_s() constPIVector< PIEthernet::Interface >inline
sort(CompareFunc compare=compare_func)PIVector< PIEthernet::Interface >inline
take_back()PIVector< PIEthernet::Interface >inline
take_front()PIVector< PIEthernet::Interface >inline
+
+ + + + diff --git a/doc/html/class_p_i_ethernet_1_1_interface_list.html b/doc/html/class_p_i_ethernet_1_1_interface_list.html new file mode 100644 index 00000000..ea6cf09e --- /dev/null +++ b/doc/html/class_p_i_ethernet_1_1_interface_list.html @@ -0,0 +1,161 @@ + + + + + + +PIP: PIEthernet::InterfaceList Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIEthernet::InterfaceList Class Reference
+
+
+ +

Array of Interface with some features. + More...

+
+ + Inheritance diagram for PIEthernet::InterfaceList:
+
+
+ + + + + + + + + + + + + + + +

+Public Member Functions

+const InterfacegetByIndex (int index) const
 Get interface with system index "index" or 0 if there is no one.
 
+const InterfacegetByName (const PIString &name) const
 Get interface with system name "name" or 0 if there is no one.
 
+const InterfacegetByAddress (const PIString &address) const
 Get interface with IP address "address" or 0 if there is no one.
 
+const InterfacegetLoopback () const
 Get loopback interface or 0 if there is no one.
 
+

Detailed Description

+

Array of Interface with some features.

+
+
+ + + + diff --git a/doc/html/class_p_i_ethernet_1_1_interface_list.js b/doc/html/class_p_i_ethernet_1_1_interface_list.js new file mode 100644 index 00000000..41ccf283 --- /dev/null +++ b/doc/html/class_p_i_ethernet_1_1_interface_list.js @@ -0,0 +1,7 @@ +var class_p_i_ethernet_1_1_interface_list = +[ + [ "getByIndex", "class_p_i_ethernet_1_1_interface_list.html#a2b206fa34041a17fd220dedb8f7f5b23", null ], + [ "getByName", "class_p_i_ethernet_1_1_interface_list.html#a370ca35bd198f7b5299a8a397648ee98", null ], + [ "getByAddress", "class_p_i_ethernet_1_1_interface_list.html#a310d9bbcbce604c11e3c3a016f1e449d", null ], + [ "getLoopback", "class_p_i_ethernet_1_1_interface_list.html#aa7d664f29056fba64f8e58f547c739f0", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_ethernet_1_1_interface_list__inherit__graph.map b/doc/html/class_p_i_ethernet_1_1_interface_list__inherit__graph.map new file mode 100644 index 00000000..fdae41c5 --- /dev/null +++ b/doc/html/class_p_i_ethernet_1_1_interface_list__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/class_p_i_ethernet_1_1_interface_list__inherit__graph.md5 b/doc/html/class_p_i_ethernet_1_1_interface_list__inherit__graph.md5 new file mode 100644 index 00000000..dde396d9 --- /dev/null +++ b/doc/html/class_p_i_ethernet_1_1_interface_list__inherit__graph.md5 @@ -0,0 +1 @@ +c62d3f4ecc47b4ce2ac9e4e77f00b771 \ No newline at end of file diff --git a/doc/html/class_p_i_ethernet_1_1_interface_list__inherit__graph.svg b/doc/html/class_p_i_ethernet_1_1_interface_list__inherit__graph.svg new file mode 100644 index 00000000..6d0f3c47 --- /dev/null +++ b/doc/html/class_p_i_ethernet_1_1_interface_list__inherit__graph.svg @@ -0,0 +1,32 @@ + + + + + + +PIEthernet::InterfaceList + + +Node1 + +PIEthernet::InterfaceList + + +Node2 + + +PIVector< PIEthernet +::Interface > + + + + +Node2->Node1 + + + + + diff --git a/doc/html/class_p_i_ethernet__inherit__graph.map b/doc/html/class_p_i_ethernet__inherit__graph.map new file mode 100644 index 00000000..cfd36b80 --- /dev/null +++ b/doc/html/class_p_i_ethernet__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doc/html/class_p_i_ethernet__inherit__graph.md5 b/doc/html/class_p_i_ethernet__inherit__graph.md5 new file mode 100644 index 00000000..647f4149 --- /dev/null +++ b/doc/html/class_p_i_ethernet__inherit__graph.md5 @@ -0,0 +1 @@ +d6973a100e3a536bb39f655ef2739b0d \ No newline at end of file diff --git a/doc/html/class_p_i_ethernet__inherit__graph.svg b/doc/html/class_p_i_ethernet__inherit__graph.svg new file mode 100644 index 00000000..caab32e1 --- /dev/null +++ b/doc/html/class_p_i_ethernet__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +PIEthernet + + +Node1 + +PIEthernet + + +Node2 + + +PIIODevice + + + + +Node2->Node1 + + + + +Node3 + + +PIThread + + + + +Node3->Node2 + + + + +Node4 + + +PIObject + + + + +Node4->Node3 + + + + + diff --git a/doc/html/class_p_i_evaluator-members.html b/doc/html/class_p_i_evaluator-members.html new file mode 100644 index 00000000..8159fd9b --- /dev/null +++ b/doc/html/class_p_i_evaluator-members.html @@ -0,0 +1,142 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIEvaluator Member List
+
+
+ +

This is the complete list of members for PIEvaluator, including all inherited members.

+ + + + + + + + + + + + + + + + +
check(const PIString &string)PIEvaluator
clearCustomVariables()PIEvaluatorinline
data()PIEvaluatorinline
error() const PIEvaluatorinline
evaluate()PIEvaluator
expression() const PIEvaluatorinline
isCorrect() const PIEvaluatorinline
lastResult() const PIEvaluatorinline
PIEvaluator()PIEvaluatorinline
removeVariable(const PIString &name)PIEvaluatorinline
setData(void *_data)PIEvaluatorinline
setVariable(const PIString &name, complexd value=0.)PIEvaluatorinline
setVariable(int index, complexd value=0.)PIEvaluatorinline
unknownVariables() const PIEvaluatorinline
variableIndex(const PIString &name) const PIEvaluatorinline
+
+ + + + diff --git a/doc/html/class_p_i_evaluator.html b/doc/html/class_p_i_evaluator.html new file mode 100644 index 00000000..3d5d1161 --- /dev/null +++ b/doc/html/class_p_i_evaluator.html @@ -0,0 +1,299 @@ + + + + + + +PIP: PIEvaluator Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIEvaluator Class Reference
+
+
+ +

This class provide mathematical evaluations of custom expression. + More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIEvaluator ()
 Constructs an empty evaluator.
 
+void * data ()
 Returns custom data.
 
+void setData (void *_data)
 Set custom data to "_data".
 
+bool check (const PIString &string)
 Check mathematical expression and parse it to list of instructions.
 
+bool isCorrect () const
 Returns true if expression was checked succesfully.
 
+int setVariable (const PIString &name, complexd value=0.)
 Set variable value with name "name" to value "value". Add variable if it doesn`t exists.
 
+void setVariable (int index, complexd value=0.)
 Set variable value with index "index" to value "value". Dont add variable if it doesnt exists.
 
+complexd evaluate ()
 Evaluate last successfully checked with function check() expression and returns result.
 
+void removeVariable (const PIString &name)
 Remove variable with name "name".
 
+void clearCustomVariables ()
 Remove all manually added variables.
 
+int variableIndex (const PIString &name) const
 Returns index of variable with name "name".
 
+const PIStringListunknownVariables () const
 Returns all unknown variables founded in last expression passed to check() function.
 
+const PIStringexpression () const
 Returns processed last expression passed to check() function.
 
+const PIStringerror () const
 Returns last error description occured in check() function.
 
+const complexd & lastResult () const
 Returns last result of evaluate()
 
+

Detailed Description

+

This class provide mathematical evaluations of custom expression.

+

+Synopsis

+

PIEvaluator developed for stream evaluations of once set expression. It`s create internal list of instructions on function check() and executes very fast on function evaluate(). Once given expression can be evaluated any times with different variable values. Evaluator supports many common mathematic functions described below. Also it`s automatic puts unnecessarily signs and bracets. Processed expression can be obtains with function expression(). If there is an error in expression you can get it with function error(). Last evaluated result you can get with function lastResult().

+

+Using

+

First you should set your variables with function setVariable(). Next give your expression with function check() and check for error with functions isCorrect() and error(). If expression is correct you can get processed expression with function expression() and evaluate it with function evaluate(). You can change variable values without rechecking expression.

+

+Functions

+

PIEvaluator supports arithmetical operations with complex numbers, this is their list in priority order:

    +
  • ^ (power)
  • +
  • * (multiply)
  • +
  • / (divide)
  • +
  • % (residue)
  • +
  • + (add)
  • +
  • - (subtract)
  • +
+

In addition there are compare and logical operations:

    +
  • == (equal)
  • +
  • != (not equal)
  • +
  • > (greater)
  • +
  • < (smaller)
  • +
  • >= (greater or equal)
  • +
  • <= (smaller or equal)
  • +
  • && (and)
  • +
  • || (or)
  • +
+

Compare and logical functions works with real operators part and returns 0 or 1.

+

Mathematical functions:

    +
  • sin(x) - sine
  • +
  • cos(x) - cosine
  • +
  • tg(x) - tangent
  • +
  • ctg(x) - cotangent
  • +
  • arcsin(x) - arcsine
  • +
  • arccos(x) - arccosine
  • +
  • arctg(x) -arccotangent
  • +
  • arcctg(x) - arctangent
  • +
  • sh(x) - hyperbolical sine
  • +
  • ch(x) - hyperbolical cosine
  • +
  • th(x) - hyperbolical tangent
  • +
  • cth(x) - hyperbolical cotangent
  • +
  • sqr(x) - square
  • +
  • sqrt(x) - square root
  • +
  • abs(x) - absolute value
  • +
  • sign(x) - sign of real part (-1 or 1)
  • +
  • exp(x) - exponent
  • +
  • pow(x, p) - x in power p
  • +
  • ln(x) - natural logarithm
  • +
  • lg(x) - decimal logarithm
  • +
  • log(x, b) - logarithm of x with base b
  • +
  • im(x) - imaginary part of complex number
  • +
  • re(x) - real part of complex number
  • +
  • arg(x) - argument of complex number
  • +
  • len(x) - length of complex number
  • +
  • conj(x) - length of complex number
  • +
  • rad(x) - convert degrees to radians
  • +
  • deg(x) - convert radians to degrees
  • +
  • j0(x) - Bessel function first kind order 0
  • +
  • j1(x) - Bessel function first kind order 1
  • +
  • jn(x, n) - Bessel function first kind order n
  • +
  • y0(x) - Bessel function second kind order 0
  • +
  • y1(x) - Bessel function second kind order 1
  • +
  • yn(x, n) - Bessel function second kind order n
  • +
  • random(s, f) - regular random number in range [s, f]
  • +
  • min(x0, x1, ...) - minimum of x0, x1, ...
  • +
  • max(x0, x1, ...) - maximum of x0, x1, ...
  • +
  • clamp(x, a, b) - trim x on range [a, b]
  • +
  • step(x, s) - 0 if x < s, else 1
  • +
  • mix(x, a, b) - interpolate between a and b linear for x (a * (1 - x) + b * x)
  • +
+

There are some built-in constans:

    +
  • i (imaginary 1)
  • +
  • e
  • +
  • pi
  • +
+

All trigonometric functions takes angle in radians.

+

+Example

+
+
+
eval.check("e2eelge");
+
+
piCout << eval.expression() << "=" << eval.evaluate();
+
// e*2*e*e*lg(e) = (17.4461; 0)
+
+
eval.check("10x");
+
+
piCout << eval.error() << eval.unknownVariables();
+
// Unknown variables: "x" {"x"}
+
+
eval.setVariable("x", complexd(1, 2));
+
eval.check("10x");
+
+
piCout << eval.error() << eval.unknownVariables();
+
// Correct {}
+
+
piCout << eval.expression() << "=" << eval.evaluate();
+
// 10*x = (10; 20)
+
+
eval.setVariable("x", complexd(-2, 0));
+
+
piCout << eval.expression() << "=" << eval.evaluate();
+
// 10*x = (-20; 0)
+
+
+ + + + diff --git a/doc/html/class_p_i_evaluator.js b/doc/html/class_p_i_evaluator.js new file mode 100644 index 00000000..887bd20a --- /dev/null +++ b/doc/html/class_p_i_evaluator.js @@ -0,0 +1,18 @@ +var class_p_i_evaluator = +[ + [ "PIEvaluator", "class_p_i_evaluator.html#a4fe9e776a1db6cc5b55665304764cf20", null ], + [ "data", "class_p_i_evaluator.html#ac5d8118fce80c08a8ae3ad2215625839", null ], + [ "setData", "class_p_i_evaluator.html#a56921d7e9aac1543eeee4d52b220f8ac", null ], + [ "check", "class_p_i_evaluator.html#a1eae7848dc5d9d740a18acf4538ec34f", null ], + [ "isCorrect", "class_p_i_evaluator.html#ac9a77afecf7a5ca245c920a491f4386f", null ], + [ "setVariable", "class_p_i_evaluator.html#a066713e986ccf0abbdffc1dd4ab8a487", null ], + [ "setVariable", "class_p_i_evaluator.html#ad83802b50958b28193a523144b7e8d55", null ], + [ "evaluate", "class_p_i_evaluator.html#abc6012ab974a16f99b08cc2773142b79", null ], + [ "removeVariable", "class_p_i_evaluator.html#a10a2ad62c7636b8c343ca0a60afcb9d0", null ], + [ "clearCustomVariables", "class_p_i_evaluator.html#aa96ba5c4174592341d65eaebffd7fece", null ], + [ "variableIndex", "class_p_i_evaluator.html#ac20bb44234749ce227df1b95fcc319ae", null ], + [ "unknownVariables", "class_p_i_evaluator.html#a7d1a1ce4eea722fde90e487f397cd25c", null ], + [ "expression", "class_p_i_evaluator.html#ac9a0a4fd65af2518d8efdaa9c5298991", null ], + [ "error", "class_p_i_evaluator.html#ac3e87ff15b4b04240b133affaf09e72b", null ], + [ "lastResult", "class_p_i_evaluator.html#a50b2b35e52268072b8b2080f9dcf1d2c", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_file-members.html b/doc/html/class_p_i_file-members.html new file mode 100644 index 00000000..afd36d54 --- /dev/null +++ b/doc/html/class_p_i_file-members.html @@ -0,0 +1,221 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIFile Member List
+
+
+ +

This is the complete list of members for PIFile, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
className() const PIObjectinlinevirtual
closeDevice()PIFileprotectedvirtual
configureDevice(const void *e_main, const void *e_parent=0)PIIODeviceinlineprotectedvirtual
configureFromFullPath(const PIString &full_path)PIFileprotectedvirtual
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
data() const PIThreadinline
debug() const PIObjectinline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprotected
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
findByName(const PIString &name)PIObjectinlinestatic
fullPathPrefix() const PIFileinlineprotectedvirtual
HANDLERPIObjectrelated
init()PIIODeviceinlineprotectedvirtual
isPropertyExists(const PIString &name) const PIObjectinline
isRunning() const PIThreadinline
lock()PIThreadinline
mutex()PIThreadinline
name() const PIObjectinline
needLockRun(bool need)PIThreadinline
openDevice()PIFileprotectedvirtual
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
piHigh enum valuePIThread
piHighest enum valuePIThread
PIIODEVICEPIIODevicerelated
piLow enum valuePIThread
piLowerst enum valuePIThread
piNormal enum valuePIThread
PIObject(const PIString &name=PIString())PIObject
PIOBJECTPIObjectrelated
PIOBJECT_PARENTPIObjectrelated
PIThread(void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)PIThread
PIThread(bool startNow=false, int loop_delay=-1)PIThread
priority() const PIThreadinline
Priority enum namePIThread
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIObjectinlineprotectedvirtual
readDeviceSetting(const PIString &name, const T &def, const PIConfig::Entry *em, const PIConfig::Entry *ep)PIIODevicerelated
REGISTER_DEVICEPIIODevicerelated
setData(void *d)PIThreadinline
setDebug(bool debug)PIObjectinline
setName(const PIString &name)PIObjectinline
setPriority(PIThread::Priority prior)PIThread
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
setSlot(ThreadFunc func)PIThreadinline
PIThread::start(int timer_delay)PIThread
PIThread::start(ThreadFunc func, int timer_delay)PIThreadinline
started()PIThread
startOnce()PIThread
startOnce(ThreadFunc func)PIThreadinline
stopped()PIThread
superClassName() const PIObjectinlinevirtual
threadedRead(uchar *readed, int size)PIIODeviceinlineprotectedvirtual
unlock()PIThreadinline
waitForFinish(int timeout_msecs)PIThread
waitForStart(int timeout_msecs)PIThread
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
+
+ + + + diff --git a/doc/html/class_p_i_file.html b/doc/html/class_p_i_file.html new file mode 100644 index 00000000..16a140fc --- /dev/null +++ b/doc/html/class_p_i_file.html @@ -0,0 +1,526 @@ + + + + + + +PIP: PIFile Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIFile Class Reference
+
+
+ +

Local file. + More...

+
+ + Inheritance diagram for PIFile:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+PIString fullPathPrefix () const
 Reimplement to construct full unambiguous string prefix. Creating devices by unambiguous string.
 
+void configureFromFullPath (const PIString &full_path)
 Reimplement to configure your device with parameters of full unambiguous string. Default implementation does nothing.
 
+bool openDevice ()
 Reimplement to open device, return value will be set to "opened_" variable.
 
+bool closeDevice ()
 Reimplement to close device, inverse return value will be set to "opened_" variable.
 
- Protected Member Functions inherited from PIIODevice
+virtual bool init ()
 Function executed before first openDevice() or from constructor.
 
+virtual bool configureDevice (const void *e_main, const void *e_parent=0)
 Reimplement to configure device from entries "e_main" and "e_parent", cast arguments to PIConfig::Entry*.
 
+virtual bool threadedRead (uchar *readed, int size)
 Function executed when thread read some data, default implementation execute external slot "ret_func_".
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from PIThread
enum  Priority {
+  piLowerst, +piLow, +piNormal, +piHigh, +
+  piHighest +
+ }
 Priority of thread. More...
 
- Public Member Functions inherited from PIThread
PIThread (void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)
 Contructs thread with custom data "data", external function "func" and main loop delay "loop_delay".
 
PIThread (bool startNow=false, int loop_delay=-1)
 Contructs thread with main loop delay "loop_delay".
 
+void setData (void *d)
 Set common data passed to external function.
 
+void setSlot (ThreadFunc func)
 Set external function that will be executed after every run()
 
+void setPriority (PIThread::Priority prior)
 Set priority of thread.
 
+void * data () const
 Returns common data passed to external function.
 
+PIThread::Priority priority () const
 Return priority of thread.
 
+bool isRunning () const
 Return true if thread is running.
 
+void needLockRun (bool need)
 Set necessity of lock every run with internal mutex.
 
+PIMutexmutex ()
 Return internal mutex.
 
bool start (int timer_delay)
 Start thread. More...
 
bool start (ThreadFunc func, int timer_delay)
 Start thread. More...
 
bool startOnce ()
 Start thread without internal loop. More...
 
bool startOnce (ThreadFunc func)
 Start thread without internal loop. More...
 
void stop (bool wait)
 Stop thread. More...
 
void terminate ()
 Strongly stop thread. More...
 
bool waitForStart (int timeout_msecs)
 Wait for thread start. More...
 
bool waitForFinish (int timeout_msecs)
 Wait for thread finish. More...
 
+void lock ()
 Lock internal mutex.
 
+void unlock ()
 Unlock internal mutex.
 
+void started ()
 Raise on thread start.
 
+void stopped ()
 Raise on thread stop.
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
+

Detailed Description

+

Local file.

+

+Synopsis

+

This class provide access to local file. You can manipulate binary content or use this class as text stream. To binary access there are function read(), write(), and many writeBinary() functions. For write variables to file in their text representation threr are many "<<" operators.

+

+Position

+

Each opened file has a read/write position - logical position in the file content you read from or you write to. You can find out current position with function pos(). Function seek(llong position) move position to position "position", seekToBegin() move position to the begin of file, seekToEnd() move position to the end of file.

+
+
+ + + + diff --git a/doc/html/class_p_i_file.js b/doc/html/class_p_i_file.js new file mode 100644 index 00000000..265478da --- /dev/null +++ b/doc/html/class_p_i_file.js @@ -0,0 +1,7 @@ +var class_p_i_file = +[ + [ "fullPathPrefix", "class_p_i_file.html#a68c53a59d5afef2a7c363f987b1a5e1a", null ], + [ "configureFromFullPath", "class_p_i_file.html#a8f98ce9e7a6896b7c1dd0ca49a8eb49a", null ], + [ "openDevice", "class_p_i_file.html#aeb972f021b5ef835566764f8bb000976", null ], + [ "closeDevice", "class_p_i_file.html#ad3d944f75bbda0f14f2d9549d92ca614", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_file__inherit__graph.map b/doc/html/class_p_i_file__inherit__graph.map new file mode 100644 index 00000000..05ca8917 --- /dev/null +++ b/doc/html/class_p_i_file__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/doc/html/class_p_i_file__inherit__graph.md5 b/doc/html/class_p_i_file__inherit__graph.md5 new file mode 100644 index 00000000..19f4ca7f --- /dev/null +++ b/doc/html/class_p_i_file__inherit__graph.md5 @@ -0,0 +1 @@ +6c5612232cfc6995ecd599ca417f588c \ No newline at end of file diff --git a/doc/html/class_p_i_file__inherit__graph.svg b/doc/html/class_p_i_file__inherit__graph.svg new file mode 100644 index 00000000..fe7a0be5 --- /dev/null +++ b/doc/html/class_p_i_file__inherit__graph.svg @@ -0,0 +1,70 @@ + + + + + + +PIFile + + +Node1 + +PIFile + + +Node5 + + +PIConfig + + + + +Node1->Node5 + + + + +Node2 + + +PIIODevice + + + + +Node2->Node1 + + + + +Node3 + + +PIThread + + + + +Node3->Node2 + + + + +Node4 + + +PIObject + + + + +Node4->Node3 + + + + + diff --git a/doc/html/class_p_i_flags-members.html b/doc/html/class_p_i_flags-members.html new file mode 100644 index 00000000..103e430d --- /dev/null +++ b/doc/html/class_p_i_flags-members.html @@ -0,0 +1,175 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIFlags< Enum > Member List
+
+
+ +

This is the complete list of members for PIFlags< Enum >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
operator int() const PIFlags< Enum >inline
operator!=(const PIFlags &f)PIFlags< Enum >inline
operator!=(const Enum &e)PIFlags< Enum >inline
operator!=(const int i)PIFlags< Enum >inline
operator&(PIFlags f) const PIFlags< Enum >inline
operator&(Enum e) const PIFlags< Enum >inline
operator&(int i) const PIFlags< Enum >inline
operator&=(const PIFlags &f)PIFlags< Enum >inline
operator&=(const Enum &e)PIFlags< Enum >inline
operator&=(const int i)PIFlags< Enum >inline
operator<(const PIFlags &f)PIFlags< Enum >inline
operator<(const Enum &e)PIFlags< Enum >inline
operator<(const int i)PIFlags< Enum >inline
operator<=(const PIFlags &f)PIFlags< Enum >inline
operator<=(const Enum &e)PIFlags< Enum >inline
operator<=(const int i)PIFlags< Enum >inline
operator=(const PIFlags &f)PIFlags< Enum >inline
operator=(const Enum &e)PIFlags< Enum >inline
operator=(const int &i)PIFlags< Enum >inline
operator==(const PIFlags &f)PIFlags< Enum >inline
operator==(const Enum &e)PIFlags< Enum >inline
operator==(const int i)PIFlags< Enum >inline
operator>(const PIFlags &f)PIFlags< Enum >inline
operator>(const Enum &e)PIFlags< Enum >inline
operator>(const int i)PIFlags< Enum >inline
operator>=(const PIFlags &f)PIFlags< Enum >inline
operator>=(const Enum &e)PIFlags< Enum >inline
operator>=(const int i)PIFlags< Enum >inline
operator[](Enum e) const PIFlags< Enum >inline
operator^(PIFlags f) const PIFlags< Enum >inline
operator^(Enum e) const PIFlags< Enum >inline
operator^(int i) const PIFlags< Enum >inline
operator^=(const PIFlags &f)PIFlags< Enum >inline
operator^=(const Enum &e)PIFlags< Enum >inline
operator^=(const int i)PIFlags< Enum >inline
operator|(PIFlags f) const PIFlags< Enum >inline
operator|(Enum e) const PIFlags< Enum >inline
operator|(int i) const PIFlags< Enum >inline
operator|=(const PIFlags &f)PIFlags< Enum >inline
operator|=(const Enum &e)PIFlags< Enum >inline
operator|=(const int i)PIFlags< Enum >inline
PIFlags()PIFlags< Enum >inline
PIFlags(Enum e)PIFlags< Enum >inline
PIFlags(const PIFlags &f)PIFlags< Enum >inline
PIFlags(const int i)PIFlags< Enum >inline
setFlag(const PIFlags &f, bool on=true)PIFlags< Enum >inline
setFlag(const Enum &e, bool on=true)PIFlags< Enum >inline
setFlag(const int &i, bool on=true)PIFlags< Enum >inline
+
+ + + + diff --git a/doc/html/class_p_i_flags.html b/doc/html/class_p_i_flags.html new file mode 100644 index 00000000..d530310b --- /dev/null +++ b/doc/html/class_p_i_flags.html @@ -0,0 +1,338 @@ + + + + + + +PIP: PIFlags< Enum > Class Template Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIFlags< Enum > Class Template Reference
+
+
+ +

This class used as container for bit flags. + More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIFlags ()
 Constructor with flags = 0.
 
PIFlags (Enum e)
 Constructor with flags = Enum "e".
 
PIFlags (const PIFlags &f)
 Constructor with flags = PIFlags "f".
 
PIFlags (const int i)
 Constructor with flags = int "i".
 
+PIFlagssetFlag (const PIFlags &f, bool on=true)
 Set flags "f" to value "on".
 
+PIFlagssetFlag (const Enum &e, bool on=true)
 Set flag "e" to value "on".
 
+PIFlagssetFlag (const int &i, bool on=true)
 Set flag "i" to value "on".
 
+void operator= (const PIFlags &f)
 copy operator
 
+void operator= (const Enum &e)
 copy operator
 
+void operator= (const int &i)
 copy operator
 
+bool operator== (const PIFlags &f)
 compare operator
 
+bool operator== (const Enum &e)
 compare operator
 
+bool operator== (const int i)
 compare operator
 
+bool operator!= (const PIFlags &f)
 compare operator
 
+bool operator!= (const Enum &e)
 compare operator
 
+bool operator!= (const int i)
 compare operator
 
+bool operator> (const PIFlags &f)
 compare operator
 
+bool operator> (const Enum &e)
 compare operator
 
+bool operator> (const int i)
 compare operator
 
+bool operator< (const PIFlags &f)
 compare operator
 
+bool operator< (const Enum &e)
 compare operator
 
+bool operator< (const int i)
 compare operator
 
+bool operator>= (const PIFlags &f)
 compare operator
 
+bool operator>= (const Enum &e)
 compare operator
 
+bool operator>= (const int i)
 compare operator
 
+bool operator<= (const PIFlags &f)
 compare operator
 
+bool operator<= (const Enum &e)
 compare operator
 
+bool operator<= (const int i)
 compare operator
 
+void operator&= (const PIFlags &f)
 Bit-wise AND operator.
 
+void operator&= (const Enum &e)
 Bit-wise AND operator.
 
+void operator&= (const int i)
 Bit-wise AND operator.
 
+void operator|= (const PIFlags &f)
 Bit-wise OR operator.
 
+void operator|= (const Enum &e)
 Bit-wise OR operator.
 
+void operator|= (const int i)
 Bit-wise OR operator.
 
+void operator^= (const PIFlags &f)
 Bit-wise XOR operator.
 
+void operator^= (const Enum &e)
 Bit-wise XOR operator.
 
+void operator^= (const int i)
 Bit-wise XOR operator.
 
+PIFlags operator& (PIFlags f) const
 Bit-wise AND operator.
 
+PIFlags operator& (Enum e) const
 Bit-wise AND operator.
 
+PIFlags operator& (int i) const
 Bit-wise AND operator.
 
+PIFlags operator| (PIFlags f) const
 Bit-wise OR operator.
 
+PIFlags operator| (Enum e) const
 Bit-wise OR operator.
 
+PIFlags operator| (int i) const
 Bit-wise OR operator.
 
+PIFlags operator^ (PIFlags f) const
 Bit-wise XOR operator.
 
+PIFlags operator^ (Enum e) const
 Bit-wise XOR operator.
 
+PIFlags operator^ (int i) const
 Bit-wise XOR operator.
 
+bool operator[] (Enum e) const
 Test flag operator.
 
operator int () const
 Implicity conversion to int.
 
+

Detailed Description

+

template<typename Enum>
+class PIFlags< Enum >

+ +

This class used as container for bit flags.

+

PIFlags is wrapper around "int". There are many bit-wise operators, native conversion to int and function to test flag.
+ Example:

enum TestEnum {First = 0x1, Second = 0x2, Third = 0x4};
+
PIFlags<TestEnum> testFlags(First);
+
testFlags |= Third;
+
piCout << testFlags[First] << testFlags[Second] << testFlags[Third]; // 1 0 1
+
piCout << (int)testFlags; // 5
+
+
+ + + + diff --git a/doc/html/class_p_i_flags.js b/doc/html/class_p_i_flags.js new file mode 100644 index 00000000..5bf94746 --- /dev/null +++ b/doc/html/class_p_i_flags.js @@ -0,0 +1,51 @@ +var class_p_i_flags = +[ + [ "PIFlags", "class_p_i_flags.html#a99d2dd72580b4c93b2bd6754cfc5e1b8", null ], + [ "PIFlags", "class_p_i_flags.html#a657c6082214f45ae26436517bb12168e", null ], + [ "PIFlags", "class_p_i_flags.html#a815969c121235a5a1fbfa6cb3d9cc2f4", null ], + [ "PIFlags", "class_p_i_flags.html#a3307667726be788df2ddca22e00c590d", null ], + [ "setFlag", "class_p_i_flags.html#a6673f1d35533de415c32585fa07acc4c", null ], + [ "setFlag", "class_p_i_flags.html#af5e4ff71a745cd3480652f9d8073e0c6", null ], + [ "setFlag", "class_p_i_flags.html#ac3698f718594f1937e2c3b75173c0ccc", null ], + [ "operator=", "class_p_i_flags.html#aa564e466b29c503ffe5fb333477b57e9", null ], + [ "operator=", "class_p_i_flags.html#a770bd137d48fc87414d211136e497264", null ], + [ "operator=", "class_p_i_flags.html#a1bd66aa9dcb533ff06872cb60c280bf2", null ], + [ "operator==", "class_p_i_flags.html#a92c3b13d611c323253155df10ddb0589", null ], + [ "operator==", "class_p_i_flags.html#a81d595884d3625e3f8339515da5142df", null ], + [ "operator==", "class_p_i_flags.html#a7d12ce96db356cf939007094fa8d18ac", null ], + [ "operator!=", "class_p_i_flags.html#a59ae898edaae7ee779cf47985ba97b05", null ], + [ "operator!=", "class_p_i_flags.html#a78ba48024fea46cc2d57172bf997e870", null ], + [ "operator!=", "class_p_i_flags.html#aa589988a996ab33adc81f906c7beff11", null ], + [ "operator>", "class_p_i_flags.html#a7e2e36f073adce8652f8c2bba54c4726", null ], + [ "operator>", "class_p_i_flags.html#ab15468c584d812993908f25e082a8a46", null ], + [ "operator>", "class_p_i_flags.html#a465dcf5ad5a0f3ce635a1cc58582ae73", null ], + [ "operator<", "class_p_i_flags.html#a5bedc9803db598b1fe87bd815f1f50c3", null ], + [ "operator<", "class_p_i_flags.html#af8ad4abecf7a29b4f33a4cdba0d53a91", null ], + [ "operator<", "class_p_i_flags.html#aea03b049361f891ac03d791d8f889016", null ], + [ "operator>=", "class_p_i_flags.html#a7492424bc2aa14d9acc89ed804b43429", null ], + [ "operator>=", "class_p_i_flags.html#adbbd42330d0112e0a3027a4fecae5d0d", null ], + [ "operator>=", "class_p_i_flags.html#a9da15d887157a646afd68d397dfe1834", null ], + [ "operator<=", "class_p_i_flags.html#a8c58b248b368645075bfe17ca3d89dae", null ], + [ "operator<=", "class_p_i_flags.html#ad6db41bdb39487a6527ec61c38731e5f", null ], + [ "operator<=", "class_p_i_flags.html#a846954cedb1fcc2c013c19b97015d673", null ], + [ "operator&=", "class_p_i_flags.html#abddc6b15602a50cb8a43935d32b57cfc", null ], + [ "operator&=", "class_p_i_flags.html#a69759343b60a2ded01f9eb603a4ab471", null ], + [ "operator&=", "class_p_i_flags.html#afc767b6874e64209d8d4d204f98b98b6", null ], + [ "operator|=", "class_p_i_flags.html#ad75fb5da994327ba3d7c3fc6ec6618a8", null ], + [ "operator|=", "class_p_i_flags.html#a875de3331e28f62926b93434d97f0e95", null ], + [ "operator|=", "class_p_i_flags.html#aa2c5fcf51605331ef710d5fa9f9f85dc", null ], + [ "operator^=", "class_p_i_flags.html#a52cc502ff50daa80c835b830f887e123", null ], + [ "operator^=", "class_p_i_flags.html#a786e69005ae156211ea3fbfcfb442c5a", null ], + [ "operator^=", "class_p_i_flags.html#a53d822bbb7e7b3ed6aed90d6b07d96cf", null ], + [ "operator&", "class_p_i_flags.html#a8794228e06813b904f387d831ff0e9b0", null ], + [ "operator&", "class_p_i_flags.html#a4159b4116bded6b35ddeec688999b4bc", null ], + [ "operator&", "class_p_i_flags.html#a4ab2f09fb40fa0988b968ccb957d7ba1", null ], + [ "operator|", "class_p_i_flags.html#a9b502fbd3bb299efac66cbeb364b3480", null ], + [ "operator|", "class_p_i_flags.html#a0cfb21b9520162fc35a4e9b55dade176", null ], + [ "operator|", "class_p_i_flags.html#a9f7a72e1d42087971ebc2368f2a4819d", null ], + [ "operator^", "class_p_i_flags.html#a6ba52142f66b679d36c16f7954c87296", null ], + [ "operator^", "class_p_i_flags.html#ac0526e886b96e22c4e3433eecd7e8682", null ], + [ "operator^", "class_p_i_flags.html#a34b1ab652fa134e129c55502c577f10e", null ], + [ "operator[]", "class_p_i_flags.html#a8db0289c6a2d99736f2ad8cf8ab48aea", null ], + [ "operator int", "class_p_i_flags.html#a3338b89805f5035e609939c798e6f7a1", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_i_o_device-members.html b/doc/html/class_p_i_i_o_device-members.html new file mode 100644 index 00000000..4d4a4cd1 --- /dev/null +++ b/doc/html/class_p_i_i_o_device-members.html @@ -0,0 +1,221 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIIODevice Member List
+
+
+ +

This is the complete list of members for PIIODevice, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
className() const PIObjectinlinevirtual
closeDevice()PIIODeviceinlineprotectedvirtual
configureDevice(const void *e_main, const void *e_parent=0)PIIODeviceinlineprotectedvirtual
configureFromFullPath(const PIString &full_path)PIIODeviceinlineprotectedvirtual
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
data() const PIThreadinline
debug() const PIObjectinline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprotected
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
findByName(const PIString &name)PIObjectinlinestatic
fullPathPrefix() const PIIODeviceinlineprotectedvirtual
HANDLERPIObjectrelated
init()PIIODeviceinlineprotectedvirtual
isPropertyExists(const PIString &name) const PIObjectinline
isRunning() const PIThreadinline
lock()PIThreadinline
mutex()PIThreadinline
name() const PIObjectinline
needLockRun(bool need)PIThreadinline
openDevice()=0PIIODeviceprotectedpure virtual
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
piHigh enum valuePIThread
piHighest enum valuePIThread
PIIODEVICEPIIODevicerelated
piLow enum valuePIThread
piLowerst enum valuePIThread
piNormal enum valuePIThread
PIObject(const PIString &name=PIString())PIObject
PIOBJECTPIObjectrelated
PIOBJECT_PARENTPIObjectrelated
PIThread(void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)PIThread
PIThread(bool startNow=false, int loop_delay=-1)PIThread
Priority enum namePIThread
priority() const PIThreadinline
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIObjectinlineprotectedvirtual
readDeviceSetting(const PIString &name, const T &def, const PIConfig::Entry *em, const PIConfig::Entry *ep)PIIODevicerelated
REGISTER_DEVICEPIIODevicerelated
setData(void *d)PIThreadinline
setDebug(bool debug)PIObjectinline
setName(const PIString &name)PIObjectinline
setPriority(PIThread::Priority prior)PIThread
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
setSlot(ThreadFunc func)PIThreadinline
PIThread::start(int timer_delay)PIThread
PIThread::start(ThreadFunc func, int timer_delay)PIThreadinline
started()PIThread
startOnce()PIThread
startOnce(ThreadFunc func)PIThreadinline
stopped()PIThread
superClassName() const PIObjectinlinevirtual
threadedRead(uchar *readed, int size)PIIODeviceinlineprotectedvirtual
unlock()PIThreadinline
waitForFinish(int timeout_msecs)PIThread
waitForStart(int timeout_msecs)PIThread
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
+
+ + + + diff --git a/doc/html/class_p_i_i_o_device.html b/doc/html/class_p_i_i_o_device.html new file mode 100644 index 00000000..8eda8cfb --- /dev/null +++ b/doc/html/class_p_i_i_o_device.html @@ -0,0 +1,678 @@ + + + + + + +PIP: PIIODevice Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIIODevice Class Referenceabstract
+
+
+ +

Base class for input/output classes. + More...

+
+ + Inheritance diagram for PIIODevice:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+virtual bool init ()
 Function executed before first openDevice() or from constructor.
 
+virtual bool configureDevice (const void *e_main, const void *e_parent=0)
 Reimplement to configure device from entries "e_main" and "e_parent", cast arguments to PIConfig::Entry*.
 
+virtual bool openDevice ()=0
 Reimplement to open device, return value will be set to "opened_" variable.
 
+virtual bool closeDevice ()
 Reimplement to close device, inverse return value will be set to "opened_" variable.
 
+virtual bool threadedRead (uchar *readed, int size)
 Function executed when thread read some data, default implementation execute external slot "ret_func_".
 
+virtual PIString fullPathPrefix () const
 Reimplement to construct full unambiguous string prefix. Creating devices by unambiguous string.
 
+virtual void configureFromFullPath (const PIString &full_path)
 Reimplement to configure your device with parameters of full unambiguous string. Default implementation does nothing.
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Related Functions

(Note that these are not member functions.)

+
template<typename T >
readDeviceSetting (const PIString &name, const T &def, const PIConfig::Entry *em, const PIConfig::Entry *ep)
 Service function. useful for configuring devices. More...
 
+#define REGISTER_DEVICE(class)
 Use this macro to enable automatic creation instances of your class with createFromFullPath() function.
 
+#define PIIODEVICE(class)
 Use this macro instead of PIOBJECT when describe your own PIIODevice.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from PIThread
enum  Priority {
+  piLowerst, +piLow, +piNormal, +piHigh, +
+  piHighest +
+ }
 Priority of thread. More...
 
- Public Member Functions inherited from PIThread
PIThread (void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)
 Contructs thread with custom data "data", external function "func" and main loop delay "loop_delay".
 
PIThread (bool startNow=false, int loop_delay=-1)
 Contructs thread with main loop delay "loop_delay".
 
+void setData (void *d)
 Set common data passed to external function.
 
+void setSlot (ThreadFunc func)
 Set external function that will be executed after every run()
 
+void setPriority (PIThread::Priority prior)
 Set priority of thread.
 
+void * data () const
 Returns common data passed to external function.
 
+PIThread::Priority priority () const
 Return priority of thread.
 
+bool isRunning () const
 Return true if thread is running.
 
+void needLockRun (bool need)
 Set necessity of lock every run with internal mutex.
 
+PIMutexmutex ()
 Return internal mutex.
 
bool start (int timer_delay)
 Start thread. More...
 
bool start (ThreadFunc func, int timer_delay)
 Start thread. More...
 
bool startOnce ()
 Start thread without internal loop. More...
 
bool startOnce (ThreadFunc func)
 Start thread without internal loop. More...
 
void stop (bool wait)
 Stop thread. More...
 
void terminate ()
 Strongly stop thread. More...
 
bool waitForStart (int timeout_msecs)
 Wait for thread start. More...
 
bool waitForFinish (int timeout_msecs)
 Wait for thread finish. More...
 
+void lock ()
 Lock internal mutex.
 
+void unlock ()
 Unlock internal mutex.
 
+void started ()
 Raise on thread start.
 
+void stopped ()
 Raise on thread stop.
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
+

Detailed Description

+

Base class for input/output classes.

+

+Synopsis

+

This class provide open/close logic, threaded read/write and virtual input/output functions read() and write(). You should implement pure virtual function openDevice() in your subclass.

+

+Open and close

+

PIIODevice have boolean variable indicated open status. Returns of functions openDevice() and closeDevice() change this variable.

+

+Threaded read

+

PIIODevice based on PIThread, so it`s overload run() to exec read() in background thread. If read is successful virtual function threadedRead() is executed. Default implementation of this function execute external static function set by setThreadedReadSlot() with data set by setThreadedReadData(). Extrenal static function should have format
+bool func_name(void * Threaded_read_data, uchar * readed_data, int readed_size)
+Threaded read starts with function startThreadedRead().

+

+Threaded write

+

PIIODevice aggregate another PIThread to perform a threaded write by function writeThreaded(). This function add task to internal queue and return queue entry ID. You should start write thread by function startThreadedWrite. On successful write event threadedWriteEvent is raised with two arguments - task ID and written bytes count.

+

+Internal buffer

+

PIIODevice have internal buffer for threaded read, and threadedRead() function receive pointer to this buffer in first argument. You can adjust size of this buffer by function setThreadedReadBufferSize()
+Default size of this buffer is 4096 bytes.

+

+Reopen

+

When threaded read is begin its call open() if device is closed. While threaded read running PIIODevice check if device opened every read and if not call open() every reopen timeout if reopen enabled. Reopen timeout is set by setReopenTimeout(), reopen enable is set by setReopenEnabled().

+

+Configuration

+

This is virtual function configureDevice() which executes when configure() executes. This function takes two arguments: "e_main" and "e_parent" as void*. There are pointers to PIConfig::Entry entries of section "section" and their parent. If there is no parent "e_parent" = 0. Function configure() set three parameters of device: "reopenEnabled", "reopenTimeout" and "threadedReadBufferSize", then execute function configureDevice().
+ Each ancestor of PIIODevice reimlements configureDevice() function to be able to be confured from configuration file. This parameters described at section "Configurable parameters" in the class reference.
+ Usage example:

// file example.conf
+
dev.reopenEnabled = false
+
dev.device = /dev/ttyS0
+
dev.speed = 9600
+
// end example.conf
+
// code
+ +
ser.configure("example.conf", "dev");
+

Implementation example:

class SomeIO: public PIIODevice {
+
...
+
bool configureDevice(const void * e_main, const void * e_parent) {
+
PIConfig::Entry * em = (PIConfig::Entry * )e_main;
+
PIConfig::Entry * ep = (PIConfig::Entry * )e_parent;
+
setStringParam(readDeviceSetting<PIString>("stringParam", stringParam(), em, ep));
+
setIntParam(readDeviceSetting<int>("intParam", intParam(), em, ep));
+
return true;
+
}
+
...
+
};
+

+Creating devices by unambiguous string

+

There are some virtual functions to describe child class without its declaration.
+ fullPathPrefix() should returns unique prefix of device
+ constructFullPath() should returns full unambiguous string, contains prefix and all device parameters
+ configureFromFullPath() provide configuring device from full unambiguous string without prefix and "://"
+ Macro PIIODEVICE should be used instead of PIOBJECT
+ Macro REGISTER_DEVICE should be used after definition of class, i.e. at the last line of *.cpp file
+
+ If custom I/O device corresponds there rules, it can be returned by function createFromFullPath().
+ Each PIP I/O device has custom unambiguous string description:

    +
  • PIFile: "file://<path>"
  • +
  • PIBinaryLog: "binlog://<logDir>[:<filePrefix>][:<defaultID>]"
  • +
  • PISerial: "ser://<device>:<speed(50|...|115200)>[:<dataBitsCount(6|7|8)>][:<parity(N|E|O)>][:<stopBits(1|2)>]"
  • +
  • PIEthernet: "eth://<type(UDP|TCP)>:<readIP>:<readPort>[:<multicast(mcast:<ip>)>]"
  • +
  • PIUSB: "usb://<vid>:<pid>[:<deviceNumber>][:<readEndpointNumber>][:<writeEndpointNumber>]"
    +
    + Examples:
  • +
  • PIFile: "file://../text.txt"
  • +
  • PIBinaryLog: "binlog://../logs/:mylog_:1"
  • +
  • PISerial: "ser:///dev/ttyUSB0:9600:8:N:1", equivalent "ser:///dev/ttyUSB0:9600"
  • +
  • PIEthernet: "eth://TCP:127.0.0.1:16666", "eth://UDP:192.168.0.5:16666:mcast:234.0.2.1:mcast:234.0.2.2"
  • +
  • PIUSB: "usb://0bb4:0c86:1:1:2"
    +
    +So, custom I/O device can be created with next call:
    // creatring devices
    +
    PISerial * ser = (PISerial * )PIIODevice::createFromFullPath("ser://COM1:115200");
    +
    PIEthernet * eth = (PIEthernet * )PIIODevice::createFromFullPath("eth://UDP:127.0.0.1:4001");
    +
    // examine devices
    +
    piCout << ser << ser->properties();
    +
    piCout << eth << eth->properties();
    +
  • +
+

+Example

+
class SomeIO: public PIIODevice {
+
PIIODEVICE(SomeIO)
+
public:
+
SomeIO(): PIIODevice() {}
+
protected:
+
bool openDevice() {
+
// open your device here
+
return if_success;
+
}
+
int read(void * read_to, int max_size) {
+
// read from your device here
+
return readed_bytes;
+
}
+
int write(const void * data, int max_size) {
+
// write to your device here
+
return written_bytes;
+
}
+
PIString fullPathPrefix() const {return "myio";}
+
void configureFromFullPath(const PIString & full_path) {
+
// parse full_path and configure device there
+
}
+
};
+ +

Friends And Related Function Documentation

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
T readDeviceSetting (const PIStringname,
const T & def,
const PIConfig::Entryem,
const PIConfig::Entryep 
)
+
+related
+
+ +

Service function. useful for configuring devices.

+

Function takes entry name "name", default value "def" and two PIConfig::Entry sections: "em" and their parent "ep". If there is no parent ep = 0. If "ep" is not null and entry "name" exists in "ep" function returns this value. Else returns value of entry "name" in section "em" or "def" if entry doesn`t exists.
+ This function useful to read settings from configuration file in implementation PIIODevice::configureDevice() function

+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_i_o_device.js b/doc/html/class_p_i_i_o_device.js new file mode 100644 index 00000000..3ec55deb --- /dev/null +++ b/doc/html/class_p_i_i_o_device.js @@ -0,0 +1,13 @@ +var class_p_i_i_o_device = +[ + [ "init", "class_p_i_i_o_device.html#a587c32639f2732920338a363ad163d81", null ], + [ "configureDevice", "class_p_i_i_o_device.html#ae7c5a2d7b6ea2409df4e200c8e4b8e32", null ], + [ "openDevice", "class_p_i_i_o_device.html#ae62b3035a9f884d345fd5d071c8089c8", null ], + [ "closeDevice", "class_p_i_i_o_device.html#aaf041ac27ee2b9af4828fbe2f4b5b1e2", null ], + [ "threadedRead", "class_p_i_i_o_device.html#a3c744704af365358af074e1089e20068", null ], + [ "fullPathPrefix", "class_p_i_i_o_device.html#a568194e78dc8aac94ed6c1d17809a71e", null ], + [ "configureFromFullPath", "class_p_i_i_o_device.html#aeb3edefa3b78b06e0f293936c15a74ab", null ], + [ "readDeviceSetting", "class_p_i_i_o_device.html#add5b851e98d22dd4d7482a8e509113dc", null ], + [ "REGISTER_DEVICE", "class_p_i_i_o_device.html#a672a05d4391737b8fecd4524f1a47bda", null ], + [ "PIIODEVICE", "class_p_i_i_o_device.html#a5adabd429443716b75771317ec43301b", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_i_o_device__inherit__graph.map b/doc/html/class_p_i_i_o_device__inherit__graph.map new file mode 100644 index 00000000..8fd5c25e --- /dev/null +++ b/doc/html/class_p_i_i_o_device__inherit__graph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/doc/html/class_p_i_i_o_device__inherit__graph.md5 b/doc/html/class_p_i_i_o_device__inherit__graph.md5 new file mode 100644 index 00000000..aefffef7 --- /dev/null +++ b/doc/html/class_p_i_i_o_device__inherit__graph.md5 @@ -0,0 +1 @@ +40b53cd9ae00e0b4624f13ce84484389 \ No newline at end of file diff --git a/doc/html/class_p_i_i_o_device__inherit__graph.svg b/doc/html/class_p_i_i_o_device__inherit__graph.svg new file mode 100644 index 00000000..f3cdbd01 --- /dev/null +++ b/doc/html/class_p_i_i_o_device__inherit__graph.svg @@ -0,0 +1,122 @@ + + + + + + +PIIODevice + + +Node1 + +PIIODevice + + +Node4 + + +PIBinaryLog + + + + +Node1->Node4 + + + + +Node5 + + +PIEthernet + + + + +Node1->Node5 + + + + +Node6 + + +PIFile + + + + +Node1->Node6 + + + + +Node8 + + +PIPacketExtractor + + + + +Node1->Node8 + + + + +Node9 + + +PISerial + + + + +Node1->Node9 + + + + +Node2 + + +PIThread + + + + +Node2->Node1 + + + + +Node3 + + +PIObject + + + + +Node3->Node2 + + + + +Node7 + + +PIConfig + + + + +Node6->Node7 + + + + + diff --git a/doc/html/class_p_i_kbd_listener-members.html b/doc/html/class_p_i_kbd_listener-members.html new file mode 100644 index 00000000..8c489df8 --- /dev/null +++ b/doc/html/class_p_i_kbd_listener-members.html @@ -0,0 +1,232 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIKbdListener Member List
+
+
+ +

This is the complete list of members for PIKbdListener, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
className() const PIObjectinlinevirtual
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
CtrlDownArrow enum valuePIKbdListener
CtrlLeftArrow enum valuePIKbdListener
CtrlRightArrow enum valuePIKbdListener
CtrlUpArrow enum valuePIKbdListener
data()PIKbdListenerinline
PIThread::data() const PIThreadinline
debug() const PIObjectinline
disableExitCapture()PIKbdListenerinline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
DownArrow enum valuePIKbdListener
emitter() const PIObjectinlineprotected
enableExitCapture(char key)PIKbdListenerinline
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
exitCaptured() const PIKbdListenerinline
exitKey() const PIKbdListenerinline
findByName(const PIString &name)PIObjectinlinestatic
HANDLERPIObjectrelated
isActive()PIKbdListenerinline
isPropertyExists(const PIString &name) const PIObjectinline
isRunning() const PIThreadinline
keyPressed(char key, void *data)PIKbdListener
LeftArrow enum valuePIKbdListener
lock()PIThreadinline
mutex()PIThreadinline
name() const PIObjectinline
needLockRun(bool need)PIThreadinline
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
piHigh enum valuePIThread
piHighest enum valuePIThread
PIKbdListener(KBFunc slot=0, void *data=0)PIKbdListener
piLow enum valuePIThread
piLowerst enum valuePIThread
piNormal enum valuePIThread
PIOBJECTPIObjectrelated
PIObject(const PIString &name=PIString())PIObject
PIOBJECT_PARENTPIObjectrelated
PIThread(void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)PIThread
PIThread(bool startNow=false, int loop_delay=-1)PIThread
Priority enum namePIThread
priority() const PIThreadinline
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIObjectinlineprotectedvirtual
RightArrow enum valuePIKbdListener
setActive(bool yes)PIKbdListener
setData(void *_data)PIKbdListenerinline
setDebug(bool debug)PIObjectinline
setName(const PIString &name)PIObjectinline
setPriority(PIThread::Priority prior)PIThread
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
setSlot(KBFunc slot)PIKbdListenerinline
PIThread::setSlot(ThreadFunc func)PIThreadinline
SpecialSymbol enum namePIKbdListener
start(int timer_delay)PIThread
start(ThreadFunc func, int timer_delay)PIThreadinline
started()PIThread
startOnce()PIThread
startOnce(ThreadFunc func)PIThreadinline
stop(bool wait)PIThreadinline
stopped()PIThread
superClassName() const PIObjectinlinevirtual
terminate()PIThread
unlock()PIThreadinline
UpArrow enum valuePIKbdListener
waitForFinish(int timeout_msecs)PIThread
waitForStart(int timeout_msecs)PIThread
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
+
+ + + + diff --git a/doc/html/class_p_i_kbd_listener.html b/doc/html/class_p_i_kbd_listener.html new file mode 100644 index 00000000..c2875b03 --- /dev/null +++ b/doc/html/class_p_i_kbd_listener.html @@ -0,0 +1,601 @@ + + + + + + +PIP: PIKbdListener Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIKbdListener Class Reference
+
+
+ +

Keyboard console input listener. + More...

+
+ + Inheritance diagram for PIKbdListener:
+
+
+ + + + + + + + + + +

+Public Types

enum  SpecialSymbol {
+  UpArrow = -1, +DownArrow = -2, +RightArrow = -3, +LeftArrow = -4, +
+  CtrlUpArrow = -5, +CtrlDownArrow = -6, +CtrlRightArrow = -7, +CtrlLeftArrow = -8 +
+ }
 Special keyboard keys. More...
 
- Public Types inherited from PIThread
enum  Priority {
+  piLowerst, +piLow, +piNormal, +piHigh, +
+  piHighest +
+ }
 Priority of thread. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIKbdListener (KBFunc slot=0, void *data=0)
 Constructs keyboard listener with external function "slot" and custom data "data".
 
+void * data ()
 Returns custom data.
 
+void setData (void *_data)
 Set custom data to "_data".
 
+void setSlot (KBFunc slot)
 Set external function to "slot".
 
+bool exitCaptured () const
 Returns if exit key if awaiting.
 
+char exitKey () const
 Returns exit key, default 'Q'.
 
+bool isActive ()
 Returns if keyboard listening is active (not running!)
 
- Public Member Functions inherited from PIThread
PIThread (void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)
 Contructs thread with custom data "data", external function "func" and main loop delay "loop_delay".
 
PIThread (bool startNow=false, int loop_delay=-1)
 Contructs thread with main loop delay "loop_delay".
 
+void setData (void *d)
 Set common data passed to external function.
 
+void setSlot (ThreadFunc func)
 Set external function that will be executed after every run()
 
+void setPriority (PIThread::Priority prior)
 Set priority of thread.
 
+void * data () const
 Returns common data passed to external function.
 
+PIThread::Priority priority () const
 Return priority of thread.
 
+bool isRunning () const
 Return true if thread is running.
 
+void needLockRun (bool need)
 Set necessity of lock every run with internal mutex.
 
+PIMutexmutex ()
 Return internal mutex.
 
bool start (int timer_delay)
 Start thread. More...
 
bool start (ThreadFunc func, int timer_delay)
 Start thread. More...
 
bool startOnce ()
 Start thread without internal loop. More...
 
bool startOnce (ThreadFunc func)
 Start thread without internal loop. More...
 
void stop (bool wait)
 Stop thread. More...
 
void terminate ()
 Strongly stop thread. More...
 
bool waitForStart (int timeout_msecs)
 Wait for thread start. More...
 
bool waitForFinish (int timeout_msecs)
 Wait for thread finish. More...
 
+void lock ()
 Lock internal mutex.
 
+void unlock ()
 Unlock internal mutex.
 
+void started ()
 Raise on thread start.
 
+void stopped ()
 Raise on thread stop.
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
+ + + + + + + + + + +

+Handlers

+void enableExitCapture (char key)
 Enable exit key "key" awaiting.
 
+void disableExitCapture ()
 Disable exit key awaiting.
 
+void setActive (bool yes)
 Set keyboard listening is active or not.
 
+ + + + +

+Events

+void keyPressed (char key, void *data)
 Raise on key "key" pressed, "data" is custom data.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+

Detailed Description

+

Keyboard console input listener.

+

This class provide listening of console keyboard input. There is two ways to receive pressed key:

    +
  • external static function with format "void func(char key, void * data_)"
  • +
  • event keyPressed()
  • +
+

Also there is static variable exiting which by default is set to false. If enableExitCapture() was called and listener was started with function start(), this variable will be set to true if exit key will be pressed. By default exit key is 'Q' = shift + 'q'. To wait for this variable changes to true there is WAIT_FOR_EXIT macro

void key_event(char key, void * ) {
+
piCout << "key" << key << "pressed";
+
}
+
int main(int argc, char ** argv) {
+ +
kbd.enableExitCapture();
+
kbd.start();
+
WAIT_FOR_EXIT
+
return 0;
+
}
+

Member Enumeration Documentation

+ +
+
+ +

Special keyboard keys.

+ + + + + + + + + +
Enumerator
UpArrow  +

Up arrow key

+
DownArrow  +

Down arrow key

+
RightArrow  +

Right arrow key

+
LeftArrow  +

Left arrow key

+
CtrlUpArrow  +

Ctrl + Up arrow key

+
CtrlDownArrow  +

Ctrl + Down arrow key

+
CtrlRightArrow  +

Ctrl + Right arrow key

+
CtrlLeftArrow  +

Ctrl + Left arrow key

+
+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_kbd_listener.js b/doc/html/class_p_i_kbd_listener.js new file mode 100644 index 00000000..51568c06 --- /dev/null +++ b/doc/html/class_p_i_kbd_listener.js @@ -0,0 +1,24 @@ +var class_p_i_kbd_listener = +[ + [ "SpecialSymbol", "class_p_i_kbd_listener.html#a3e1b468bee20e5a4155f7d99d19eb716", [ + [ "UpArrow", "class_p_i_kbd_listener.html#a3e1b468bee20e5a4155f7d99d19eb716ae4af7e9101a6ebcca1a0b94f5d389297", null ], + [ "DownArrow", "class_p_i_kbd_listener.html#a3e1b468bee20e5a4155f7d99d19eb716a2cc10cee6bd5ded7573f4ba9730cde6d", null ], + [ "RightArrow", "class_p_i_kbd_listener.html#a3e1b468bee20e5a4155f7d99d19eb716a8931e408583ed3ce190e26e4adf523eb", null ], + [ "LeftArrow", "class_p_i_kbd_listener.html#a3e1b468bee20e5a4155f7d99d19eb716a4e2a34c99dbe919ec3405fc629ac228b", null ], + [ "CtrlUpArrow", "class_p_i_kbd_listener.html#a3e1b468bee20e5a4155f7d99d19eb716a27096906a3e1a35ff46cbeae0412ed8a", null ], + [ "CtrlDownArrow", "class_p_i_kbd_listener.html#a3e1b468bee20e5a4155f7d99d19eb716a06471072c3855f97036cfaceec75ecd7", null ], + [ "CtrlRightArrow", "class_p_i_kbd_listener.html#a3e1b468bee20e5a4155f7d99d19eb716af997647f0bac2cfe113f58458a71c7ce", null ], + [ "CtrlLeftArrow", "class_p_i_kbd_listener.html#a3e1b468bee20e5a4155f7d99d19eb716a9d6d02f0615594d1fbceadb7d68ebc83", null ] + ] ], + [ "PIKbdListener", "class_p_i_kbd_listener.html#a2baa588cd4ae95363c980804b47ed461", null ], + [ "data", "class_p_i_kbd_listener.html#a1b5584b91e3280213b61b31508127598", null ], + [ "setData", "class_p_i_kbd_listener.html#a0e0b57b7012db4134a0f72c9cbfa1d07", null ], + [ "setSlot", "class_p_i_kbd_listener.html#a5e8285dbb2c1b04fffff36c6d7db1d84", null ], + [ "exitCaptured", "class_p_i_kbd_listener.html#a333aaeadb6ca6bfee5aea3378ce7e1f4", null ], + [ "exitKey", "class_p_i_kbd_listener.html#a99de0ef4e19dc43b66c3ee42cfb3b5ab", null ], + [ "isActive", "class_p_i_kbd_listener.html#ac5e65b971731b969f162f0daf332280a", null ], + [ "enableExitCapture", "class_p_i_kbd_listener.html#a15702f6822a016c0c44c3217ba1a27f8", null ], + [ "disableExitCapture", "class_p_i_kbd_listener.html#acd5b37d732168274a30c678e8373d0dd", null ], + [ "setActive", "class_p_i_kbd_listener.html#a13b9bca3e1c73dcdbbd8ea813e7893f4", null ], + [ "keyPressed", "class_p_i_kbd_listener.html#a46a45b9ee857b0cdc782ce977471c286", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_kbd_listener__inherit__graph.map b/doc/html/class_p_i_kbd_listener__inherit__graph.map new file mode 100644 index 00000000..edc4c5d2 --- /dev/null +++ b/doc/html/class_p_i_kbd_listener__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/class_p_i_kbd_listener__inherit__graph.md5 b/doc/html/class_p_i_kbd_listener__inherit__graph.md5 new file mode 100644 index 00000000..57914bc4 --- /dev/null +++ b/doc/html/class_p_i_kbd_listener__inherit__graph.md5 @@ -0,0 +1 @@ +a7fa6a269423d7a28436ecae56935811 \ No newline at end of file diff --git a/doc/html/class_p_i_kbd_listener__inherit__graph.svg b/doc/html/class_p_i_kbd_listener__inherit__graph.svg new file mode 100644 index 00000000..355a04dc --- /dev/null +++ b/doc/html/class_p_i_kbd_listener__inherit__graph.svg @@ -0,0 +1,44 @@ + + + + + + +PIKbdListener + + +Node1 + +PIKbdListener + + +Node2 + + +PIThread + + + + +Node2->Node1 + + + + +Node3 + + +PIObject + + + + +Node3->Node2 + + + + + diff --git a/doc/html/class_p_i_mutex-members.html b/doc/html/class_p_i_mutex-members.html new file mode 100644 index 00000000..b70c3806 --- /dev/null +++ b/doc/html/class_p_i_mutex-members.html @@ -0,0 +1,131 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIMutex Member List
+
+
+ +

This is the complete list of members for PIMutex, including all inherited members.

+ + + + + +
lock()PIMutexinline
PIMutex()PIMutex
tryLock()PIMutexinline
unlock()PIMutexinline
+
+ + + + diff --git a/doc/html/class_p_i_mutex.html b/doc/html/class_p_i_mutex.html new file mode 100644 index 00000000..368814e5 --- /dev/null +++ b/doc/html/class_p_i_mutex.html @@ -0,0 +1,238 @@ + + + + + + +PIP: PIMutex Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIMutex Class Reference
+
+
+ +

Mutex. + More...

+ + + + + + + + + + + + + + +

+Public Member Functions

PIMutex ()
 Constructs unlocked mutex.
 
void lock ()
 Lock mutex. More...
 
void unlock ()
 Unlock mutex. More...
 
bool tryLock ()
 Try to lock mutex. More...
 
+

Detailed Description

+

Mutex.

+

+Synopsis

+

PIMutex provides synchronization blocks between several threads. Using mutex guarantees execution of some code only one of threads. Mutex contains logic state and functions to change it: lock(), unlock() and tryLock().

+

+Usage

+

Block of code that should to be executed only one thread simultaniously should to be started with lock() and ended with unlock().

mutex.lock();
+
// ... your code here
+
mutex.unlock();
+

"mutex" in this example is one for all threads.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void PIMutex::lock ()
+
+inline
+
+ +

Lock mutex.

+

If mutex is unlocked it set to locked state and returns immediate. If mutex is already locked function blocks until mutex will be unlocked

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void PIMutex::unlock ()
+
+inline
+
+ +

Unlock mutex.

+

In any case this function returns immediate

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
bool PIMutex::tryLock ()
+
+inline
+
+ +

Try to lock mutex.

+

If mutex is unlocked it set to locked state and returns "true" immediate. If mutex is already locked function returns immediate an returns "false"

+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_mutex.js b/doc/html/class_p_i_mutex.js new file mode 100644 index 00000000..6779ed09 --- /dev/null +++ b/doc/html/class_p_i_mutex.js @@ -0,0 +1,7 @@ +var class_p_i_mutex = +[ + [ "PIMutex", "class_p_i_mutex.html#ac4d6be4bdac6af45f1db56c4d1a0d971", null ], + [ "lock", "class_p_i_mutex.html#aa571ad61ee7bd5fcf60f6f5032a16441", null ], + [ "unlock", "class_p_i_mutex.html#aae483d17150e38436ca25a1bd26b04c2", null ], + [ "tryLock", "class_p_i_mutex.html#a5c4ed063c5c7d7ee94ff3402d320851a", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_object-members.html b/doc/html/class_p_i_object-members.html new file mode 100644 index 00000000..9b608182 --- /dev/null +++ b/doc/html/class_p_i_object-members.html @@ -0,0 +1,185 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIObject Member List
+
+
+ +

This is the complete list of members for PIObject, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
className() const PIObjectinlinevirtual
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
debug() const PIObjectinline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprotected
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
findByName(const PIString &name)PIObjectinlinestatic
HANDLERPIObjectrelated
isPropertyExists(const PIString &name) const PIObjectinline
name() const PIObjectinline
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
PIObject(const PIString &name=PIString())PIObject
PIOBJECTPIObjectrelated
PIOBJECT_PARENTPIObjectrelated
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIObjectinlineprotectedvirtual
setDebug(bool debug)PIObjectinline
setName(const PIString &name)PIObjectinline
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
superClassName() const PIObjectinlinevirtual
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
+
+ + + + diff --git a/doc/html/class_p_i_object.html b/doc/html/class_p_i_object.html new file mode 100644 index 00000000..c153376c --- /dev/null +++ b/doc/html/class_p_i_object.html @@ -0,0 +1,432 @@ + + + + + + +PIP: PIObject Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIObject Class Reference
+
+
+ +

This is base class for any classes which use events -> handlers mechanism. + More...

+
+ + Inheritance diagram for PIObject:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
+ + + + + + + + + + +

+Static Public Member Functions

+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
+ + + + + + + +

+Protected Member Functions

+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Related Functions

(Note that these are not member functions.)

+
+#define piCoutObj
 Macro used for conditional (piDebug and PIObject::debug()) output to PICout for subclasses of PIObject.
 
+#define PIOBJECT(name)
 you should use this macro after class declaration to use EVENT and EVENT_HANDLER and correct piCoutObj output
 
+#define PIOBJECT_PARENT(name)
 you should use this macro after class declaration to use EVENT and EVENT_HANDLER of parent class
 
+#define EVENT_HANDLER0(ret, name)   ret name()
 declare event handler "event" with name "name" and return type "ret", ret name()
 
+#define EVENT_HANDLER1(ret, name, type0, var0)   ret name(type0 var0)
 declare event handler "event" with name "name" and return type "ret", ret name(type0 var0)
 
+#define EVENT_HANDLER2(ret, name, type0, var0, type1, var1)   ret name(type0 var0, type1 var1)
 declare event handler "event" with name "name" and return type "ret", ret name(type0 var0, type1 var1)
 
+#define EVENT_HANDLER3(ret, name, type0, var0, type1, var1, type2, var2)   ret name(type0 var0, type1 var1, type2 var2)
 declare event handler "event" with name "name" and return type "ret", ret name(type0 var0, type1 var1, type2 var2)
 
+#define EVENT_HANDLER4(ret, name, type0, var0, type1, var1, type2, var2, type3, var3)   ret name(type0 var0, type1 var1, type2 var2, type3 var3)
 declare event handler "event" with name "name" and return type "ret", ret name(type0 var0, type1 var1, type2 var2, type3 var3)
 
+#define EVENT_HANDLER   EVENT_HANDLER0
 EVENT_HANDLER is synonym of EVENT_HANDLER0.
 
+#define EVENT_VHANDLER0(ret, name)   virtual ret name()
 declare virtual event handler "event" with name "name" and return type "ret", virtual ret name()
 
+#define EVENT_VHANDLER1(ret, name, type0, var0)   virtual ret name(type0 var0)
 declare virtual event handler "event" with name "name" and return type "ret", virtual ret name(type0 var0)
 
+#define EVENT_VHANDLER2(ret, name, type0, var0, type1, var1)   virtual ret name(type0 var0, type1 var1)
 declare virtual event handler "event" with name "name" and return type "ret", virtual ret name(type0 var0, type1 var1)
 
+#define EVENT_VHANDLER3(ret, name, type0, var0, type1, var1, type2, var2)   virtual ret name(type0 var0, type1 var1, type2 var2)
 declare virtual event handler "event" with name "name" and return type "ret", virtual ret name(type0 var0, type1 var1, type2 var2)
 
+#define EVENT_VHANDLER4(ret, name, type0, var0, type1, var1, type2, var2, type3, var3)   virtual ret name(type0 var0, type1 var1, type2 var2, type3 var3)
 declare virtual event handler "event" with name "name" and return type "ret", virtual ret name(type0 var0, type1 var1, type2 var2, type3 var3)
 
+#define EVENT_VHANDLER   EVENT_VHANDLER0
 EVENT_VHANDLER is synonym of EVENT_VHANDLER0.
 
+#define EVENT0(name)   void name();
 declare event "event" with name "name", void name();
 
+#define EVENT1(name, type0, var0)   void name(type0 var0);
 declare event "event" with name "name", void name(type0 var0);
 
+#define EVENT2(name, type0, var0, type1, var1)   void name(type0 var0, type1 var1);
 declare event "event" with name "name", void name(type0 var0, type1 var1);
 
+#define EVENT3(name, type0, var0, type1, var1, type2, var2)   void name(type0 var0, type1 var1, type2 var2);
 declare event "event" with name "name", void name(type0 var0, type1 var1, type2 var2);
 
+#define EVENT4(name, type0, var0, type1, var1, type2, var2, type3, var3)   void name(type0 var0, type1 var1, type2 var2, type3 var3);
 declare event "event" with name "name", void name(type0 var0, type1 var1, type2 var2, type3 var3);
 
+#define EVENT   EVENT0
 EVENT is synonym of EVENT0.
 
+#define CONNECTU(src, event, dest, handler)
 connect event "event" from object "src" to event handler "handler". "Event" and "handler" must has equal argument lists.
 
+#define CONNECT0(ret, src, event, dest, handler)
 connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists
 
+#define CONNECT1(ret, type0, src, event, dest, handler)
 connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists
 
+#define CONNECT2(ret, type0, type1, src, event, dest, handler)
 connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists
 
+#define CONNECT3(ret, type0, type1, type2, src, event, dest, handler)
 connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists
 
+#define CONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler)
 connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists
 
+#define CONNECT   CONNECT0
 CONNECT is synonym of CONNECT0.
 
+#define WEAK_CONNECT0(ret, src, event, dest, handler)
 connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists
 
+#define WEAK_CONNECT1(ret, type0, src, event, dest, handler)
 connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists
 
+#define WEAK_CONNECT2(ret, type0, type1, src, event, dest, handler)
 connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists
 
+#define WEAK_CONNECT3(ret, type0, type1, type2, src, event, dest, handler)
 connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists
 
+#define WEAK_CONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler)
 connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists
 
+#define WEAK_CONNECT   WEAK_CONNECT0
 WEAK_CONNECT is synonym of WEAK_CONNECT0.
 
+#define DISCONNECT0(ret, src, event, dest, handler)
 piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest"
 
+#define DISCONNECT1(ret, type0, src, event, dest, handler)
 piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest"
 
+#define DISCONNECT2(ret, type0, type1, src, event, dest, handler)
 piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest"
 
+#define DISCONNECT3(ret, type0, type1, type2, src, event, dest, handler)
 piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest"
 
+#define DISCONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler)
 piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest"
 
+#define DISCONNECT   DISCONNECT0
 DISCONNECT is synonym of DISCONNECT0.
 
+#define HANDLER(handler)
 Returns pointer to events handler "handler".
 
+

Detailed Description

+

This is base class for any classes which use events -> handlers mechanism.

+

+Events and Event handlers

+

PIObject provide notification mechanism similar Qt but implemented on language capabilities without any special preprocessors or compilers. Any class inherits PIObject should use macro PIOBJECT() immediate after declaration to proper compile.

+

Event is a some abstract event that can be raised at any time. Event is a function but declared with special macro EVENT(). To raise event simply execute event function.

+

Event handler is a function but declared with special macro EVENT_HANDLER(). You can use event handlers as ordinary functions.

+

Main goal of this mechanism is perform abstract connections between various objects. This functionality provide macro CONNECT() which connect some event of first object to some event handler or event of second object. Each event can be connected any times to any event handlers.

+
+events_handlers.png +
+

Example:

class ObjectA: public PIObject {
+
PIOBJECT(ObjectA)
+
public:
+
EVENT_HANDLER1(void, handlerA, const PIString & , str) {piCoutObj << "handler A:" << str;}
+
EVENT2(eventA2, int, i, float, f);
+
EVENT1(eventA1, const PIString & , str);
+
};
+
+
class ObjectB: public PIObject {
+
PIOBJECT(ObjectB)
+
public:
+
EVENT_HANDLER2(void, handlerB, int, i, float, f) {piCoutObj << "handler B:" << i << "," << f;}
+
EVENT1(eventB, PIString, str);
+
};
+
+
int main(int argc, char * argv[]) {
+
ObjectA obj_a;
+
ObjectB obj_b;
+
+
CONNECT2(void, int, float, &obj_a, eventA2, &obj_b, handlerB);
+
obj_a.eventA2(2, 0.5);
+
+
CONNECT1(void, PIString, &obj_b, eventB, &obj_a, handlerA);
+
obj_b.eventB("event to handler");
+
+
CONNECT1(void, PIString, &obj_a, eventA1, &obj_b, eventB);
+
obj_a.eventA1("event to event");
+
};
+

Result:

handler B: 2 , 0.5
+
handler A: event to handler
+
handler A: event to event
+
+
+ + + + diff --git a/doc/html/class_p_i_object.js b/doc/html/class_p_i_object.js new file mode 100644 index 00000000..81c969a3 --- /dev/null +++ b/doc/html/class_p_i_object.js @@ -0,0 +1,58 @@ +var class_p_i_object = +[ + [ "PIObject", "class_p_i_object.html#a779d66bab882a51ef6389d2e212f2bd6", null ], + [ "name", "class_p_i_object.html#aee2242a0210f2a009d63764e01a37338", null ], + [ "className", "class_p_i_object.html#a5da8208d12e37e5277db308939208150", null ], + [ "superClassName", "class_p_i_object.html#a41060ba64a882ef4c3b24dc868c5635c", null ], + [ "debug", "class_p_i_object.html#a286d39fdf2dacf8bc1f26c8744d8bf18", null ], + [ "setName", "class_p_i_object.html#a8eb211f42dfcf7b7a1f32acabbfd6ada", null ], + [ "setDebug", "class_p_i_object.html#a9a0ec972d4864287fae4d1a0edcd9dc5", null ], + [ "properties", "class_p_i_object.html#aeb8178ed4012f204d2c89a8413bbcd2d", null ], + [ "propertiesCount", "class_p_i_object.html#a68dbd55885a081be717ff818dcb31bcc", null ], + [ "property", "class_p_i_object.html#ad0cadfad8b61e8c994abde7d2d4853ac", null ], + [ "setProperty", "class_p_i_object.html#a647e2f79b975cf88d636a2ca2dadfb9c", null ], + [ "isPropertyExists", "class_p_i_object.html#a8d6bd4c57aa01dc41e1b28720f9604a7", null ], + [ "emitter", "class_p_i_object.html#a2f43644909496ba11ca294a67ed18deb", null ], + [ "propertyChanged", "class_p_i_object.html#a2f98c7c43b93f9d636e9119f0a577715", null ], + [ "piCoutObj", "class_p_i_object.html#a722b67a967e55918f6921de66ecffce9", null ], + [ "PIOBJECT", "class_p_i_object.html#affa62b02040517a34b3f173d804e487f", null ], + [ "PIOBJECT_PARENT", "class_p_i_object.html#a4ce1840f79eac65344a4c5823f5034d4", null ], + [ "EVENT_HANDLER0", "class_p_i_object.html#ab605cf0454d34cc72c65bfed2abd696a", null ], + [ "EVENT_HANDLER1", "class_p_i_object.html#a56defa004e9b7efb2db50b3a43ca7225", null ], + [ "EVENT_HANDLER2", "class_p_i_object.html#abb64b696544ee4ee8715add9747c1293", null ], + [ "EVENT_HANDLER3", "class_p_i_object.html#af90eced49fbdb43f5fc631fa7e7a44fb", null ], + [ "EVENT_HANDLER4", "class_p_i_object.html#ae8a8499ba07a4cc16c0b15c51b197d9f", null ], + [ "EVENT_HANDLER", "class_p_i_object.html#ae92ae8e64fbb4c6fa7d87cc1e93d55c0", null ], + [ "EVENT_VHANDLER0", "class_p_i_object.html#a338377c8ec10707dd26a168b8aef5c31", null ], + [ "EVENT_VHANDLER1", "class_p_i_object.html#abf138848427466a7ae91ada5876f926d", null ], + [ "EVENT_VHANDLER2", "class_p_i_object.html#ad0ba4a14c77b8d968dc13918f9b2d384", null ], + [ "EVENT_VHANDLER3", "class_p_i_object.html#a4f47b429ac594cebdca1567e1b9a1021", null ], + [ "EVENT_VHANDLER4", "class_p_i_object.html#a96b2461314db11f3b68942bcd4b9d13d", null ], + [ "EVENT_VHANDLER", "class_p_i_object.html#a26a0e3181ebb2a90c11e9a7eb906a99e", null ], + [ "EVENT0", "class_p_i_object.html#a4fa760299649bc8aeaa0dcf4d605be70", null ], + [ "EVENT1", "class_p_i_object.html#a7083e0b630c70def2ce05d60d70a45b9", null ], + [ "EVENT2", "class_p_i_object.html#a91d380b7235ad11b4830c4c2e8860618", null ], + [ "EVENT3", "class_p_i_object.html#a685a85b0791e73158dc0173b4e18dd00", null ], + [ "EVENT4", "class_p_i_object.html#a59032ae5e0b94cdfb52be1f24d5e8252", null ], + [ "EVENT", "class_p_i_object.html#a7877e997621e1161f058fce90febd464", null ], + [ "CONNECTU", "class_p_i_object.html#ac86f9567fcbe10d7e49685e0a01b8427", null ], + [ "CONNECT0", "class_p_i_object.html#a38e74a7ce99df00a10517f5ce4aa66c5", null ], + [ "CONNECT1", "class_p_i_object.html#a36132851189bb01db4957595111a28db", null ], + [ "CONNECT2", "class_p_i_object.html#a850bbf4e8361a106c99da4c46f684247", null ], + [ "CONNECT3", "class_p_i_object.html#ab45dbd69bde3cde22d4aba27ed585407", null ], + [ "CONNECT4", "class_p_i_object.html#a34e41d730c07354e07333def3d854019", null ], + [ "CONNECT", "class_p_i_object.html#a65528c74adc6691eac2c7a2f39328064", null ], + [ "WEAK_CONNECT0", "class_p_i_object.html#aaaba5b68617a43903056bc175b8cd162", null ], + [ "WEAK_CONNECT1", "class_p_i_object.html#a37d80492e781bf82b9c22c56977da81e", null ], + [ "WEAK_CONNECT2", "class_p_i_object.html#a34134cc70172ef5a8d38ba8eb0db327d", null ], + [ "WEAK_CONNECT3", "class_p_i_object.html#a601eb7e6e4c3c1a2ba741abbaf271fed", null ], + [ "WEAK_CONNECT4", "class_p_i_object.html#a483ad0828f2c221308d95fd07ba1ee6e", null ], + [ "WEAK_CONNECT", "class_p_i_object.html#a52fc22658e025b4c15c8a2454d81b289", null ], + [ "DISCONNECT0", "class_p_i_object.html#aed7fd8edaccbbca33c51417ca43ac32a", null ], + [ "DISCONNECT1", "class_p_i_object.html#ae030e8deb226c636d2df22076391f12c", null ], + [ "DISCONNECT2", "class_p_i_object.html#a8f0609bfd7dfcd4512d76480bc114dab", null ], + [ "DISCONNECT3", "class_p_i_object.html#af2789f99d1916f231fc579f00370fa6f", null ], + [ "DISCONNECT4", "class_p_i_object.html#aedf429d3192da764163c1377cad310e3", null ], + [ "DISCONNECT", "class_p_i_object.html#a587604e6f3570c0fc32794384d4d0d1f", null ], + [ "HANDLER", "class_p_i_object.html#a3f7b0da6b28ced23e1deee48dde17c98", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_object__inherit__graph.map b/doc/html/class_p_i_object__inherit__graph.map new file mode 100644 index 00000000..467455bd --- /dev/null +++ b/doc/html/class_p_i_object__inherit__graph.map @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/doc/html/class_p_i_object__inherit__graph.md5 b/doc/html/class_p_i_object__inherit__graph.md5 new file mode 100644 index 00000000..316bc547 --- /dev/null +++ b/doc/html/class_p_i_object__inherit__graph.md5 @@ -0,0 +1 @@ +03543378d017772e3db551d54fff8d9e \ No newline at end of file diff --git a/doc/html/class_p_i_object__inherit__graph.svg b/doc/html/class_p_i_object__inherit__graph.svg new file mode 100644 index 00000000..5a7f3a0f --- /dev/null +++ b/doc/html/class_p_i_object__inherit__graph.svg @@ -0,0 +1,327 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PIObject + + +Node1 + +PIObject + + +Node2 + + +PICLI + + + + +Node1->Node2 + + + + +Node3 + + +PIConnection + + + + +Node1->Node3 + + + + +Node4 + + +PIProtocol + + + + +Node1->Node4 + + + + +Node5 + + +PIStateMachine< Type > + + + + +Node1->Node5 + + + + +Node6 + + +PIThread + + + + +Node1->Node6 + + + + +Node17 + + +PITimer + + + + +Node1->Node17 + + + + +Node7 + + +PIConsole + + + + +Node6->Node7 + + + + +Node8 + + +PIIODevice + + + + +Node6->Node8 + + + + +Node15 + + +PIKbdListener + + + + +Node6->Node15 + + + + +Node16 + + +PIProcess + + + + +Node6->Node16 + + + + +Node9 + + +PIBinaryLog + + + + +Node8->Node9 + + + + +Node10 + + +PIEthernet + + + + +Node8->Node10 + + + + +Node11 + + +PIFile + + + + +Node8->Node11 + + + + +Node13 + + +PIPacketExtractor + + + + +Node8->Node13 + + + + +Node14 + + +PISerial + + + + +Node8->Node14 + + + + +Node12 + + +PIConfig + + + + +Node11->Node12 + + + + +Node18 + + +PIDiagnostics + + + + +Node17->Node18 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/html/class_p_i_object__inherit__graph_org.svg b/doc/html/class_p_i_object__inherit__graph_org.svg new file mode 100644 index 00000000..c81aba4f --- /dev/null +++ b/doc/html/class_p_i_object__inherit__graph_org.svg @@ -0,0 +1,239 @@ + + + + + + +PIObject + + +Node1 + +PIObject + + +Node2 + + +PICLI + + + + +Node1->Node2 + + + + +Node3 + + +PIConnection + + + + +Node1->Node3 + + + + +Node4 + + +PIProtocol + + + + +Node1->Node4 + + + + +Node5 + + +PIStateMachine< Type > + + + + +Node1->Node5 + + + + +Node6 + + +PIThread + + + + +Node1->Node6 + + + + +Node17 + + +PITimer + + + + +Node1->Node17 + + + + +Node7 + + +PIConsole + + + + +Node6->Node7 + + + + +Node8 + + +PIIODevice + + + + +Node6->Node8 + + + + +Node15 + + +PIKbdListener + + + + +Node6->Node15 + + + + +Node16 + + +PIProcess + + + + +Node6->Node16 + + + + +Node9 + + +PIBinaryLog + + + + +Node8->Node9 + + + + +Node10 + + +PIEthernet + + + + +Node8->Node10 + + + + +Node11 + + +PIFile + + + + +Node8->Node11 + + + + +Node13 + + +PIPacketExtractor + + + + +Node8->Node13 + + + + +Node14 + + +PISerial + + + + +Node8->Node14 + + + + +Node12 + + +PIConfig + + + + +Node11->Node12 + + + + +Node18 + + +PIDiagnostics + + + + +Node17->Node18 + + + + + diff --git a/doc/html/class_p_i_packet_extractor-members.html b/doc/html/class_p_i_packet_extractor-members.html new file mode 100644 index 00000000..f8529fb7 --- /dev/null +++ b/doc/html/class_p_i_packet_extractor-members.html @@ -0,0 +1,250 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIPacketExtractor Member List
+
+
+ +

This is the complete list of members for PIPacketExtractor, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bufferSize() const PIPacketExtractorinline
className() const PIObjectinlinevirtual
closeDevice()PIIODeviceinlineprotectedvirtual
configureDevice(const void *e_main, const void *e_parent=0)PIIODeviceinlineprotectedvirtual
configureFromFullPath(const PIString &full_path)PIIODeviceinlineprotectedvirtual
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
constructFullPath() const PIPacketExtractorvirtual
PIIODevice::data() const PIThreadinline
debug() const PIObjectinline
device()PIPacketExtractorinline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprotected
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
findByName(const PIString &name)PIObjectinlinestatic
Footer enum valuePIPacketExtractor
footer() const PIPacketExtractorinline
HANDLERPIObjectrelated
header() const PIPacketExtractorinline
Header enum valuePIPacketExtractor
HeaderAndFooter enum valuePIPacketExtractor
init()PIIODeviceinlineprotectedvirtual
isPropertyExists(const PIString &name) const PIObjectinline
isRunning() const PIThreadinline
lock()PIThreadinline
missedBytes() const PIPacketExtractorinline
missedBytes_ptr() const PIPacketExtractorinline
mutex()PIThreadinline
name() const PIObjectinline
needLockRun(bool need)PIThreadinline
None enum valuePIPacketExtractor
packetReceived(uchar *data, int size)PIPacketExtractor
packetSize() const PIPacketExtractorinline
payloadSize() const PIPacketExtractorinline
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
piHigh enum valuePIThread
piHighest enum valuePIThread
PIIODEVICEPIIODevicerelated
piLow enum valuePIThread
piLowerst enum valuePIThread
piNormal enum valuePIThread
PIOBJECTPIObjectrelated
PIObject(const PIString &name=PIString())PIObject
PIOBJECT_PARENTPIObjectrelated
PIPacketExtractor(PIIODevice *device_=0, SplitMode mode=None)PIPacketExtractor
PIThread(void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)PIThread
PIThread(bool startNow=false, int loop_delay=-1)PIThread
Priority enum namePIThread
priority() const PIThreadinline
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
read(void *read_to, int max_size)PIPacketExtractorinlinevirtual
readDeviceSetting(const PIString &name, const T &def, const PIConfig::Entry *em, const PIConfig::Entry *ep)PIIODevicerelated
REGISTER_DEVICEPIIODevicerelated
setBufferSize(int new_size)PIPacketExtractorinline
setData(void *d)PIThreadinline
setDebug(bool debug)PIObjectinline
setDevice(PIIODevice *device_)PIPacketExtractor
setFooter(const PIByteArray &data)PIPacketExtractor
setHeader(const PIByteArray &data)PIPacketExtractor
setName(const PIString &name)PIObjectinline
setPacketSize(int size)PIPacketExtractorinline
setPayloadSize(int size)PIPacketExtractor
setPriority(PIThread::Priority prior)PIThread
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
setSlot(ThreadFunc func)PIThreadinline
setSplitMode(SplitMode mode)PIPacketExtractorinline
setTimeout(double msecs)PIPacketExtractorinline
Size enum valuePIPacketExtractor
SplitMode enum namePIPacketExtractor
splitMode() const PIPacketExtractorinline
PIThread::start(int timer_delay)PIThread
PIThread::start(ThreadFunc func, int timer_delay)PIThreadinline
started()PIThread
startOnce()PIThread
startOnce(ThreadFunc func)PIThreadinline
stopped()PIThread
superClassName() const PIObjectinlinevirtual
Timeout enum valuePIPacketExtractor
timeout() const PIPacketExtractorinline
unlock()PIThreadinline
validateFooter(uchar *src, uchar *rec, int size)PIPacketExtractorinlineprotectedvirtual
validateHeader(uchar *src, uchar *rec, int size)PIPacketExtractorinlineprotectedvirtual
validatePayload(uchar *rec, int size)PIPacketExtractorinlineprotectedvirtual
waitForFinish(int timeout_msecs)PIThread
waitForStart(int timeout_msecs)PIThread
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
write(const void *data, int max_size)PIPacketExtractorinlinevirtual
+
+ + + + diff --git a/doc/html/class_p_i_packet_extractor.html b/doc/html/class_p_i_packet_extractor.html new file mode 100644 index 00000000..24f24fc9 --- /dev/null +++ b/doc/html/class_p_i_packet_extractor.html @@ -0,0 +1,854 @@ + + + + + + +PIP: PIPacketExtractor Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIPacketExtractor Class Reference
+
+
+ +

Packets extractor. + More...

+
+ + Inheritance diagram for PIPacketExtractor:
+
+
+ + + + + + + + + + +

+Public Types

enum  SplitMode {
+  None, +Header, +Footer, +HeaderAndFooter, +
+  Size, +Timeout +
+ }
 Extract algorithms. More...
 
- Public Types inherited from PIThread
enum  Priority {
+  piLowerst, +piLow, +piNormal, +piHigh, +
+  piHighest +
+ }
 Priority of thread. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIPacketExtractor (PIIODevice *device_=0, SplitMode mode=None)
 Contructs extractor with child device "device_" and extract algorithm "mode".
 
+PIIODevicedevice ()
 Returns child device.
 
+void setDevice (PIIODevice *device_)
 Set child device to "device_".
 
+int bufferSize () const
 Returns buffer size.
 
+void setBufferSize (int new_size)
 Set buffer size to "new_size" bytes, should be at least greater than whole packet size.
 
+void setSplitMode (SplitMode mode)
 Set extract algorithm.
 
+void setPayloadSize (int size)
 Set payload size, used for PIPacketExtractor::Header and PIPacketExtractor::Footer algorithms.
 
+void setHeader (const PIByteArray &data)
 Set header data, used for PIPacketExtractor::Header and PIPacketExtractor::HeaderAndFooter algorithms.
 
+void setFooter (const PIByteArray &data)
 Set footer data, used for PIPacketExtractor::Footer and PIPacketExtractor::HeaderAndFooter algorithms.
 
+void setPacketSize (int size)
 Set packet size, used for PIPacketExtractor::Size algorithm.
 
+void setTimeout (double msecs)
 Set timeout in milliseconds, used for PIPacketExtractor::Timeout algorithm.
 
+SplitMode splitMode () const
 Returns current extract algorithm.
 
+int payloadSize () const
 Returns current payload size, used for PIPacketExtractor::Header and PIPacketExtractor::Footer algorithms.
 
+PIByteArray header () const
 Returns current header data, used for PIPacketExtractor::Header and PIPacketExtractor::HeaderAndFooter algorithms.
 
+PIByteArray footer () const
 Returns current footer data, used for PIPacketExtractor::Footer and PIPacketExtractor::HeaderAndFooter algorithms.
 
+int packetSize () const
 Returns current packet size, used for PIPacketExtractor::Size algorithm.
 
+double timeout () const
 Returns current timeout in milliseconds, used for PIPacketExtractor::Timeout algorithm.
 
+ullong missedBytes () const
 Returns missed by validating functions bytes count.
 
+const ullong * missedBytes_ptr () const
 Returns pointer to missedBytes() count. Useful for output to PIConsole.
 
+int read (void *read_to, int max_size)
 Directly call read() function of child device.
 
+int write (const void *data, int max_size)
 Directly call write() function of child device.
 
+PIString constructFullPath () const
 Reimplement to construct full unambiguous string, describes this device, default returns fullPathPrefix() + "://" + path()
 
- Public Member Functions inherited from PIThread
PIThread (void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)
 Contructs thread with custom data "data", external function "func" and main loop delay "loop_delay".
 
PIThread (bool startNow=false, int loop_delay=-1)
 Contructs thread with main loop delay "loop_delay".
 
+void setData (void *d)
 Set common data passed to external function.
 
+void setSlot (ThreadFunc func)
 Set external function that will be executed after every run()
 
+void setPriority (PIThread::Priority prior)
 Set priority of thread.
 
+void * data () const
 Returns common data passed to external function.
 
+PIThread::Priority priority () const
 Return priority of thread.
 
+bool isRunning () const
 Return true if thread is running.
 
+void needLockRun (bool need)
 Set necessity of lock every run with internal mutex.
 
+PIMutexmutex ()
 Return internal mutex.
 
bool start (int timer_delay)
 Start thread. More...
 
bool start (ThreadFunc func, int timer_delay)
 Start thread. More...
 
bool startOnce ()
 Start thread without internal loop. More...
 
bool startOnce (ThreadFunc func)
 Start thread without internal loop. More...
 
void stop (bool wait)
 Stop thread. More...
 
void terminate ()
 Strongly stop thread. More...
 
bool waitForStart (int timeout_msecs)
 Wait for thread start. More...
 
bool waitForFinish (int timeout_msecs)
 Wait for thread finish. More...
 
+void lock ()
 Lock internal mutex.
 
+void unlock ()
 Unlock internal mutex.
 
+void started ()
 Raise on thread start.
 
+void stopped ()
 Raise on thread stop.
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

virtual bool validateHeader (uchar *src, uchar *rec, int size)
 Function to validate header. More...
 
virtual bool validateFooter (uchar *src, uchar *rec, int size)
 Function to validate footer. More...
 
virtual bool validatePayload (uchar *rec, int size)
 Function to validate payload. More...
 
- Protected Member Functions inherited from PIIODevice
+virtual bool init ()
 Function executed before first openDevice() or from constructor.
 
+virtual bool configureDevice (const void *e_main, const void *e_parent=0)
 Reimplement to configure device from entries "e_main" and "e_parent", cast arguments to PIConfig::Entry*.
 
+virtual bool closeDevice ()
 Reimplement to close device, inverse return value will be set to "opened_" variable.
 
+virtual void configureFromFullPath (const PIString &full_path)
 Reimplement to configure your device with parameters of full unambiguous string. Default implementation does nothing.
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+ + + + +

+Events

+void packetReceived (uchar *data, int size)
 Raise on successfull packetValidate() function.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
+

Detailed Description

+

Packets extractor.

+

+Synopsis

+

This class implements packet recognition by various algorithms and custom validating from data stream. Stream is formed from child PIIODevice passed from contructor or with function setDevice().

+

+Principle of work

+

PIPacketExtractor works with child PIIODevice. read and write functions directly call child device functions. You should start threaded read of extractor (not child device) to proper work. Extractor read data from child device, try to detect packet from readed data and raise packetReceived() event on success.

+

+Algorithms

+

There are 6 algorithms:
+

+

+Control validating

+

There are three parameters:

    +
  • header content
  • +
  • header size
  • +
  • payload size
  • +
+

Extractor can detect packet with compare your header with readed data. It is default implementation of function packetHeaderValidate(). If header validating passed, function packetValidate() will be called. If either of this function return false extractor shifts by one byte and takes next header. If both functions returns true extractor shifts by whole packet size.

+packet_detection.png +
+

Member Enumeration Documentation

+ +
+
+ +

Extract algorithms.

+ + + + + + + +
Enumerator
None  +

No data processing

+
Header  +

Detect packets with header() and following payloadSize()

+
Footer  +

Detect packets with footer() and leading payloadSize()

+
HeaderAndFooter  +

Detect packets with header() and footer() without payloadSize()

+
Size  +

Detect packets with packetSize()

+
Timeout  +

Wait for first read, then read for timeout() milliseconds

+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool PIPacketExtractor::validateHeader (uchar * src,
uchar * rec,
int size 
)
+
+inlineprotectedvirtual
+
+ +

Function to validate header.

+
Parameters
+ + + + +
srcYour header content
recReceived header
sizeHeader size
+
+
+

Default implementation returns by-byte "src" with "rec" compare result

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool PIPacketExtractor::validateFooter (uchar * src,
uchar * rec,
int size 
)
+
+inlineprotectedvirtual
+
+ +

Function to validate footer.

+
Parameters
+ + + + +
srcYour footer content
recReceived footer
sizeFooter size
+
+
+

Default implementation returns by-byte "src" with "rec" compare result

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool PIPacketExtractor::validatePayload (uchar * rec,
int size 
)
+
+inlineprotectedvirtual
+
+ +

Function to validate payload.

+
Parameters
+ + + +
recReceived payload
sizepayload size
+
+
+

Default implementation returns true

+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_packet_extractor.js b/doc/html/class_p_i_packet_extractor.js new file mode 100644 index 00000000..aa015a61 --- /dev/null +++ b/doc/html/class_p_i_packet_extractor.js @@ -0,0 +1,37 @@ +var class_p_i_packet_extractor = +[ + [ "SplitMode", "class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6", [ + [ "None", "class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6aab134660d4356d548ad2c7e9bb3ecae0", null ], + [ "Header", "class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a29b623cae95dfd777979c401d881c57f", null ], + [ "Footer", "class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a48ccac0df6bcb7bccaa01eb3df28f096", null ], + [ "HeaderAndFooter", "class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6aa588a5c0306511f74b66e60a24373f01", null ], + [ "Size", "class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a169d7eb9668b7d6077f6c00c558b12eb", null ], + [ "Timeout", "class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a4ea0db7f406eaa97adbacd580b919903", null ] + ] ], + [ "PIPacketExtractor", "class_p_i_packet_extractor.html#aa79460b536202e7c877f5eca4f5be089", null ], + [ "device", "class_p_i_packet_extractor.html#a8e926713a3505dd109176b2c572274c9", null ], + [ "setDevice", "class_p_i_packet_extractor.html#a82db047d7e3e58f8026028857b6b69c4", null ], + [ "bufferSize", "class_p_i_packet_extractor.html#ab9598fdc2e3a641a4d1b4a5c7b62313f", null ], + [ "setBufferSize", "class_p_i_packet_extractor.html#aa6f77a5a0acf43e7b69354e59c89523a", null ], + [ "setSplitMode", "class_p_i_packet_extractor.html#aaa8b6f0d301cd7b73fc6e9570462b6a1", null ], + [ "setPayloadSize", "class_p_i_packet_extractor.html#a0c0de7854ff8187b3cd280467a321ea5", null ], + [ "setHeader", "class_p_i_packet_extractor.html#ab35777c26316da887e36b0eeb56ef239", null ], + [ "setFooter", "class_p_i_packet_extractor.html#aaf0e85876d15690e47bced1da78efa65", null ], + [ "setPacketSize", "class_p_i_packet_extractor.html#a9c0b73a88a7ae8f4c724a4d99e34a783", null ], + [ "setTimeout", "class_p_i_packet_extractor.html#ade4301e8cad37f9a2c887913a3b1a69e", null ], + [ "splitMode", "class_p_i_packet_extractor.html#aea556fb1df7074461b7df1e3afa347b9", null ], + [ "payloadSize", "class_p_i_packet_extractor.html#af22580e67cd2601575a7834a4c9b414c", null ], + [ "header", "class_p_i_packet_extractor.html#a8e6ff4a862b5fc4826ceae42d630174c", null ], + [ "footer", "class_p_i_packet_extractor.html#a6382b9238ce84d3c93044dc96748d42a", null ], + [ "packetSize", "class_p_i_packet_extractor.html#a033ac83733f23c61a65ad9c810123219", null ], + [ "timeout", "class_p_i_packet_extractor.html#a369b3bfd48065cf9da70788015d6d020", null ], + [ "missedBytes", "class_p_i_packet_extractor.html#ac5a810fc6551422b92ace27652c24813", null ], + [ "missedBytes_ptr", "class_p_i_packet_extractor.html#ad8cbbb5d99d89629975913b134ad68a8", null ], + [ "read", "class_p_i_packet_extractor.html#aa41b9b23ba7a074398687edf82331b40", null ], + [ "write", "class_p_i_packet_extractor.html#aa3348c0df86c7de38ab6cfc02f3cfa2b", null ], + [ "constructFullPath", "class_p_i_packet_extractor.html#acbeb7fa7bdb01b164ce81df601bcee23", null ], + [ "packetReceived", "class_p_i_packet_extractor.html#a008181ba36bc58a7dcc137f49fcad261", null ], + [ "validateHeader", "class_p_i_packet_extractor.html#a96d2078759a69327089faeb37e09bf69", null ], + [ "validateFooter", "class_p_i_packet_extractor.html#ad52e9d11097e5b1d846787fcd1acb5ed", null ], + [ "validatePayload", "class_p_i_packet_extractor.html#ab1b8d323e26be97a126f3950e37ba647", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_packet_extractor__inherit__graph.map b/doc/html/class_p_i_packet_extractor__inherit__graph.map new file mode 100644 index 00000000..a369c7a6 --- /dev/null +++ b/doc/html/class_p_i_packet_extractor__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doc/html/class_p_i_packet_extractor__inherit__graph.md5 b/doc/html/class_p_i_packet_extractor__inherit__graph.md5 new file mode 100644 index 00000000..c6be3fd3 --- /dev/null +++ b/doc/html/class_p_i_packet_extractor__inherit__graph.md5 @@ -0,0 +1 @@ +c87daf468ecf9b3f492dee9268bfd2f6 \ No newline at end of file diff --git a/doc/html/class_p_i_packet_extractor__inherit__graph.svg b/doc/html/class_p_i_packet_extractor__inherit__graph.svg new file mode 100644 index 00000000..f77196b0 --- /dev/null +++ b/doc/html/class_p_i_packet_extractor__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +PIPacketExtractor + + +Node1 + +PIPacketExtractor + + +Node2 + + +PIIODevice + + + + +Node2->Node1 + + + + +Node3 + + +PIThread + + + + +Node3->Node2 + + + + +Node4 + + +PIObject + + + + +Node4->Node3 + + + + + diff --git a/doc/html/class_p_i_process-members.html b/doc/html/class_p_i_process-members.html new file mode 100644 index 00000000..3a96aed8 --- /dev/null +++ b/doc/html/class_p_i_process-members.html @@ -0,0 +1,213 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIProcess Member List
+
+
+ +

This is the complete list of members for PIProcess, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin()PIThreadinlineprivatevirtual
className() const PIObjectinlineprivatevirtual
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
data() const PIThreadinlineprivate
debug() const PIObjectinlineprivate
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprivate
end()PIThreadinlineprivatevirtual
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
findByName(const PIString &name)PIObjectinlineprivatestatic
HANDLERPIObjectrelated
isPropertyExists(const PIString &name) const PIObjectinlineprivate
isRunning() const PIThreadinlineprivate
lock()PIThreadinlineprivate
mutex()PIThreadinlineprivate
name() const PIObjectinlineprivate
needLockRun(bool need)PIThreadinlineprivate
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectprivatestatic
piDisconnect(PIObject *src)PIObjectprivatestatic
piHigh enum valuePIThreadprivate
piHighest enum valuePIThreadprivate
piLow enum valuePIThreadprivate
piLowerst enum valuePIThreadprivate
piNormal enum valuePIThreadprivate
PIOBJECTPIObjectrelated
PIObject(const PIString &name=PIString())PIObjectprivate
PIOBJECT_PARENTPIObjectrelated
PIThread(void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)PIThreadprivate
PIThread(bool startNow=false, int loop_delay=-1)PIThreadprivate
priority() const PIThreadinlineprivate
Priority enum namePIThreadprivate
properties() const PIObjectinlineprivate
propertiesCount() const PIObjectinlineprivate
property(const PIString &name) const PIObjectinlineprivate
propertyChanged(const PIString &name)PIObjectinlineprivatevirtual
setData(void *d)PIThreadinlineprivate
setDebug(bool debug)PIObjectinlineprivate
setName(const PIString &name)PIObjectinlineprivate
setPriority(PIThread::Priority prior)PIThreadprivate
setProperty(const PIString &name, const PIVariant &value)PIObjectinlineprivate
setSlot(ThreadFunc func)PIThreadinlineprivate
start(int timer_delay)PIThreadprivate
start(ThreadFunc func, int timer_delay)PIThreadinlineprivate
started()PIThreadprivate
startOnce()PIThreadprivate
startOnce(ThreadFunc func)PIThreadinlineprivate
stop(bool wait)PIThreadinlineprivate
stopped()PIThreadprivate
superClassName() const PIObjectinlineprivatevirtual
unlock()PIThreadinlineprivate
waitForStart(int timeout_msecs)PIThreadprivate
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
+
+ + + + diff --git a/doc/html/class_p_i_process.html b/doc/html/class_p_i_process.html new file mode 100644 index 00000000..b51ee07d --- /dev/null +++ b/doc/html/class_p_i_process.html @@ -0,0 +1,307 @@ + + + + + + +PIP: PIProcess Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIProcess Class Reference
+
+
+
+ + Inheritance diagram for PIProcess:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

+

Detailed Description

+

events: execStarted(PIString program) execFinished(PIString program, int exit_code)

+

handlers: bool exec(const PIString & program) bool exec(const PIString & program, const PIString & arg1) bool exec(const PIString & program, const PIString & arg1, const PIString & arg2) bool exec(const PIString & program, const PIString & arg1, const PIString & arg2, const PIString & arg3) bool exec(const PIString & program, const PIStringList & args) void terminate() bool waitForFinish(int timeout_msecs = 60000)

+
+
+ + + + diff --git a/doc/html/class_p_i_process__inherit__graph.map b/doc/html/class_p_i_process__inherit__graph.map new file mode 100644 index 00000000..9e6cbc1d --- /dev/null +++ b/doc/html/class_p_i_process__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/class_p_i_process__inherit__graph.md5 b/doc/html/class_p_i_process__inherit__graph.md5 new file mode 100644 index 00000000..f5029270 --- /dev/null +++ b/doc/html/class_p_i_process__inherit__graph.md5 @@ -0,0 +1 @@ +a692025996259e3de2ebb0ef02b62c8d \ No newline at end of file diff --git a/doc/html/class_p_i_process__inherit__graph.svg b/doc/html/class_p_i_process__inherit__graph.svg new file mode 100644 index 00000000..81f1abae --- /dev/null +++ b/doc/html/class_p_i_process__inherit__graph.svg @@ -0,0 +1,44 @@ + + + + + + +PIProcess + + +Node1 + +PIProcess + + +Node2 + + +PIThread + + + + +Node2->Node1 + + + + +Node3 + + +PIObject + + + + +Node3->Node2 + + + + + diff --git a/doc/html/class_p_i_protocol-members.html b/doc/html/class_p_i_protocol-members.html new file mode 100644 index 00000000..2782d130 --- /dev/null +++ b/doc/html/class_p_i_protocol-members.html @@ -0,0 +1,191 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIProtocol Member List
+
+
+ +

This is the complete list of members for PIProtocol, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Average enum valuePIProtocol
Bad enum valuePIProtocol
className() const PIObjectinlinevirtual
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
debug() const PIObjectinline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprotected
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
Failure enum valuePIProtocol
findByName(const PIString &name)PIObjectinlinestatic
Good enum valuePIProtocol
HANDLERPIObjectrelated
isPropertyExists(const PIString &name) const PIObjectinline
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
PIObject(const PIString &name=PIString())PIObject
PIOBJECTPIObjectrelated
PIOBJECT_PARENTPIObjectrelated
PIProtocol()PIProtocolinline
PIProtocol(const PIString &config, const PIString &name, void *recHeaderPtr=0, int recHeaderSize=0, void *recDataPtr=0, int recDataSize=0, void *sendDataPtr=0, int sendDataSize=0)PIProtocol
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIObjectinlineprotectedvirtual
Quality enum namePIProtocol
setDebug(bool debug)PIObjectinline
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
superClassName() const PIObjectinlinevirtual
Unknown enum valuePIProtocol
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
+
+ + + + diff --git a/doc/html/class_p_i_protocol.html b/doc/html/class_p_i_protocol.html new file mode 100644 index 00000000..99b057f6 --- /dev/null +++ b/doc/html/class_p_i_protocol.html @@ -0,0 +1,440 @@ + + + + + + +PIP: PIProtocol Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIProtocol Class Reference
+
+
+
+ + Inheritance diagram for PIProtocol:
+
+
+ + + + + + +

+Public Types

enum  Quality {
+  Unknown = 1, +Failure = 2, +Bad = 3, +Average = 4, +
+  Good = 5 +
+ }
 Connection quality. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIProtocol ()
 Contructs an empty unconfigured protocol.
 
PIProtocol (const PIString &config, const PIString &name, void *recHeaderPtr=0, int recHeaderSize=0, void *recDataPtr=0, int recDataSize=0, void *sendDataPtr=0, int sendDataSize=0)
 Contructs protocol configured from file "config", config file section "name".
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+

Detailed Description

+

events: void receiverStarted() void receiverStopped() void senderStarted() void senderStopped() void received(bool validate_is_ok) void qualityChanged(PIProtocol::Quality old_quality, PIProtocol::Quality new_quality)

+

handlers: void startReceive(float exp_frequency = -1.f) void stopReceive() void startSend(float frequency = -1.f) void stopSend() void start() void stop() void send() void send(const void * data, int size, bool direct = false)

+

+Synopsis

+

Member Enumeration Documentation

+ +
+
+ + + + +
enum PIProtocol::Quality
+
+ +

Connection quality.

+ + + + + + +
Enumerator
Unknown  +

Unknown, no one packet received yet

+
Failure  +

No connection, no one correct packet received for last period

+
Bad  +

Bad connection, correct packets received <= 20%

+
Average  +

Average connection, correct packets received > 20% and <= 80%

+
Good  +

Good connection, correct packets received > 80%

+
+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_protocol.js b/doc/html/class_p_i_protocol.js new file mode 100644 index 00000000..a27c46b8 --- /dev/null +++ b/doc/html/class_p_i_protocol.js @@ -0,0 +1,12 @@ +var class_p_i_protocol = +[ + [ "Quality", "class_p_i_protocol.html#aef1f5fa8173bcc220b07f084155ec868", [ + [ "Unknown", "class_p_i_protocol.html#aef1f5fa8173bcc220b07f084155ec868a53df11ad71f5084b02a504df41fd977a", null ], + [ "Failure", "class_p_i_protocol.html#aef1f5fa8173bcc220b07f084155ec868aedb67e105ac421f87d7c086213041812", null ], + [ "Bad", "class_p_i_protocol.html#aef1f5fa8173bcc220b07f084155ec868aab6ef6da8e37ad2a78028a631bc1bd26", null ], + [ "Average", "class_p_i_protocol.html#aef1f5fa8173bcc220b07f084155ec868a0f731aa8807989815ed9936e1bb35147", null ], + [ "Good", "class_p_i_protocol.html#aef1f5fa8173bcc220b07f084155ec868a79077b969773754677c555ec35c32d9b", null ] + ] ], + [ "PIProtocol", "class_p_i_protocol.html#ac5aa3e1546b771f82658bdcacb856898", null ], + [ "PIProtocol", "class_p_i_protocol.html#a5d4ccd507627a058c67ceec1d9774247", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_protocol__inherit__graph.map b/doc/html/class_p_i_protocol__inherit__graph.map new file mode 100644 index 00000000..402713ae --- /dev/null +++ b/doc/html/class_p_i_protocol__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/class_p_i_protocol__inherit__graph.md5 b/doc/html/class_p_i_protocol__inherit__graph.md5 new file mode 100644 index 00000000..9a371def --- /dev/null +++ b/doc/html/class_p_i_protocol__inherit__graph.md5 @@ -0,0 +1 @@ +e32bf6ef4c4b746416327d7bc08ee766 \ No newline at end of file diff --git a/doc/html/class_p_i_protocol__inherit__graph.svg b/doc/html/class_p_i_protocol__inherit__graph.svg new file mode 100644 index 00000000..941752ec --- /dev/null +++ b/doc/html/class_p_i_protocol__inherit__graph.svg @@ -0,0 +1,31 @@ + + + + + + +PIProtocol + + +Node1 + +PIProtocol + + +Node2 + + +PIObject + + + + +Node2->Node1 + + + + + diff --git a/doc/html/class_p_i_serial-members.html b/doc/html/class_p_i_serial-members.html new file mode 100644 index 00000000..a005841a --- /dev/null +++ b/doc/html/class_p_i_serial-members.html @@ -0,0 +1,223 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PISerial Member List
+
+
+ +

This is the complete list of members for PISerial, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
className() const PIObjectinlinevirtual
closeDevice()PISerialprotectedvirtual
configureDevice(const void *e_main, const void *e_parent=0)PISerialprotectedvirtual
configureFromFullPath(const PIString &full_path)PISerialprotectedvirtual
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
data() const PIThreadinline
debug() const PIObjectinline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprotected
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
findByName(const PIString &name)PIObjectinlinestatic
fullPathPrefix() const PISerialinlineprotectedvirtual
HANDLERPIObjectrelated
init()PIIODeviceinlineprotectedvirtual
isPropertyExists(const PIString &name) const PIObjectinline
isRunning() const PIThreadinline
lock()PIThreadinline
mutex()PIThreadinline
name() const PIObjectinline
needLockRun(bool need)PIThreadinline
openDevice()PISerialprotectedvirtual
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
piHigh enum valuePIThread
piHighest enum valuePIThread
PIIODEVICEPIIODevicerelated
piLow enum valuePIThread
piLowerst enum valuePIThread
piNormal enum valuePIThread
PIOBJECTPIObjectrelated
PIObject(const PIString &name=PIString())PIObject
PIOBJECT_PARENTPIObjectrelated
PIThread(void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)PIThread
PIThread(bool startNow=false, int loop_delay=-1)PIThread
Priority enum namePIThread
priority() const PIThreadinline
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIObjectinlineprotectedvirtual
readDeviceSetting(const PIString &name, const T &def, const PIConfig::Entry *em, const PIConfig::Entry *ep)PIIODevicerelated
received(const void *data, int size)PISerialinlineprotectedvirtual
REGISTER_DEVICEPIIODevicerelated
setData(void *d)PIThreadinline
setDebug(bool debug)PIObjectinline
setName(const PIString &name)PIObjectinline
setPriority(PIThread::Priority prior)PIThread
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
setSlot(ThreadFunc func)PIThreadinline
PIThread::start(int timer_delay)PIThread
PIThread::start(ThreadFunc func, int timer_delay)PIThreadinline
started()PIThread
startOnce()PIThread
startOnce(ThreadFunc func)PIThreadinline
stopped()PIThread
superClassName() const PIObjectinlinevirtual
threadedRead(uchar *readed, int size)PIIODeviceinlineprotectedvirtual
unlock()PIThreadinline
waitForFinish(int timeout_msecs)PIThread
waitForStart(int timeout_msecs)PIThread
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
write(const void *data, int max_size)PISerialinlineprotectedvirtual
+
+ + + + diff --git a/doc/html/class_p_i_serial.html b/doc/html/class_p_i_serial.html new file mode 100644 index 00000000..a4abb71e --- /dev/null +++ b/doc/html/class_p_i_serial.html @@ -0,0 +1,531 @@ + + + + + + +PIP: PISerial Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PISerial Class Reference
+
+
+ +

Serial device. + More...

+
+ + Inheritance diagram for PISerial:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+PIString fullPathPrefix () const
 Reimplement to construct full unambiguous string prefix. Creating devices by unambiguous string.
 
+void configureFromFullPath (const PIString &full_path)
 Reimplement to configure your device with parameters of full unambiguous string. Default implementation does nothing.
 
+bool configureDevice (const void *e_main, const void *e_parent=0)
 Reimplement to configure device from entries "e_main" and "e_parent", cast arguments to PIConfig::Entry*.
 
+int write (const void *data, int max_size)
 Reimplement this function to write to your device.
 
+virtual void received (const void *data, int size)
 Executes when any read function was successful. Default implementation does nothing.
 
+bool openDevice ()
 Reimplement to open device, return value will be set to "opened_" variable.
 
+bool closeDevice ()
 Reimplement to close device, inverse return value will be set to "opened_" variable.
 
- Protected Member Functions inherited from PIIODevice
+virtual bool init ()
 Function executed before first openDevice() or from constructor.
 
+virtual bool threadedRead (uchar *readed, int size)
 Function executed when thread read some data, default implementation execute external slot "ret_func_".
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from PIThread
enum  Priority {
+  piLowerst, +piLow, +piNormal, +piHigh, +
+  piHighest +
+ }
 Priority of thread. More...
 
- Public Member Functions inherited from PIThread
PIThread (void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)
 Contructs thread with custom data "data", external function "func" and main loop delay "loop_delay".
 
PIThread (bool startNow=false, int loop_delay=-1)
 Contructs thread with main loop delay "loop_delay".
 
+void setData (void *d)
 Set common data passed to external function.
 
+void setSlot (ThreadFunc func)
 Set external function that will be executed after every run()
 
+void setPriority (PIThread::Priority prior)
 Set priority of thread.
 
+void * data () const
 Returns common data passed to external function.
 
+PIThread::Priority priority () const
 Return priority of thread.
 
+bool isRunning () const
 Return true if thread is running.
 
+void needLockRun (bool need)
 Set necessity of lock every run with internal mutex.
 
+PIMutexmutex ()
 Return internal mutex.
 
bool start (int timer_delay)
 Start thread. More...
 
bool start (ThreadFunc func, int timer_delay)
 Start thread. More...
 
bool startOnce ()
 Start thread without internal loop. More...
 
bool startOnce (ThreadFunc func)
 Start thread without internal loop. More...
 
void stop (bool wait)
 Stop thread. More...
 
void terminate ()
 Strongly stop thread. More...
 
bool waitForStart (int timeout_msecs)
 Wait for thread start. More...
 
bool waitForFinish (int timeout_msecs)
 Wait for thread finish. More...
 
+void lock ()
 Lock internal mutex.
 
+void unlock ()
 Unlock internal mutex.
 
+void started ()
 Raise on thread start.
 
+void stopped ()
 Raise on thread stop.
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
+

Detailed Description

+

Serial device.

+

+Synopsis

+

This class provide access to serial device, e.g. COM port. It can read, write, wait for write. There are several read and write functions.

+
+
+ + + + diff --git a/doc/html/class_p_i_serial.js b/doc/html/class_p_i_serial.js new file mode 100644 index 00000000..441f4626 --- /dev/null +++ b/doc/html/class_p_i_serial.js @@ -0,0 +1,10 @@ +var class_p_i_serial = +[ + [ "fullPathPrefix", "class_p_i_serial.html#a618759d595670e96afa8103102e98ec7", null ], + [ "configureFromFullPath", "class_p_i_serial.html#a5c31bf29e311d1ea5e188adab37703e6", null ], + [ "configureDevice", "class_p_i_serial.html#a6fa0f2c099da80fe406cd38b7e552d5b", null ], + [ "write", "class_p_i_serial.html#a544a191409e7088b1c7e6a35844c8f7b", null ], + [ "received", "class_p_i_serial.html#aafc6d34cbbdef49fed9454403056a948", null ], + [ "openDevice", "class_p_i_serial.html#a4341607c7ecd49b68b368a9cbc49207a", null ], + [ "closeDevice", "class_p_i_serial.html#aa8f0b19f15100b7bc01c6f87b1eaa587", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_serial__inherit__graph.map b/doc/html/class_p_i_serial__inherit__graph.map new file mode 100644 index 00000000..d3594ded --- /dev/null +++ b/doc/html/class_p_i_serial__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doc/html/class_p_i_serial__inherit__graph.md5 b/doc/html/class_p_i_serial__inherit__graph.md5 new file mode 100644 index 00000000..d6a88ea0 --- /dev/null +++ b/doc/html/class_p_i_serial__inherit__graph.md5 @@ -0,0 +1 @@ +6b0aa238526ec689ba5f1659df485a78 \ No newline at end of file diff --git a/doc/html/class_p_i_serial__inherit__graph.svg b/doc/html/class_p_i_serial__inherit__graph.svg new file mode 100644 index 00000000..a5e158ee --- /dev/null +++ b/doc/html/class_p_i_serial__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +PISerial + + +Node1 + +PISerial + + +Node2 + + +PIIODevice + + + + +Node2->Node1 + + + + +Node3 + + +PIThread + + + + +Node3->Node2 + + + + +Node4 + + +PIObject + + + + +Node4->Node3 + + + + + diff --git a/doc/html/class_p_i_set-members.html b/doc/html/class_p_i_set-members.html new file mode 100644 index 00000000..09f0dfae --- /dev/null +++ b/doc/html/class_p_i_set-members.html @@ -0,0 +1,135 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PISet< T > Member List
+
+
+ +

This is the complete list of members for PISet< T >, including all inherited members.

+ + + + + + + + + +
operator[](const T &t) const PISet< T >inline
PISet()PISet< T >inline
PISet(const T &value)PISet< T >inline
PISet(const T &v0, const T &v1)PISet< T >inline
PISet(const T &v0, const T &v1, const T &v2)PISet< T >inline
PISet(const T &v0, const T &v1, const T &v2, const T &v3)PISet< T >inline
remove(const T &t)PISet< T >inline
toVector() const PISet< T >inline
+
+ + + + diff --git a/doc/html/class_p_i_set.html b/doc/html/class_p_i_set.html new file mode 100644 index 00000000..403bd9e6 --- /dev/null +++ b/doc/html/class_p_i_set.html @@ -0,0 +1,175 @@ + + + + + + +PIP: PISet< T > Class Template Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PISet< T > Class Template Reference
+
+
+ +

Set of any type. + More...

+ +

Inherits PIMap< Key, T >.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PISet ()
 Contructs an empty set.
 
PISet (const T &value)
 Contructs set with one element "value".
 
PISet (const T &v0, const T &v1)
 Contructs set with elements "v0" and "v1".
 
PISet (const T &v0, const T &v1, const T &v2)
 Contructs set with elements "v0", "v1" and "v2".
 
PISet (const T &v0, const T &v1, const T &v2, const T &v3)
 Contructs set with elements "v0", "v1", "v2" and "v3".
 
+bool operator[] (const T &t) const
 Returns if element "t" exists in this set.
 
+PISet< T > & remove (const T &t)
 Returns if element "t" exists in this set.
 
+PIVector< T > toVector () const
 Returns content of set as PIVector.
 
+

Detailed Description

+

template<typename T>
+class PISet< T >

+ +

Set of any type.

+

This class used to store collection of unique elements of any type. You can only add values to set with operator<< or with function insert(). You can discover if value already in set with operator[] or with function find(). These function has logarithmic complexity.

+
+
+ + + + diff --git a/doc/html/class_p_i_set.js b/doc/html/class_p_i_set.js new file mode 100644 index 00000000..f216a62c --- /dev/null +++ b/doc/html/class_p_i_set.js @@ -0,0 +1,11 @@ +var class_p_i_set = +[ + [ "PISet", "class_p_i_set.html#a0611208edb84f2529cb2e2782c3239fd", null ], + [ "PISet", "class_p_i_set.html#ab2a248ae703457ca45cfa55972e1252a", null ], + [ "PISet", "class_p_i_set.html#aebcd07da3920c925af21ad1634dde44b", null ], + [ "PISet", "class_p_i_set.html#a0da9d93a30b419270d6389433266b376", null ], + [ "PISet", "class_p_i_set.html#a5170af33fced202a149267f84baaa65c", null ], + [ "operator[]", "class_p_i_set.html#ab4b957ab5ad99589a07cea34cce4b4ca", null ], + [ "remove", "class_p_i_set.html#aeb31ad164a71727de75ee18f7767d07c", null ], + [ "toVector", "class_p_i_set.html#aa922f639869b9556b0ade5a4099fe0de", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_state_machine-members.html b/doc/html/class_p_i_state_machine-members.html new file mode 100644 index 00000000..05d06d46 --- /dev/null +++ b/doc/html/class_p_i_state_machine-members.html @@ -0,0 +1,209 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIStateMachine< Type > Member List
+
+
+ +

This is the complete list of members for PIStateMachine< Type >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addRule(Type from, Type to, const PIString &condition, Handler handler=0, bool autoTransition=false, bool resetAllConditions=false)PIStateMachine< Type >inline
addRule(Type from, Type to, Handler handler, bool autoTransition=false, bool resetAllConditions=false)PIStateMachine< Type >inline
addRule(Type from, Type to, const PIStringList &conditions=PIStringList(), Handler handler=0, bool autoTransition=false, bool resetAllConditions=false)PIStateMachine< Type >inline
addRule(const Rule &rule)PIStateMachine< Type >inline
addState(Type value, const PIString &name="", Handler handler=0)PIStateMachine< Type >inline
className() const PIObjectinlinevirtual
clearRules()PIStateMachine< Type >inline
clearStates()PIStateMachine< Type >inline
Condition typedefPIStateMachine< Type >
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
currentConditions() const PIStateMachine< Type >inline
currentState() const PIStateMachine< Type >inline
debug() const PIObjectinline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprotected
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
execution(const State &state)PIStateMachine< Type >inlineprotectedvirtual
findByName(const PIString &name)PIObjectinlinestatic
HANDLERPIObjectrelated
isPropertyExists(const PIString &name) const PIObjectinline
name() const PIObjectinline
performCondition(const PIString &name, int times=1)PIStateMachine< Type >inline
performConditions(const PIStringList &names)PIStateMachine< Type >inline
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
PIOBJECTPIObjectrelated
PIObject(const PIString &name=PIString())PIObject
PIOBJECT_PARENTPIObjectrelated
PIStateMachine(void *_parent=0)PIStateMachine< Type >inline
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIObjectinlineprotectedvirtual
reset()PIStateMachine< Type >inline
resetCondition(const PIString &name)PIStateMachine< Type >inline
resetConditions()PIStateMachine< Type >inline
rulesCount() const PIStateMachine< Type >inline
setDebug(bool debug)PIObjectinline
setInitialState(Type value)PIStateMachine< Type >inline
setName(const PIString &name)PIObjectinline
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
statesCount() const PIStateMachine< Type >inline
superClassName() const PIObjectinlinevirtual
switchToState(Type to)PIStateMachine< Type >inline
tick()PIStateMachine< Type >inline
tick(void *data, int delim)PIStateMachine< Type >inline
transition(const State &from, const State &to)PIStateMachine< Type >inlineprotectedvirtual
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
+
+ + + + diff --git a/doc/html/class_p_i_state_machine.html b/doc/html/class_p_i_state_machine.html new file mode 100644 index 00000000..ddfddfb9 --- /dev/null +++ b/doc/html/class_p_i_state_machine.html @@ -0,0 +1,626 @@ + + + + + + +PIP: PIStateMachine< Type > Class Template Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIStateMachine< Type > Class Template Reference
+
+
+ +

Base class for custom state machine. + More...

+
+ + Inheritance diagram for PIStateMachine< Type >:
+
+
+ + + + + + + + + +

+Classes

struct  Rule
 Rule of transition between states of machine More...
 
struct  State
 State of machine More...
 
+ + + + +

+Public Types

+typedef PIPair< PIString, int > Condition
 Condition is a pair (string, number)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIStateMachine (void *_parent=0)
 Constructs an empty state machine.
 
+void addState (Type value, const PIString &name="", Handler handler=0)
 Add state of machine.
 
+int statesCount () const
 States count.
 
+void clearStates ()
 Remove all states.
 
+void addRule (Type from, Type to, const PIString &condition, Handler handler=0, bool autoTransition=false, bool resetAllConditions=false)
 Add rule of transition.
 
+void addRule (Type from, Type to, Handler handler, bool autoTransition=false, bool resetAllConditions=false)
 Add rule of transition.
 
+void addRule (Type from, Type to, const PIStringList &conditions=PIStringList(), Handler handler=0, bool autoTransition=false, bool resetAllConditions=false)
 Add rule of transition.
 
+void addRule (const Rule &rule)
 Add rule of transition.
 
+int rulesCount () const
 Rules count.
 
+void clearRules ()
 Remove all rules.
 
+void setInitialState (Type value)
 Setup initial state. reset() will set machine state to "value".
 
bool switchToState (Type to)
 Try to switch machine state to state "to". More...
 
+void reset ()
 Reset machine state to initial and clear all conditions.
 
+const StatecurrentState () const
 Returns current state of machine.
 
+void resetConditions ()
 Reset all performed conditions.
 
+void resetCondition (const PIString &name)
 Reset performed condition with name "name".
 
+void performCondition (const PIString &name, int times=1)
 Perform condition with name "name" "times" times.
 
+void performConditions (const PIStringList &names)
 Perform every condition with name from "names" one time.
 
+const PIVector< Condition > & currentConditions () const
 Returns all current performed conditions.
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
+ + + + + + + + + + + + + + +

+Protected Member Functions

+virtual void execution (const State &state)
 Reimplement this function to process current state of machine.
 
+virtual void transition (const State &from, const State &to)
 Reimplement this function to process switching current state of machine.
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+ + + + + + + +

+Handlers

+void tick ()
 Main function of machine. Execute execution() and check if need to switch state.
 
+void tick (void *data, int delim)
 Main function of machine. Execute execution() and check if need to switch state.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
+

Detailed Description

+

template<typename Type = int>
+class PIStateMachine< Type >

+ +

Base class for custom state machine.

+

+Synopsis

+

This class provide functionality of state machine. You should inherit from this class, implement execution() and transition() functions, set rules and periodically call tick() function to proper work of machine.

+

+Prepare for work

+

State machine operates with "state", "rule" and "condition".

    +
  • "State" is some class (by default int), associated name and optional "handler" - pointer to function executed on every tick();
  • +
  • "Rule" define rule of transition from one machine state to other. It is also has optional "handler";
  • +
  • "Condition" is a part of rule and define possibility of transition.
  • +
+

First of all you should define states of your machine by function addState(). Then you should define transition rules for machine by function addRule(). Finally you can set initial state by function setInitialState() and provide periodically execution of function tick().

+

+Principle of work

+

At any time the state machine is in some state. You can ask machine to enter in new state by function switchToState(). If all conditions done machine switch it state immediately, else machine remember request and will be try switch to the new state every tick. Successfull state switching execute function transition(), every tick execute function execution() with current state. On successfull transition if rule "handler" is not null it execute. Every tick() if current state "handler" is not null it execute.

+

+Conditions

+

Each rule has transition condition. Condition is array of pairs (string, number). It means that every condition by name "string" should be performed as least "number" times. Empty condition always permits transition.

+

State machine have current performed conditions. You can read this conditions by function currentConditions() and perform new conditions by functions performCondition() and performConditions(). Currend conditions can de erased by function resetConditions().

+

+Example

+

This is simple example demonstrates all features:

#include "pip.h"
+
+
enum Mode {Start, Manual, Auto, Finish, End};
+
+
class Machine: public PIStateMachine<Mode> {
+
PIOBJECT(Machine)
+
public:
+
Machine() {
+
addState(Start, "start", HANDLER(startFunc));
+
addState(Manual, "manual", HANDLER(manualFunc));
+
addState(Auto, "auto", HANDLER(autoFunc));
+
addState(Finish, "finish", HANDLER(finishFunc));
+
addState(End, "end", HANDLER(endFunc));
+
+
addRule(Start, Manual, "init_ok", HANDLER(beginManualFunc));
+
addRule(Start, Auto, "init_ok", HANDLER(beginAutoFunc));
+
addRule(Manual, Auto, HANDLER(manualToAutoFunc));
+
addRule(Auto, Manual, HANDLER(autoToManualFunc));
+
addRule(Manual, Finish);
+
addRule(Auto, Finish);
+
Rule r(Finish, End);
+
r.addCondition("finish_0_ok");
+
r.addCondition("finish_1_ok", 2);
+
addRule(r);
+
+ +
+
CONNECT2(void, void*, int, &timer, timeout, this, tick);
+
timer.start(500);
+
}
+
virtual void execution(const State & state) {
+
piCout << "performed conditions:" << currentConditions();
+
}
+
virtual void transition(const State & from, const State & to) {
+
piCout << "switch from" << from.name << "to" << to.name << "state";
+
}
+
+
EVENT_HANDLER(void, startFunc) {piCout << "start function";}
+
EVENT_HANDLER(void, manualFunc) {piCout << "manual function";}
+
EVENT_HANDLER(void, autoFunc) {piCout << "auto function";}
+
EVENT_HANDLER(void, finishFunc) {piCout << "finish function";}
+
EVENT_HANDLER(void, endFunc) {piCout << "end function";}
+
EVENT_HANDLER(void, beginManualFunc) {piCout << "begin manual function";}
+
EVENT_HANDLER(void, beginAutoFunc) {piCout << "begin auto function";}
+
EVENT_HANDLER(void, autoToManualFunc) {piCout << "switch from auto to manual function";}
+
EVENT_HANDLER(void, manualToAutoFunc) {piCout << "switch from manual to auto function";}
+
+
PITimer timer;
+
};
+
+
Machine machine;
+
+
void key_event(char key, void*) {
+
switch (key) {
+
case 's': machine.switchToState(Start); break;
+
case 'm': machine.switchToState(Manual); break;
+
case 'a': machine.switchToState(Auto); break;
+
case 'f': machine.switchToState(Finish); break;
+
case 'e': machine.switchToState(End); break;
+
case '1': machine.performCondition("init_ok"); break;
+
case '2': machine.performCondition("finish_0_ok"); break;
+
case '3': machine.performCondition("finish_1_ok"); break;
+
case 'r': machine.resetConditions(); break;
+
case 'R': machine.reset(); break;
+
}
+
}
+
+
int main(int argc, char * argv[]) {
+
PIKbdListener kbd(key_event);
+
kbd.enableExitCapture();
+
WAIT_FOR_EXIT
+
};
+

Member Function Documentation

+ +
+
+
+template<typename Type = int>
+ + + + + +
+ + + + + + + + +
bool PIStateMachine< Type >::switchToState (Type to)
+
+inline
+
+ +

Try to switch machine state to state "to".

+

If there is rule of transition exists and this rule conditions is performed then machine switched to new state immediately. Otherwise machine will be try to enter to new state every tick().

Returns
true if state switched immediately, otherwise false
+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_state_machine.js b/doc/html/class_p_i_state_machine.js new file mode 100644 index 00000000..10c59e0a --- /dev/null +++ b/doc/html/class_p_i_state_machine.js @@ -0,0 +1,29 @@ +var class_p_i_state_machine = +[ + [ "Rule", "struct_p_i_state_machine_1_1_rule.html", "struct_p_i_state_machine_1_1_rule" ], + [ "State", "struct_p_i_state_machine_1_1_state.html", "struct_p_i_state_machine_1_1_state" ], + [ "Condition", "class_p_i_state_machine.html#abc7ad84744d038a0eb598e82ac536ed7", null ], + [ "PIStateMachine", "class_p_i_state_machine.html#a5a9c75f183207bc366b2f0531473b905", null ], + [ "addState", "class_p_i_state_machine.html#ac26f6300f7545b0182e3a52805b04cd6", null ], + [ "statesCount", "class_p_i_state_machine.html#ab0e424ab27e2edca90cdf1c368f4686f", null ], + [ "clearStates", "class_p_i_state_machine.html#a18bceb62d18013df1459c3bb442eb7e8", null ], + [ "addRule", "class_p_i_state_machine.html#aee180e7f75ece9aef1c3d8a94095ed21", null ], + [ "addRule", "class_p_i_state_machine.html#a52703fc2cac4578a7a70b57aeb8742fc", null ], + [ "addRule", "class_p_i_state_machine.html#a2bda5abc394ca0d479faf01050c5b843", null ], + [ "addRule", "class_p_i_state_machine.html#a60f175d31774c0a01689ebe4a463dd85", null ], + [ "rulesCount", "class_p_i_state_machine.html#af5c2a2973b22c37217a1d74c60aab909", null ], + [ "clearRules", "class_p_i_state_machine.html#a1e44d3e3cacd745413e84272993a6407", null ], + [ "setInitialState", "class_p_i_state_machine.html#a42b22e027a498659282a4838d576eb80", null ], + [ "switchToState", "class_p_i_state_machine.html#af4aa7b86c70425bfc9690e4c27ab6cf7", null ], + [ "reset", "class_p_i_state_machine.html#a2dbebcfe51dfd85c568bcc5eab3a4d40", null ], + [ "currentState", "class_p_i_state_machine.html#a2335fae60078ae68750df3ca50d95850", null ], + [ "resetConditions", "class_p_i_state_machine.html#aa932844b2866a28e24028020c33fe23a", null ], + [ "resetCondition", "class_p_i_state_machine.html#a8c62341c659ed29e4ba25672162aafc0", null ], + [ "performCondition", "class_p_i_state_machine.html#a0c51b3d6ffd0a96ae5b24a2c06ae20e3", null ], + [ "performConditions", "class_p_i_state_machine.html#a0c2a680c0a10c9440bbe89dccc55ee0c", null ], + [ "currentConditions", "class_p_i_state_machine.html#ab49ff1a9fc9b2a354cd5493a5fd3859a", null ], + [ "tick", "class_p_i_state_machine.html#a37e8b9df953d6948e84d061bc02e5903", null ], + [ "tick", "class_p_i_state_machine.html#a6a262d1d71be95b5b5d4f5d7b276c8f7", null ], + [ "execution", "class_p_i_state_machine.html#a59c79d761ab1c4b64a655e55c6a93904", null ], + [ "transition", "class_p_i_state_machine.html#ad848623075776b802de3fc22b4a08cea", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_state_machine__inherit__graph.map b/doc/html/class_p_i_state_machine__inherit__graph.map new file mode 100644 index 00000000..45fc754a --- /dev/null +++ b/doc/html/class_p_i_state_machine__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/class_p_i_state_machine__inherit__graph.md5 b/doc/html/class_p_i_state_machine__inherit__graph.md5 new file mode 100644 index 00000000..67dc31e7 --- /dev/null +++ b/doc/html/class_p_i_state_machine__inherit__graph.md5 @@ -0,0 +1 @@ +5a04af85317b4c40db5345fba502dd89 \ No newline at end of file diff --git a/doc/html/class_p_i_state_machine__inherit__graph.svg b/doc/html/class_p_i_state_machine__inherit__graph.svg new file mode 100644 index 00000000..1a4a2bac --- /dev/null +++ b/doc/html/class_p_i_state_machine__inherit__graph.svg @@ -0,0 +1,31 @@ + + + + + + +PIStateMachine< Type > + + +Node1 + +PIStateMachine< Type > + + +Node2 + + +PIObject + + + + +Node2->Node1 + + + + + diff --git a/doc/html/class_p_i_string-members.html b/doc/html/class_p_i_string-members.html new file mode 100644 index 00000000..c4d1ae43 --- /dev/null +++ b/doc/html/class_p_i_string-members.html @@ -0,0 +1,275 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIString Member List
+
+
+ +

This is the complete list of members for PIString, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
append(const PIString &str)PIStringinline
cutLeft(const int len)PIStringinline
cutMid(const int start, const int len)PIString
cutRight(const int len)PIStringinline
data() const PIString
endsWith(const PIString &str) const PIString
expandLeftTo(const int len, const PIChar &c)PIStringinline
expandRightTo(const int len, const PIChar &c)PIStringinline
find(const char str, const int start=0) const PIString
find(const PIString str, const int start=0) const PIString
find(const char *str, const int start=0) const PIStringinline
find(const string str, const int start=0) const PIStringinline
findCWord(const PIString &word, const int start=0) const PIString
findLast(const char str, const int start=0) const PIString
findLast(const PIString str, const int start=0) const PIString
findLast(const char *str, const int start=0) const PIStringinline
findLast(const string str, const int start=0) const PIStringinline
findWord(const PIString &word, const int start=0) const PIString
fromBool(const bool value)PIStringinlinestatic
fromNumber(const short value, int base=10, bool *ok=0)PIStringinlinestatic
fromNumber(const ushort value, int base=10, bool *ok=0)PIStringinlinestatic
fromNumber(const int value, int base=10, bool *ok=0)PIStringinlinestatic
fromNumber(const uint value, int base=10, bool *ok=0)PIStringinlinestatic
fromNumber(const long value, int base=10, bool *ok=0)PIStringinlinestatic
fromNumber(const ulong value, int base=10, bool *ok=0)PIStringinlinestatic
fromNumber(const llong &value, int base=10, bool *ok=0)PIStringinlinestatic
fromNumber(const ullong &value, int base=10, bool *ok=0)PIStringinlinestatic
fromNumber(const float value)PIStringinlinestatic
fromNumber(const double &value)PIStringinlinestatic
fromNumber(const ldouble &value)PIStringinlinestatic
insert(const int index, const PIChar &c)PIStringinline
insert(const int index, const char &c)PIStringinline
insert(const int index, const PIString &str)PIString
insert(const int index, const char *c)PIStringinline
isEmpty() const PIStringinline
left(const int len) const PIStringinline
length() const PIStringinline
lengthAscii() const PIString
mid(const int start, const int len=-1) const PIString
operator const char *()PIStringinline
operator const string()PIStringinline
operator!=(const PIString &str) const PIString
operator!=(const PIChar c) const PIStringinline
operator!=(const char *str) const PIStringinline
operator!=(const string &str) const PIStringinline
operator+(const PIString &str, const PIString &f)PIStringrelated
operator+(const PIString &f, const char *str)PIStringrelated
operator+(const PIString &f, const string &str)PIStringrelated
operator+(const char *str, const PIString &f)PIStringrelated
operator+(const string &str, const PIString &f)PIStringrelated
operator<(const PIString &str) const PIString
operator<(const PIChar c) const PIStringinline
operator<(const char *str) const PIStringinline
operator<(const string &str) const PIStringinline
operator<<(const PIString &str)PIStringinline
operator<<(const PIChar &c)PIStringinline
operator<<(const char *str)PIStringinline
operator<<(const wchar_t *str)PIStringinline
operator<<(const string &str)PIStringinline
operator<<(const int &num)PIStringinline
operator<<(const short &num)PIStringinline
operator<<(const long &num)PIStringinline
operator<<(const float &num)PIStringinline
operator<<(const double &num)PIStringinline
operator<<(std::ostream &s, const PIString &v)PIStringrelated
operator<=(const PIString &str) const PIStringinline
operator<=(const PIChar c) const PIStringinline
operator<=(const char *str) const PIStringinline
operator<=(const string &str) const PIStringinline
operator==(const PIString &str) const PIString
operator==(const PIChar c) const PIStringinline
operator==(const char *str) const PIStringinline
operator==(const string &str) const PIStringinline
operator>(const PIString &str) const PIString
operator>(const PIChar c) const PIStringinline
operator>(const char *str) const PIStringinline
operator>(const string &str) const PIStringinline
operator>=(const PIString &str) const PIStringinline
operator>=(const PIChar c) const PIStringinline
operator>=(const char *str) const PIStringinline
operator>=(const string &str) const PIStringinline
operator>>(std::istream &s, PIString &v)PIStringrelated
operator[](const int pos) const PIStringinline
operator[](const int pos)PIStringinline
PIString()PIStringinline
PIString(const PIChar &c)PIStringinline
PIString(const char *str)PIStringinline
PIString(const wchar_t *str)PIStringinline
PIString(const string &str)PIStringinline
PIString(const PIByteArray &ba)PIStringinline
PIString(const PIChar *str, const int len)PIStringinline
PIString(const char *str, const int len)PIStringinline
PIString(const int len, const char c)PIStringinline
PIString(const int len, const PIChar &c)PIStringinline
prepend(const PIString &str)PIStringinline
readableSize(llong bytes)PIStringinlinestatic
repeat(int times)PIStringinline
repeated(int times) const PIStringinline
replace(const int from, const int count, const PIString &with)PIString
replace(const PIString &what, const PIString &with, bool *ok=0)PIString
replaceAll(const PIString &what, const PIString &with)PIString
replaced(const int from, const int count, const PIString &with) const PIStringinline
replaced(const PIString &what, const PIString &with, bool *ok=0) const PIStringinline
reverse()PIStringinline
reversed() const PIStringinline
right(const int len) const PIStringinline
setNumber(const short value, int base=10, bool *ok=0)PIStringinline
setNumber(const ushort value, int base=10, bool *ok=0)PIStringinline
setNumber(const int value, int base=10, bool *ok=0)PIStringinline
setNumber(const uint value, int base=10, bool *ok=0)PIStringinline
setNumber(const long value, int base=10, bool *ok=0)PIStringinline
setNumber(const ulong value, int base=10, bool *ok=0)PIStringinline
setNumber(const llong &value, int base=10, bool *ok=0)PIStringinline
setNumber(const ullong &value, int base=10, bool *ok=0)PIStringinline
setNumber(const float value)PIStringinline
setNumber(const double &value)PIStringinline
setNumber(const ldouble &value)PIStringinline
setReadableSize(llong bytes)PIString
split(const PIString &delim) const PIString
startsWith(const PIString &str) const PIString
stdString() const PIStringinline
takeCWord()PIString
takeLeft(const int len)PIStringinline
takeLine()PIString
takeMid(const int start, const int len=-1)PIStringinline
takeNumber()PIString
takeRange(const PIChar &start, const PIChar &end, const PIChar &shield= '\\')PIString
takeRight(const int len)PIStringinline
takeSymbol()PIString
takeWord()PIString
toBool() const PIStringinline
toByteArray() const PIStringinline
toChar() const PIString
toDouble() const PIStringinline
toFloat() const PIStringinline
toInt(int base=-1, bool *ok=0) const PIStringinline
toLDouble() const PIStringinline
toLLong(int base=-1, bool *ok=0) const PIStringinline
toLong(int base=-1, bool *ok=0) const PIStringinline
toLowerCase() const PIString
toShort(int base=-1, bool *ok=0) const PIStringinline
toUInt(int base=-1, bool *ok=0) const PIStringinline
toULLong(int base=-1, bool *ok=0) const PIStringinline
toULong(int base=-1, bool *ok=0) const PIStringinline
toUpperCase() const PIString
toUShort(int base=-1, bool *ok=0) const PIStringinline
trim()PIString
trimmed() const PIString
+
+ + + + diff --git a/doc/html/class_p_i_string.html b/doc/html/class_p_i_string.html new file mode 100644 index 00000000..6c74d135 --- /dev/null +++ b/doc/html/class_p_i_string.html @@ -0,0 +1,3942 @@ + + + + + + +PIP: PIString Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIString Class Reference
+
+
+ +

String class. + More...

+ +

Inherits PIDeque< T >.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIString ()
 Contructs an empty string.
 
PIString (const PIChar &c)
 Contructs string with single symbol "c".
 
 PIString (const char *str)
 Contructs string from c-string "str". More...
 
 PIString (const wchar_t *str)
 Contructs string from wchar_t c-string "str". More...
 
PIString (const string &str)
 Contructs string from std::string "str".
 
PIString (const PIByteArray &ba)
 Contructs string from byte array "ba".
 
PIString (const PIChar *str, const int len)
 Contructs string from "len" characters of buffer "str".
 
 PIString (const char *str, const int len)
 Contructs string from "len" characters of buffer "str". More...
 
 PIString (const int len, const char c)
 Contructs string as sequence of characters "c" of buffer with length "len". More...
 
 PIString (const int len, const PIChar &c)
 Contructs string as sequence of symbols "c" of buffer with length "len". More...
 
 operator const char * ()
 Return c-string representation of string. More...
 
operator const string ()
 Return std::string representation of string.
 
+PIChar operator[] (const int pos) const
 Return symbol at index "pos".
 
+PICharoperator[] (const int pos)
 Return reference to symbol at index "pos".
 
+bool operator== (const PIString &str) const
 Compare operator.
 
+bool operator== (const PIChar c) const
 Compare operator.
 
+bool operator== (const char *str) const
 Compare operator.
 
+bool operator== (const string &str) const
 Compare operator.
 
+bool operator!= (const PIString &str) const
 Compare operator.
 
+bool operator!= (const PIChar c) const
 Compare operator.
 
+bool operator!= (const char *str) const
 Compare operator.
 
+bool operator!= (const string &str) const
 Compare operator.
 
+bool operator< (const PIString &str) const
 Compare operator.
 
+bool operator< (const PIChar c) const
 Compare operator.
 
+bool operator< (const char *str) const
 Compare operator.
 
+bool operator< (const string &str) const
 Compare operator.
 
+bool operator> (const PIString &str) const
 Compare operator.
 
+bool operator> (const PIChar c) const
 Compare operator.
 
+bool operator> (const char *str) const
 Compare operator.
 
+bool operator> (const string &str) const
 Compare operator.
 
+bool operator<= (const PIString &str) const
 Compare operator.
 
+bool operator<= (const PIChar c) const
 Compare operator.
 
+bool operator<= (const char *str) const
 Compare operator.
 
+bool operator<= (const string &str) const
 Compare operator.
 
+bool operator>= (const PIString &str) const
 Compare operator.
 
+bool operator>= (const PIChar c) const
 Compare operator.
 
+bool operator>= (const char *str) const
 Compare operator.
 
+bool operator>= (const string &str) const
 Compare operator.
 
PIStringoperator<< (const PIString &str)
 Append string "str" at the end of string. More...
 
PIStringoperator<< (const PIChar &c)
 Append symbol "c" at the end of string. More...
 
PIStringoperator<< (const char *str)
 Append c-string "str" at the end of string. More...
 
PIStringoperator<< (const wchar_t *str)
 Append wchar_t c-string "str" at the end of string. More...
 
+PIStringoperator<< (const string &str)
 Append std::string "str" at the end of string.
 
PIStringoperator<< (const int &num)
 Append string representation of "num" at the end of string. More...
 
PIStringoperator<< (const short &num)
 Append string representation of "num" at the end of string. More...
 
PIStringoperator<< (const long &num)
 Append string representation of "num" at the end of string. More...
 
PIStringoperator<< (const float &num)
 Append string representation of "num" at the end of string. More...
 
PIStringoperator<< (const double &num)
 Append string representation of "num" at the end of string. More...
 
+PIStringprepend (const PIString &str)
 Insert string "str" at the begin of string.
 
+PIStringappend (const PIString &str)
 Insert string "str" at the end of string.
 
PIString mid (const int start, const int len=-1) const
 Return part of string from symbol at index "start" and maximum length "len". More...
 
PIString left (const int len) const
 Return part of string from left and maximum length "len". More...
 
PIString right (const int len) const
 Return part of string from right and maximum length "len". More...
 
PIStringcutMid (const int start, const int len)
 Remove part of string from symbol as index "start" and maximum length "len" and return this string. More...
 
PIStringcutLeft (const int len)
 Remove part of string from left and maximum length "len" and return this string. More...
 
PIStringcutRight (const int len)
 Remove part of string from right and maximum length "len" and return this string. More...
 
PIStringtrim ()
 Remove spaces at the start and at the end of string and return this string. More...
 
PIString trimmed () const
 Return copy of this string without spaces at the start and at the end. More...
 
PIStringreplace (const int from, const int count, const PIString &with)
 Replace part of string from index "from" and maximum length "len" with string "with" and return this string. More...
 
PIString replaced (const int from, const int count, const PIString &with) const
 Replace part copy of this string from index "from" and maximum length "len" with string "with" and return copied string. More...
 
PIStringreplace (const PIString &what, const PIString &with, bool *ok=0)
 Replace first founded substring "what" with string "with" and return this string. More...
 
PIString replaced (const PIString &what, const PIString &with, bool *ok=0) const
 Replace first founded substring "what" with string "with" and return copied string. More...
 
PIStringreplaceAll (const PIString &what, const PIString &with)
 Replace all founded substrings "what" with strings "with" and return this string. More...
 
PIStringrepeat (int times)
 Repeat content of string "times" times and return this string. More...
 
PIString repeated (int times) const
 Returns repeated "times" times string. More...
 
PIStringinsert (const int index, const PIChar &c)
 Insert symbol "c" after index "index" and return this string. More...
 
PIStringinsert (const int index, const char &c)
 Insert symbol "c" after index "index" and return this string. More...
 
PIStringinsert (const int index, const PIString &str)
 Insert string "str" after index "index" and return this string. More...
 
PIStringinsert (const int index, const char *c)
 Insert string "str" after index "index" and return this string. More...
 
PIStringexpandRightTo (const int len, const PIChar &c)
 Enlarge string to length "len" by addition sequence of symbols "c" at the end of string, and return this string. More...
 
PIStringexpandLeftTo (const int len, const PIChar &c)
 Enlarge string to length "len" by addition sequence of symbols "c" at the beginning of string, and return this string. More...
 
PIStringreverse ()
 Reverse string and return this string. More...
 
PIString reversed () const
 Reverse copy of this string and return it. More...
 
PIString takeMid (const int start, const int len=-1)
 Take a part of string from symbol at index "start" and maximum length "len" and return it. More...
 
PIString takeLeft (const int len)
 Take a part from the begin of string with maximum length "len" and return it. More...
 
PIString takeRight (const int len)
 Take a part from the end of string with maximum length "len" and return it. More...
 
PIString takeSymbol ()
 Take a symbol from the begin of this string and return it. More...
 
PIString takeWord ()
 Take a word from the begin of this string and return it. More...
 
PIString takeCWord ()
 Take a word with letters, numbers and '_' symbols from the begin of this string and return it. More...
 
PIString takeLine ()
 Take a line from the begin of this string and return it. More...
 
PIString takeNumber ()
 Take a number with C-format from the begin of this string and return it. More...
 
PIString takeRange (const PIChar &start, const PIChar &end, const PIChar &shield= '\\')
 Take a range between "start" and "end" symbols from the begin of this string and return it. More...
 
int lengthAscii () const
 Return real bytes count of this string. More...
 
const char * data () const
 Return char * representation of this string. More...
 
+std::string stdString () const
 Return std::string representation of this string.
 
+PIByteArray toByteArray () const
 Return PIByteArray contains data() of this string.
 
PIStringList split (const PIString &delim) const
 Split string with delimiter "delim" to PIStringList and return it. More...
 
+PIString toUpperCase () const
 Convert each symbol in copyed string to upper case and return it.
 
+PIString toLowerCase () const
 Convert each symbol in copyed string to lower case and return it.
 
int find (const char str, const int start=0) const
 Search substring "str" from symbol at index "start" and return first occur position. More...
 
int find (const PIString str, const int start=0) const
 Search substring "str" from symbol at index "start" and return first occur position. More...
 
int find (const char *str, const int start=0) const
 Search substring "str" from symbol at index "start" and return first occur position. More...
 
int find (const string str, const int start=0) const
 Search substring "str" from symbol at index "start" and return first occur position. More...
 
int findLast (const char str, const int start=0) const
 Search substring "str" from symbol at index "start" and return last occur position. More...
 
int findLast (const PIString str, const int start=0) const
 Search substring "str" from symbol at index "start" and return last occur position. More...
 
int findLast (const char *str, const int start=0) const
 Search substring "str" from symbol at index "start" and return last occur position. More...
 
int findLast (const string str, const int start=0) const
 Search substring "str" from symbol at index "start" and return last occur position. More...
 
int findWord (const PIString &word, const int start=0) const
 Search word "word" from symbol at index "start" and return first occur position. More...
 
int findCWord (const PIString &word, const int start=0) const
 Search C-style word "word" from symbol at index "start" and return first occur position. More...
 
+bool startsWith (const PIString &str) const
 Return if string starts with "str".
 
+bool endsWith (const PIString &str) const
 Return if string ends with "str".
 
+int length () const
 Return symbols length of string.
 
+bool isEmpty () const
 Return true if string is empty, i.e. length = 0.
 
+bool toBool () const
 Return true if string equal "true", "yes", "on" or positive not null numeric value.
 
+char toChar () const
 Return char numeric value of string.
 
short toShort (int base=-1, bool *ok=0) const
 Return short numeric value of string in base "base". More...
 
ushort toUShort (int base=-1, bool *ok=0) const
 Return ushort numeric value of string in base "base". More...
 
int toInt (int base=-1, bool *ok=0) const
 Return int numeric value of string in base "base". More...
 
uint toUInt (int base=-1, bool *ok=0) const
 Return uint numeric value of string in base "base". More...
 
long toLong (int base=-1, bool *ok=0) const
 Return long numeric value of string in base "base". More...
 
ulong toULong (int base=-1, bool *ok=0) const
 Return ulong numeric value of string in base "base". More...
 
llong toLLong (int base=-1, bool *ok=0) const
 Return llong numeric value of string in base "base". More...
 
ullong toULLong (int base=-1, bool *ok=0) const
 Return ullong numeric value of string in base "base". More...
 
float toFloat () const
 Return float numeric value of string. More...
 
double toDouble () const
 Return double numeric value of string. More...
 
ldouble toLDouble () const
 Return ldouble numeric value of string. More...
 
PIStringsetNumber (const short value, int base=10, bool *ok=0)
 Set string content to numeric representation of "value" in base "base". More...
 
PIStringsetNumber (const ushort value, int base=10, bool *ok=0)
 Set string content to numeric representation of "value" in base "base". More...
 
PIStringsetNumber (const int value, int base=10, bool *ok=0)
 Set string content to numeric representation of "value" in base "base". More...
 
PIStringsetNumber (const uint value, int base=10, bool *ok=0)
 Set string content to numeric representation of "value" in base "base". More...
 
PIStringsetNumber (const long value, int base=10, bool *ok=0)
 Set string content to numeric representation of "value" in base "base". More...
 
PIStringsetNumber (const ulong value, int base=10, bool *ok=0)
 Set string content to numeric representation of "value" in base "base". More...
 
PIStringsetNumber (const llong &value, int base=10, bool *ok=0)
 Set string content to numeric representation of "value" in base "base". More...
 
PIStringsetNumber (const ullong &value, int base=10, bool *ok=0)
 Set string content to numeric representation of "value" in base "base". More...
 
PIStringsetNumber (const float value)
 Set string content to numeric representation of "value". More...
 
PIStringsetNumber (const double &value)
 Set string content to numeric representation of "value". More...
 
PIStringsetNumber (const ldouble &value)
 Set string content to numeric representation of "value". More...
 
PIStringsetReadableSize (llong bytes)
 Set string content to human readable size in B/kB/MB/GB/TB. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Member Functions

static PIString fromNumber (const short value, int base=10, bool *ok=0)
 Return string contains numeric representation of "value" in base "base". More...
 
static PIString fromNumber (const ushort value, int base=10, bool *ok=0)
 Return string contains numeric representation of "value" in base "base". More...
 
static PIString fromNumber (const int value, int base=10, bool *ok=0)
 Return string contains numeric representation of "value" in base "base". More...
 
static PIString fromNumber (const uint value, int base=10, bool *ok=0)
 Return string contains numeric representation of "value" in base "base". More...
 
static PIString fromNumber (const long value, int base=10, bool *ok=0)
 Return string contains numeric representation of "value" in base "base". More...
 
static PIString fromNumber (const ulong value, int base=10, bool *ok=0)
 Return string contains numeric representation of "value" in base "base". More...
 
static PIString fromNumber (const llong &value, int base=10, bool *ok=0)
 Return string contains numeric representation of "value" in base "base". More...
 
static PIString fromNumber (const ullong &value, int base=10, bool *ok=0)
 Return string contains numeric representation of "value" in base "base". More...
 
static PIString fromNumber (const float value)
 Return string contains numeric representation of "value". More...
 
static PIString fromNumber (const double &value)
 Return string contains numeric representation of "value". More...
 
static PIString fromNumber (const ldouble &value)
 Return string contains numeric representation of "value". More...
 
+static PIString fromBool (const bool value)
 Return "true" or "false".
 
static PIString readableSize (llong bytes)
 Return string contains human readable size in B/kB/MB/GB/TB. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Related Functions

(Note that these are not member functions.)

+
+std::ostream & operator<< (std::ostream &s, const PIString &v)
 Output operator to std::ostream (cout)
 
+std::istream & operator>> (std::istream &s, PIString &v)
 Input operator from std::istream (cin)
 
+PIString operator+ (const PIString &str, const PIString &f)
 Return concatenated string.
 
+PIString operator+ (const PIString &f, const char *str)
 Return concatenated string.
 
+PIString operator+ (const PIString &f, const string &str)
 Return concatenated string.
 
+PIString operator+ (const char *str, const PIString &f)
 Return concatenated string.
 
+PIString operator+ (const string &str, const PIString &f)
 Return concatenated string.
 
+

Detailed Description

+

String class.

+

PIP use this class for use string information.

+

+Synopsis

+

This class based on PIVector to store information. String is a sequence of PIChar and can contain multibyte symbols. Therefore real memory size of string is symbols count * 4. String can be constucted from many types of data and can be converted to many types. There are man operators and handly functions to use string as you wish.

+

+To/from data convertions

+

Most common constructor is PIString(const char * str), where "str" is null-terminated string, e.g. "string". This is 7 chars with last char = 0. Also you can constructs PIString from single PIChar, PIByteArray, other PIString or sequency of the same characters with custom length.
+
+This class has implicit conversions to const char * and std::string. Also there are functions to make same convertions:

+

+Numeric operations

+

You can get symbolic representation of any numeric value with function setNumber(any integer value, int base = 10, bool * ok = 0). Default arguments are set for decimal base system, but you can choose any system from 2 to 40. There are the same static functions fromNumber(), that returns PIString.
+Also there is function setReadableSize() which is set human-readable size in bytes, Kb, Mb, Gb or Pb. Static analog is readableSize().

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
PIString::PIString (const char * str)
+
+inline
+
+ +

Contructs string from c-string "str".

+

"str" should be null-terminated
+Example:

PIString s("string");
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString::PIString (const wchar_t * str)
+
+inline
+
+ +

Contructs string from wchar_t c-string "str".

+

"str" should be null-terminated
+Example:

PIString s(L"string");
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
PIString::PIString (const char * str,
const int len 
)
+
+inline
+
+ +

Contructs string from "len" characters of buffer "str".

+

Example:

PIString s("string", 3); // s = "str"
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
PIString::PIString (const int len,
const char c 
)
+
+inline
+
+ +

Contructs string as sequence of characters "c" of buffer with length "len".

+

Example:

PIString s(5, 'p'); // s = "ppppp"
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
PIString::PIString (const int len,
const PICharc 
)
+
+inline
+
+ +

Contructs string as sequence of symbols "c" of buffer with length "len".

+

Example:

PIString s(5, "â„–"); // s = "â„–â„–â„–â„–â„–"
+
+
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
PIString::operator const char * ()
+
+inline
+
+ +

Return c-string representation of string.

+

Converts content of string to c-string and return pointer to first char. This buffer is valid until new convertion or execution data() or toByteArray().
+Example:

PIString s("pip");
+
cout << (char*)s << endl; // pip
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::operator<< (const PIStringstr)
+
+inline
+
+ +

Append string "str" at the end of string.

+

Example:

PIString s("this"), s1(" is"), s2(" string");
+
s << s1 << s2; // s = "this is string"
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::operator<< (const PICharc)
+
+inline
+
+ +

Append symbol "c" at the end of string.

+

Example:

PIString s("stri");
+
s << PIChar('n') << PIChar('g'); // s = "string"
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::operator<< (const char * str)
+
+inline
+
+ +

Append c-string "str" at the end of string.

+

Example:

PIString s("this");
+
s << " is" << " string"; // s = "this is string"
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::operator<< (const wchar_t * str)
+
+inline
+
+ +

Append wchar_t c-string "str" at the end of string.

+

Example:

+
s << L"â„– -" << " number"; // s = "â„– - number"
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::operator<< (const int & num)
+
+inline
+
+ +

Append string representation of "num" at the end of string.

+

Example:

PIString s("ten - ");
+
s << 10; // s = "ten - 10"
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::operator<< (const short & num)
+
+inline
+
+ +

Append string representation of "num" at the end of string.

+

Example:

PIString s("ten - ");
+
s << 10; // s = "ten - 10"
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::operator<< (const long & num)
+
+inline
+
+ +

Append string representation of "num" at the end of string.

+

Example:

PIString s("ten - ");
+
s << 10; // s = "ten - 10"
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::operator<< (const float & num)
+
+inline
+
+ +

Append string representation of "num" at the end of string.

+

Example:

PIString s("ten - ");
+
s << 10; // s = "ten - 10"
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::operator<< (const double & num)
+
+inline
+
+ +

Append string representation of "num" at the end of string.

+

Example:

PIString s("ten - ");
+
s << 10; // s = "ten - 10"
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
PIString PIString::mid (const int start,
const int len = -1 
) const
+
+ +

Return part of string from symbol at index "start" and maximum length "len".

+

All variants demonstrated in example:

PIString s("0123456789");
+
piCout << s.mid(-2, -1); // s = "0123456789"
+
piCout << s.mid(-2, 4); // s = "01"
+
piCout << s.mid(3, -1); // s = "3456789"
+
piCout << s.mid(3, 4); // s = "3456"
+
See also
left(), right()
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString PIString::left (const int len) const
+
+inline
+
+ +

Return part of string from left and maximum length "len".

+

Example:

PIString s("0123456789");
+
piCout << s.left(-1); // s = ""
+
piCout << s.left(1); // s = "0"
+
piCout << s.left(5); // s = "01234"
+
piCout << s.left(15); // s = "0123456789"
+
See also
mid(), right()
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString PIString::right (const int len) const
+
+inline
+
+ +

Return part of string from right and maximum length "len".

+

Example:

PIString s("0123456789");
+
piCout << s.right(-1); // s = ""
+
piCout << s.right(1); // s = "9"
+
piCout << s.right(5); // s = "56789"
+
piCout << s.right(15); // s = "0123456789"
+
See also
mid(), left()
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
PIString & PIString::cutMid (const int start,
const int len 
)
+
+ +

Remove part of string from symbol as index "start" and maximum length "len" and return this string.

+

All variants demonstrated in example:

PIString s("0123456789");
+
s.cutMid(1, 3);
+
piCout << s; // s = "0456789"
+
s.cutMid(-1, 3);
+
piCout << s; // s = "56789"
+
s.cutMid(3, -1);
+
piCout << s; // s = "567"
+
See also
cutLeft(), cutRight()
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::cutLeft (const int len)
+
+inline
+
+ +

Remove part of string from left and maximum length "len" and return this string.

+

Example:

PIString s("0123456789");
+
s.cutLeft(1);
+
piCout << s; // s = "123456789"
+
s.cutLeft(3);
+
piCout << s; // s = "456789"
+
s.cutLeft(30);
+
piCout << s; // s = ""
+
See also
cutMid(), cutRight()
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::cutRight (const int len)
+
+inline
+
+ +

Remove part of string from right and maximum length "len" and return this string.

+

Example:

PIString s("0123456789");
+
s.cutRight(1);
+
piCout << s; // s = "012345678"
+
s.cutRight(3);
+
piCout << s; // s = "012345"
+
s.cutRight(30);
+
piCout << s; // s = ""
+
See also
cutMid(), cutLeft()
+ +
+
+ +
+
+ + + + + + + +
PIString & PIString::trim ()
+
+ +

Remove spaces at the start and at the end of string and return this string.

+

Example:

PIString s(" string ");
+
s.trim();
+
piCout << s; // s = "string"
+
See also
trimmed()
+ +
+
+ +
+
+ + + + + + + +
PIString PIString::trimmed () const
+
+ +

Return copy of this string without spaces at the start and at the end.

+

Example:

PIString s(" string ");
+
piCout << s.trimmed(); // s = "string"
+
piCout << s; // s = " string "
+
See also
trim()
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIString & PIString::replace (const int from,
const int count,
const PIStringwith 
)
+
+ +

Replace part of string from index "from" and maximum length "len" with string "with" and return this string.

+

Example:

PIString s("0123456789");
+
s.replace(2, 3, "_cut_");
+
piCout << s; // s = "01_cut_56789"
+
s.replace(0, 1, "one_");
+
piCout << s; // s = "one_1_cut_56789"
+
See also
replaced(), replaceAll()
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIString PIString::replaced (const int from,
const int count,
const PIStringwith 
) const
+
+inline
+
+ +

Replace part copy of this string from index "from" and maximum length "len" with string "with" and return copied string.

+

Example:

PIString s("0123456789");
+
piCout << s.replaced(2, 3, "_cut_"); // s = "01_cut_56789"
+
piCout << s.replaced(0, 1, "one_"); // s = "one_123456789"
+
See also
replace(), replaceAll()
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIString & PIString::replace (const PIStringwhat,
const PIStringwith,
bool * ok = 0 
)
+
+ +

Replace first founded substring "what" with string "with" and return this string.

+

If "ok" is not null, it set to "true" if something was replaced
+Example:

PIString s("pip string");
+
bool ok;
+
s.replace("string", "conf", &ok);
+
piCout << s << ok; // s = "pip conf", true
+
s.replace("PIP", "PlInPr", &ok);
+
piCout << s << ok; // s = "pip conf", false
+
See also
replaced(), replaceAll()
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIString PIString::replaced (const PIStringwhat,
const PIStringwith,
bool * ok = 0 
) const
+
+inline
+
+ +

Replace first founded substring "what" with string "with" and return copied string.

+

If "ok" is not null, it set to "true" if something was replaced
+Example:

PIString s("pip string");
+
bool ok;
+
piCout << s.replace("string", "conf", &ok); // s = "pip conf", true
+
piCout << s.replace("PIP", "PlInPr", &ok); // s = "pip string", false
+
See also
replaced(), replaceAll()
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
PIString & PIString::replaceAll (const PIStringwhat,
const PIStringwith 
)
+
+ +

Replace all founded substrings "what" with strings "with" and return this string.

+

Example:

PIString s("substrings");
+
s.replaceAll("s", "_");
+
piCout << s; // s = "_ub_tring_"
+
See also
replace(), replaced()
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::repeat (int times)
+
+inline
+
+ +

Repeat content of string "times" times and return this string.

+

Example:

PIString s(" :-) ");
+
s.repeat(3);
+
piCout << s; // :-) :-) :-)
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString PIString::repeated (int times) const
+
+inline
+
+ +

Returns repeated "times" times string.

+

Example:

PIString s(" :-) ");
+
piCout << s.repeated(3); // :-) :-) :-)
+
piCout << s; // :-)
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
PIString& PIString::insert (const int index,
const PICharc 
)
+
+inline
+
+ +

Insert symbol "c" after index "index" and return this string.

+

Example:

PIString s("pp");
+
s.insert(1, "i");
+
piCout << s; // s = "pip"
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
PIString& PIString::insert (const int index,
const char & c 
)
+
+inline
+
+ +

Insert symbol "c" after index "index" and return this string.

+

Example:

PIString s("pp");
+
s.insert(1, 'i');
+
piCout << s; // s = "pip"
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
PIString & PIString::insert (const int index,
const PIStringstr 
)
+
+ +

Insert string "str" after index "index" and return this string.

+

Example:

PIString s("stg");
+
s.insert(2, "rin");
+
piCout << s; // s = "string"
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
PIString& PIString::insert (const int index,
const char * c 
)
+
+inline
+
+ +

Insert string "str" after index "index" and return this string.

+

Example:

PIString s("stg");
+
s.insert(2, "rin");
+
piCout << s; // s = "string"
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
PIString& PIString::expandRightTo (const int len,
const PICharc 
)
+
+inline
+
+ +

Enlarge string to length "len" by addition sequence of symbols "c" at the end of string, and return this string.

+

Example:

PIString s("str");
+
s.expandRightTo(2, "_");
+
piCout << s; // s = "str"
+
s.expandRightTo(6, "_");
+
piCout << s; // s = "str___"
+
See also
expandLeftTo()
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
PIString& PIString::expandLeftTo (const int len,
const PICharc 
)
+
+inline
+
+ +

Enlarge string to length "len" by addition sequence of symbols "c" at the beginning of string, and return this string.

+

Example:

PIString s("str");
+
s.expandLeftTo(2, "_");
+
piCout << s; // s = "str"
+
s.expandLeftTo(6, "_");
+
piCout << s; // s = "___str"
+
See also
expandRightTo()
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
PIString& PIString::reverse ()
+
+inline
+
+ +

Reverse string and return this string.

+

Example:

PIString s("0123456789");
+
s.reverse();
+
piCout << s; // s = "9876543210"
+
See also
reversed()
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
PIString PIString::reversed () const
+
+inline
+
+ +

Reverse copy of this string and return it.

+

Example:

PIString s("0123456789");
+
piCout << s.reversed(); // s = "9876543210"
+
piCout << s; // s = "0123456789"
+
See also
reverse()
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
PIString PIString::takeMid (const int start,
const int len = -1 
)
+
+inline
+
+ +

Take a part of string from symbol at index "start" and maximum length "len" and return it.

+

Example:

See also
takeLeft, takeRight()
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString PIString::takeLeft (const int len)
+
+inline
+
+ +

Take a part from the begin of string with maximum length "len" and return it.

+

Example:

See also
takeMid(), takeRight()
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString PIString::takeRight (const int len)
+
+inline
+
+ +

Take a part from the end of string with maximum length "len" and return it.

+

Example:

See also
takeMid(), takeLeft()
+ +
+
+ +
+
+ + + + + + + +
PIString PIString::takeSymbol ()
+
+ +

Take a symbol from the begin of this string and return it.

+

Example:

PIString s("\t ! word");
+
piCout << s.takeSymbol(); // "!"
+
piCout << s.takeSymbol(); // "w"
+
piCout << s.takeSymbol(); // "o"
+
piCout << s; // "rd"
+
See also
takeWord(), takeCWord(), takeLine(), takeNumber(), takeRange()
+ +
+
+ +
+
+ + + + + + + +
PIString PIString::takeWord ()
+
+ +

Take a word from the begin of this string and return it.

+

Example:

PIString s("some words\nnew line ");
+
piCout << s.takeWord(); // "some"
+
piCout << s.takeWord(); // "words"
+
piCout << s.takeWord(); // "new"
+
piCout << s; // " line "
+
See also
takeSymbol(), takeCWord(), takeLine(), takeNumber(), takeRange()
+ +
+
+ +
+
+ + + + + + + +
PIString PIString::takeCWord ()
+
+ +

Take a word with letters, numbers and '_' symbols from the begin of this string and return it.

+

Example:

See also
takeSymbol(), takeWord(), takeLine(), takeNumber(), takeRange()
+ +
+
+ +
+
+ + + + + + + +
PIString PIString::takeLine ()
+
+ +

Take a line from the begin of this string and return it.

+

Example:

PIString s("some words\nnew line \n\nend");
+
piCout << s.takeLine(); // "some words"
+
piCout << s.takeLine(); // "new line "
+
piCout << s.takeLine(); // ""
+
piCout << s; // "end"
+
See also
takeSymbol(), takeWord(), takeCWord(), takeNumber(), takeRange()
+ +
+
+ +
+
+ + + + + + + +
PIString PIString::takeNumber ()
+
+ +

Take a number with C-format from the begin of this string and return it.

+

Example:

PIString s(" 0xFF -99 1.2E+5f 1000L");
+
piCout << s.takeNumber(); // "0xFF"
+
piCout << s.takeNumber(); // "-99"
+
piCout << s.takeNumber(); // "1.2E+5f"
+
piCout << s.takeNumber(); // "1000L"
+
piCout << s; // ""
+
See also
takeSymbol(), takeWord(), takeCWord(), takeLine(), takeRange()
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIString PIString::takeRange (const PICharstart,
const PICharend,
const PICharshield = '\\' 
)
+
+ +

Take a range between "start" and "end" symbols from the begin of this string and return it.

+

"Shield" symbol prevent analysis of the next symbol. Example:

PIString s(" {figures{inside}}");
+
piCout << s.takeRange('{', '}'); // "figures{inside}"
+
piCout << s; // ""
+
s = "\"text\\\"shielded\" next";
+
piCout << s.takeRange('"', '"'); // "text\"shielded"
+
piCout << s; // " next"
+
See also
takeSymbol(), takeWord(), takeLine(), takeNumber()
+ +
+
+ +
+
+ + + + + + + +
int PIString::lengthAscii () const
+
+ +

Return real bytes count of this string.

+

It`s equivalent length of char sequence returned by function data()
+Example:

piCout << PIString("0123456789").lengthAscii(); // 10
+
piCout << PIString("â„–1").lengthAscii(); // 3
+
See also
data()
+ +
+
+ +
+
+ + + + + + + +
const char * PIString::data () const
+
+ +

Return char * representation of this string.

+

This function fill buffer by sequence of chars. Minimum length of this buffer is count of symbols. Returned char * is valid until next execution of this function.
+Example:

piCout << PIString("0123456789").data(); // 0123456789
+
piCout << PIString("â„–1").data(); // â„–1
+
See also
lengthAscii()
+ +
+
+ +
+
+ + + + + + + + +
PIStringList PIString::split (const PIStringdelim) const
+
+ +

Split string with delimiter "delim" to PIStringList and return it.

+

Example:

PIString s("1 2 3");
+
piCout << s.split(" "); // {"1", "2", "3"}
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int PIString::find (const char str,
const int start = 0 
) const
+
+ +

Search substring "str" from symbol at index "start" and return first occur position.

+

Example:

PIString s("012345012345");
+
piCout << s.find("-"); // -1
+
piCout << s.find("3"); // 3
+
piCout << s.find("3", 4); // 9
+
piCout << s.find("3", 10); // -1
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int PIString::find (const PIString str,
const int start = 0 
) const
+
+ +

Search substring "str" from symbol at index "start" and return first occur position.

+

Example:

PIString s("012345012345");
+
piCout << s.find("-"); // -1
+
piCout << s.find("3"); // 3
+
piCout << s.find("3", 4); // 9
+
piCout << s.find("3", 10); // -1
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int PIString::find (const char * str,
const int start = 0 
) const
+
+inline
+
+ +

Search substring "str" from symbol at index "start" and return first occur position.

+

Example:

PIString s("012345012345");
+
piCout << s.find("-"); // -1
+
piCout << s.find("3"); // 3
+
piCout << s.find("3", 4); // 9
+
piCout << s.find("3", 10); // -1
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int PIString::find (const string str,
const int start = 0 
) const
+
+inline
+
+ +

Search substring "str" from symbol at index "start" and return first occur position.

+

Example:

PIString s("012345012345");
+
piCout << s.find("-"); // -1
+
piCout << s.find("3"); // 3
+
piCout << s.find("3", 4); // 9
+
piCout << s.find("3", 10); // -1
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int PIString::findLast (const char str,
const int start = 0 
) const
+
+ +

Search substring "str" from symbol at index "start" and return last occur position.

+

Example:

PIString s("012345012345");
+
piCout << s.find("-"); // -1
+
piCout << s.find("3"); // 9
+
piCout << s.find("3", 4); // 9
+
piCout << s.find("3", 10); // -1
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int PIString::findLast (const PIString str,
const int start = 0 
) const
+
+ +

Search substring "str" from symbol at index "start" and return last occur position.

+

Example:

PIString s("012345012345");
+
piCout << s.find("-"); // -1
+
piCout << s.find("3"); // 9
+
piCout << s.find("3", 4); // 9
+
piCout << s.find("3", 10); // -1
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int PIString::findLast (const char * str,
const int start = 0 
) const
+
+inline
+
+ +

Search substring "str" from symbol at index "start" and return last occur position.

+

Example:

PIString s("012345012345");
+
piCout << s.find("-"); // -1
+
piCout << s.find("3"); // 9
+
piCout << s.find("3", 4); // 9
+
piCout << s.find("3", 10); // -1
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int PIString::findLast (const string str,
const int start = 0 
) const
+
+inline
+
+ +

Search substring "str" from symbol at index "start" and return last occur position.

+

Example:

PIString s("012345012345");
+
piCout << s.find("-"); // -1
+
piCout << s.find("3"); // 9
+
piCout << s.find("3", 4); // 9
+
piCout << s.find("3", 10); // -1
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int PIString::findWord (const PIStringword,
const int start = 0 
) const
+
+ +

Search word "word" from symbol at index "start" and return first occur position.

+

Example:

PIString s("this is <PIP>");
+
piCout << s.find("this"); // 0
+
piCout << s.find("is"); // 5
+
piCout << s.find("PIP", 4); // -1
+
piCout << s.find("<PIP>", 10); // 8
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int PIString::findCWord (const PIStringword,
const int start = 0 
) const
+
+ +

Search C-style word "word" from symbol at index "start" and return first occur position.

+

Example:

PIString s("this::is <PIP>");
+
piCout << s.find("this"); // 0
+
piCout << s.find("is"); // 6
+
piCout << s.find("PIP", 4); // 10
+
piCout << s.find("<PIP>", 10); // 9
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
short PIString::toShort (int base = -1,
bool * ok = 0 
) const
+
+inline
+
+ +

Return short numeric value of string in base "base".

+

Example:

piCout << PIString("123").toInt(); // 123
+
piCout << PIString("123").toInt(16); // 291
+
piCout << PIString("0x123").toInt(); // 291
+
piCout << PIString("1001").toInt(2); // 9
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
ushort PIString::toUShort (int base = -1,
bool * ok = 0 
) const
+
+inline
+
+ +

Return ushort numeric value of string in base "base".

+

Example:

piCout << PIString("123").toInt(); // 123
+
piCout << PIString("123").toInt(16); // 291
+
piCout << PIString("0x123").toInt(); // 291
+
piCout << PIString("1001").toInt(2); // 9
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int PIString::toInt (int base = -1,
bool * ok = 0 
) const
+
+inline
+
+ +

Return int numeric value of string in base "base".

+

Example:

piCout << PIString("123").toInt(); // 123
+
piCout << PIString("123").toInt(16); // 291
+
piCout << PIString("0x123").toInt(); // 291
+
piCout << PIString("1001").toInt(2); // 9
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
uint PIString::toUInt (int base = -1,
bool * ok = 0 
) const
+
+inline
+
+ +

Return uint numeric value of string in base "base".

+

Example:

piCout << PIString("123").toInt(); // 123
+
piCout << PIString("123").toInt(16); // 291
+
piCout << PIString("0x123").toInt(); // 291
+
piCout << PIString("1001").toInt(2); // 9
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
long PIString::toLong (int base = -1,
bool * ok = 0 
) const
+
+inline
+
+ +

Return long numeric value of string in base "base".

+

Example:

piCout << PIString("123").toInt(); // 123
+
piCout << PIString("123").toInt(16); // 291
+
piCout << PIString("0x123").toInt(); // 291
+
piCout << PIString("1001").toInt(2); // 9
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
ulong PIString::toULong (int base = -1,
bool * ok = 0 
) const
+
+inline
+
+ +

Return ulong numeric value of string in base "base".

+

Example:

piCout << PIString("123").toInt(); // 123
+
piCout << PIString("123").toInt(16); // 291
+
piCout << PIString("0x123").toInt(); // 291
+
piCout << PIString("1001").toInt(2); // 9
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
llong PIString::toLLong (int base = -1,
bool * ok = 0 
) const
+
+inline
+
+ +

Return llong numeric value of string in base "base".

+

Example:

piCout << PIString("123").toInt(); // 123
+
piCout << PIString("123").toInt(16); // 291
+
piCout << PIString("0x123").toInt(); // 291
+
piCout << PIString("1001").toInt(2); // 9
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
ullong PIString::toULLong (int base = -1,
bool * ok = 0 
) const
+
+inline
+
+ +

Return ullong numeric value of string in base "base".

+

Example:

piCout << PIString("123").toInt(); // 123
+
piCout << PIString("123").toInt(16); // 291
+
piCout << PIString("0x123").toInt(); // 291
+
piCout << PIString("1001").toInt(2); // 9
+
+
+
+ +
+
+ + + + + +
+ + + + + + + +
float PIString::toFloat () const
+
+inline
+
+ +

Return float numeric value of string.

+

Example:

piCout << PIString("123").toFloat(); // 123
+
piCout << PIString("1.2E+2").toFloat(); // 120
+
piCout << PIString("0.01").toFloat(); // 0.01
+
+
+
+ +
+
+ + + + + +
+ + + + + + + +
double PIString::toDouble () const
+
+inline
+
+ +

Return double numeric value of string.

+

Example:

piCout << PIString("123").toFloat(); // 123
+
piCout << PIString("1.2E+2").toFloat(); // 120
+
piCout << PIString("0.01").toFloat(); // 0.01
+
+
+
+ +
+
+ + + + + +
+ + + + + + + +
ldouble PIString::toLDouble () const
+
+inline
+
+ +

Return ldouble numeric value of string.

+

Example:

piCout << PIString("123").toFloat(); // 123
+
piCout << PIString("1.2E+2").toFloat(); // 120
+
piCout << PIString("0.01").toFloat(); // 0.01
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIString& PIString::setNumber (const short value,
int base = 10,
bool * ok = 0 
)
+
+inline
+
+ +

Set string content to numeric representation of "value" in base "base".

+

Example:

+
s.setNumber(123);
+
piCout << s; // 123
+
s.setNumber(123, 16);
+
piCout << s; // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIString& PIString::setNumber (const ushort value,
int base = 10,
bool * ok = 0 
)
+
+inline
+
+ +

Set string content to numeric representation of "value" in base "base".

+

Example:

+
s.setNumber(123);
+
piCout << s; // 123
+
s.setNumber(123, 16);
+
piCout << s; // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIString& PIString::setNumber (const int value,
int base = 10,
bool * ok = 0 
)
+
+inline
+
+ +

Set string content to numeric representation of "value" in base "base".

+

Example:

+
s.setNumber(123);
+
piCout << s; // 123
+
s.setNumber(123, 16);
+
piCout << s; // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIString& PIString::setNumber (const uint value,
int base = 10,
bool * ok = 0 
)
+
+inline
+
+ +

Set string content to numeric representation of "value" in base "base".

+

Example:

+
s.setNumber(123);
+
piCout << s; // 123
+
s.setNumber(123, 16);
+
piCout << s; // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIString& PIString::setNumber (const long value,
int base = 10,
bool * ok = 0 
)
+
+inline
+
+ +

Set string content to numeric representation of "value" in base "base".

+

Example:

+
s.setNumber(123);
+
piCout << s; // 123
+
s.setNumber(123, 16);
+
piCout << s; // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIString& PIString::setNumber (const ulong value,
int base = 10,
bool * ok = 0 
)
+
+inline
+
+ +

Set string content to numeric representation of "value" in base "base".

+

Example:

+
s.setNumber(123);
+
piCout << s; // 123
+
s.setNumber(123, 16);
+
piCout << s; // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIString& PIString::setNumber (const llong & value,
int base = 10,
bool * ok = 0 
)
+
+inline
+
+ +

Set string content to numeric representation of "value" in base "base".

+

Example:

+
s.setNumber(123);
+
piCout << s; // 123
+
s.setNumber(123, 16);
+
piCout << s; // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
PIString& PIString::setNumber (const ullong & value,
int base = 10,
bool * ok = 0 
)
+
+inline
+
+ +

Set string content to numeric representation of "value" in base "base".

+

Example:

+
s.setNumber(123);
+
piCout << s; // 123
+
s.setNumber(123, 16);
+
piCout << s; // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::setNumber (const float value)
+
+inline
+
+ +

Set string content to numeric representation of "value".

+

Example:

+
s.setNumber(12.3);
+
piCout << s; // 12.3
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::setNumber (const double & value)
+
+inline
+
+ +

Set string content to numeric representation of "value".

+

Example:

+
s.setNumber(12.3);
+
piCout << s; // 12.3
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIString& PIString::setNumber (const ldouble & value)
+
+inline
+
+ +

Set string content to numeric representation of "value".

+

Example:

+
s.setNumber(12.3);
+
piCout << s; // 12.3
+
+
+
+ +
+
+ + + + + + + + +
PIString & PIString::setReadableSize (llong bytes)
+
+ +

Set string content to human readable size in B/kB/MB/GB/TB.

+

Example:

+ +
piCout << s; // 512 B
+ +
piCout << s; // 5.0 kB
+
s.setReadableSize(512000);
+
piCout << s; // 500.0 kB
+
s.setReadableSize(5120000);
+
piCout << s; // 4.8 MB
+
s.setReadableSize(512000000);
+
piCout << s; // 488.2 MB
+
s.setReadableSize(51200000000);
+
piCout << s; // 47.6 GB
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static PIString PIString::fromNumber (const short value,
int base = 10,
bool * ok = 0 
)
+
+inlinestatic
+
+ +

Return string contains numeric representation of "value" in base "base".

+

Example:

+
piCout << PIString::fromNumber(123, 16); // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static PIString PIString::fromNumber (const ushort value,
int base = 10,
bool * ok = 0 
)
+
+inlinestatic
+
+ +

Return string contains numeric representation of "value" in base "base".

+

Example:

+
piCout << PIString::fromNumber(123, 16); // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static PIString PIString::fromNumber (const int value,
int base = 10,
bool * ok = 0 
)
+
+inlinestatic
+
+ +

Return string contains numeric representation of "value" in base "base".

+

Example:

+
piCout << PIString::fromNumber(123, 16); // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static PIString PIString::fromNumber (const uint value,
int base = 10,
bool * ok = 0 
)
+
+inlinestatic
+
+ +

Return string contains numeric representation of "value" in base "base".

+

Example:

+
piCout << PIString::fromNumber(123, 16); // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static PIString PIString::fromNumber (const long value,
int base = 10,
bool * ok = 0 
)
+
+inlinestatic
+
+ +

Return string contains numeric representation of "value" in base "base".

+

Example:

+
piCout << PIString::fromNumber(123, 16); // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static PIString PIString::fromNumber (const ulong value,
int base = 10,
bool * ok = 0 
)
+
+inlinestatic
+
+ +

Return string contains numeric representation of "value" in base "base".

+

Example:

+
piCout << PIString::fromNumber(123, 16); // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static PIString PIString::fromNumber (const llong & value,
int base = 10,
bool * ok = 0 
)
+
+inlinestatic
+
+ +

Return string contains numeric representation of "value" in base "base".

+

Example:

+
piCout << PIString::fromNumber(123, 16); // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static PIString PIString::fromNumber (const ullong & value,
int base = 10,
bool * ok = 0 
)
+
+inlinestatic
+
+ +

Return string contains numeric representation of "value" in base "base".

+

Example:

+
piCout << PIString::fromNumber(123, 16); // 7B
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
static PIString PIString::fromNumber (const float value)
+
+inlinestatic
+
+ +

Return string contains numeric representation of "value".

+

Example:

piCout << PIString::fromNumber(12.3); // 12.3
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
static PIString PIString::fromNumber (const double & value)
+
+inlinestatic
+
+ +

Return string contains numeric representation of "value".

+

Example:

piCout << PIString::fromNumber(12.3); // 12.3
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
static PIString PIString::fromNumber (const ldouble & value)
+
+inlinestatic
+
+ +

Return string contains numeric representation of "value".

+

Example:

piCout << PIString::fromNumber(12.3); // 12.3
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
static PIString PIString::readableSize (llong bytes)
+
+inlinestatic
+
+ +

Return string contains human readable size in B/kB/MB/GB/TB.

+

Example:

piCout << PIString::readableSize(512); // 512 B
+
piCout << PIString::readableSize(5120); // 5.0 kB
+
piCout << PIString::readableSize(512000); // 500.0 kB
+
piCout << PIString::readableSize(5120000); // 4.8 MB
+
piCout << PIString::readableSize(512000000); // 488.2 MB
+
piCout << PIString::readableSize(51200000000); // 47.6 GB
+
+
+
+
+
+ + + + diff --git a/doc/html/class_p_i_string.js b/doc/html/class_p_i_string.js new file mode 100644 index 00000000..fc49a266 --- /dev/null +++ b/doc/html/class_p_i_string.js @@ -0,0 +1,138 @@ +var class_p_i_string = +[ + [ "PIString", "class_p_i_string.html#a5671ba063015ac95a0fc582776424629", null ], + [ "PIString", "class_p_i_string.html#a0a7dbce851e0654c1f46239c60b215d7", null ], + [ "PIString", "class_p_i_string.html#a83698956091624f377f9bb7f9f3a6afc", null ], + [ "PIString", "class_p_i_string.html#a1c7edbae1d5dd3d123c3f19679c8a105", null ], + [ "PIString", "class_p_i_string.html#adba42068e854520b6fa4e3665055ab90", null ], + [ "PIString", "class_p_i_string.html#a09e89cd86ab4b41a6d4f68a4c04ade71", null ], + [ "PIString", "class_p_i_string.html#add45a4c9d96be4a7ff91e69b37f7e7f7", null ], + [ "PIString", "class_p_i_string.html#a6c15cfb2ef6a0898ac99a602a4910c92", null ], + [ "PIString", "class_p_i_string.html#a571606d1afac0afb1850f314e5a7f582", null ], + [ "PIString", "class_p_i_string.html#ac977eece58d4b01775cb5ec1aa9c0172", null ], + [ "operator const char *", "class_p_i_string.html#a3eec9656b507d8d71ab2f58c551a03ff", null ], + [ "operator const string", "class_p_i_string.html#ab90b8d26f08ff17f5f2302bbd9f3b66a", null ], + [ "operator[]", "class_p_i_string.html#aa367374496df45efba10fd44e52a6777", null ], + [ "operator[]", "class_p_i_string.html#a192df04225c734474a74ed92a3be92e4", null ], + [ "operator==", "class_p_i_string.html#a4bccf4bb40ab454e0acbb72c370f74df", null ], + [ "operator==", "class_p_i_string.html#a15a2d2e8205de172d5a1ba9c4e1300b5", null ], + [ "operator==", "class_p_i_string.html#ae56247a537ddd4742a5f8830446396fb", null ], + [ "operator==", "class_p_i_string.html#abcb1247b51cb9fb935fe4b7583004d2e", null ], + [ "operator!=", "class_p_i_string.html#ae1fde0664048d052d23e40c111ebe2d3", null ], + [ "operator!=", "class_p_i_string.html#aec766e4f39ef4c581026e932a2e0c60e", null ], + [ "operator!=", "class_p_i_string.html#a5410e68d9c7d22527767ea28891c2c69", null ], + [ "operator!=", "class_p_i_string.html#a05f9cb6d8d4540a62daa0bc682c914b1", null ], + [ "operator<", "class_p_i_string.html#a4b29c79b0cfd8eeea23977cd72f24768", null ], + [ "operator<", "class_p_i_string.html#a4b40e4567d6c5b9afabfda25efeb975a", null ], + [ "operator<", "class_p_i_string.html#a793f8bb4b64903f9016bfac27b4e21aa", null ], + [ "operator<", "class_p_i_string.html#a2ed901b6668a596013959d9433461b3a", null ], + [ "operator>", "class_p_i_string.html#a559e23e281ff040dc447a47aead1556f", null ], + [ "operator>", "class_p_i_string.html#a17725b847ca400d0817f4a89887658d6", null ], + [ "operator>", "class_p_i_string.html#a19f4fa9c8c691030543627ba3b04c7fb", null ], + [ "operator>", "class_p_i_string.html#a8f752b9a951be56a6e4bbf15d9683605", null ], + [ "operator<=", "class_p_i_string.html#a0bb50e3024c857df57446970f06215f2", null ], + [ "operator<=", "class_p_i_string.html#a1caa9a22c08bf1403d7f02ee25391a6a", null ], + [ "operator<=", "class_p_i_string.html#ae3636333daa1c30be2e59046234549db", null ], + [ "operator<=", "class_p_i_string.html#a7b8acb21a78caa79efaf202e7e701587", null ], + [ "operator>=", "class_p_i_string.html#a1da2d74fa84f2da3d1632e20d834f0fa", null ], + [ "operator>=", "class_p_i_string.html#ae4c9edd7b999ec3b755f584cbd730d93", null ], + [ "operator>=", "class_p_i_string.html#a4b9695c703cb3055d9b395a84bbc091c", null ], + [ "operator>=", "class_p_i_string.html#a0368a200e908bee57dabdfb5f8cf8563", null ], + [ "operator<<", "class_p_i_string.html#aa9503e3cf1a769ff9969811e794848c9", null ], + [ "operator<<", "class_p_i_string.html#ae1a767e64e5cd7e8b0bf8f30261e7b51", null ], + [ "operator<<", "class_p_i_string.html#ae913da2112cec3234ab25d5998058061", null ], + [ "operator<<", "class_p_i_string.html#a637ba3d798aef6d9b0ec1c94bd009eba", null ], + [ "operator<<", "class_p_i_string.html#a37ac4141ad06bace00f45f4199577e43", null ], + [ "operator<<", "class_p_i_string.html#a32f84a7c388aa230b00389625b957f3e", null ], + [ "operator<<", "class_p_i_string.html#a6fa1fe095dcdf2401fd6aeeeff95bcab", null ], + [ "operator<<", "class_p_i_string.html#a2716ff6ff64666a4234b95858705c9a2", null ], + [ "operator<<", "class_p_i_string.html#accecec313ba77318942690e11f745ed7", null ], + [ "operator<<", "class_p_i_string.html#af585e41702ae09d013b19477c7e1f4ef", null ], + [ "prepend", "class_p_i_string.html#aa21143de8258bbc8698e46a9216c5a26", null ], + [ "append", "class_p_i_string.html#afbccf232307f332e25c7ce577ce58146", null ], + [ "mid", "class_p_i_string.html#afdeb3714be4ad6a1bf8f2478f657f510", null ], + [ "left", "class_p_i_string.html#aa6614f666f502b2d759bb37c046f6181", null ], + [ "right", "class_p_i_string.html#a84b4d361d9c7bf1d9c467e4a90d0d06b", null ], + [ "cutMid", "class_p_i_string.html#a1329bf4f870ef9417f30baf23a0589f9", null ], + [ "cutLeft", "class_p_i_string.html#a5e6ebd047f481f11bfc7aa5a599f84d9", null ], + [ "cutRight", "class_p_i_string.html#a3f1dea63c0baead80b3700129c2837e3", null ], + [ "trim", "class_p_i_string.html#a83a888181b131ccff5854c080ef706ba", null ], + [ "trimmed", "class_p_i_string.html#ab1050c0603206d40ec0a1a315cc87ca6", null ], + [ "replace", "class_p_i_string.html#a5409e1aecee919acb3995fe2d98396d2", null ], + [ "replaced", "class_p_i_string.html#abdde92d6e5efa3a0f6a53e7a6cb27b64", null ], + [ "replace", "class_p_i_string.html#a1fb70092a8723959b7f0718676dea6ed", null ], + [ "replaced", "class_p_i_string.html#a4e91d076a5c2488986f5e9860e65d8c7", null ], + [ "replaceAll", "class_p_i_string.html#a02fd96dd8a55a990602ecdbf21a120e0", null ], + [ "repeat", "class_p_i_string.html#a95bc5ca2e401747051eb019101036838", null ], + [ "repeated", "class_p_i_string.html#a8cdd3ad7481f765352ff371705e29ff6", null ], + [ "insert", "class_p_i_string.html#a73eb6e5b422f635f67e7db616639dd26", null ], + [ "insert", "class_p_i_string.html#aa48ee0a414ad57dd9c8db645808f1dd1", null ], + [ "insert", "class_p_i_string.html#aa71f46f0fecf56aef8501c88d41ecd35", null ], + [ "insert", "class_p_i_string.html#a8c20b60718cd3ba095012f29ef2af0c7", null ], + [ "expandRightTo", "class_p_i_string.html#ad17b4d47401a31557a06490efd9e40e5", null ], + [ "expandLeftTo", "class_p_i_string.html#aeecafb43528159d4d65dc9a5e2ca26e4", null ], + [ "reverse", "class_p_i_string.html#a57ef668d89de132b1fd27342365c7ac1", null ], + [ "reversed", "class_p_i_string.html#ab4e184e66ced5c40307797708a7fa747", null ], + [ "takeMid", "class_p_i_string.html#a923862dee9a73d4fe229f9c7106dd2c3", null ], + [ "takeLeft", "class_p_i_string.html#abe1d54c60781701c390712193e775129", null ], + [ "takeRight", "class_p_i_string.html#ab06270cc3639a716d77747f6e0e65a73", null ], + [ "takeSymbol", "class_p_i_string.html#a2717788f206607e15afa2eaa2466f2fb", null ], + [ "takeWord", "class_p_i_string.html#a66dfa56b97db69f1b3046bfed79d8dd9", null ], + [ "takeCWord", "class_p_i_string.html#a15391624f236a1c0bf2b1f6c90a42027", null ], + [ "takeLine", "class_p_i_string.html#a32449c92418db399e96faeb0e67ce6b8", null ], + [ "takeNumber", "class_p_i_string.html#a39c2f4b34d43c3f2dd2c85eb37959cba", null ], + [ "takeRange", "class_p_i_string.html#ada971d7b12743e827811e124c7bb2809", null ], + [ "lengthAscii", "class_p_i_string.html#a512a49d09681e5ecc87fb5c2b51c7bba", null ], + [ "data", "class_p_i_string.html#ac1f4d3aad27aa25a5e92f092d2890188", null ], + [ "stdString", "class_p_i_string.html#a16e633f140ce9fd27fdddd2369261721", null ], + [ "toByteArray", "class_p_i_string.html#a6438ae63b451975a06699c2c6c02221a", null ], + [ "split", "class_p_i_string.html#a2befe83e46b8e3764236445132ec023a", null ], + [ "toUpperCase", "class_p_i_string.html#a54e5e2c6fcf1869228b3fb48a9a8bae1", null ], + [ "toLowerCase", "class_p_i_string.html#a658e07bdbf43996c39f545218122989b", null ], + [ "find", "class_p_i_string.html#a99fbf95d65c51cce60c27d18c4cd5531", null ], + [ "find", "class_p_i_string.html#a1a237a5d7836ba1fcaa37087039e7d04", null ], + [ "find", "class_p_i_string.html#a4590628a19e551470960e7b350f0ff5f", null ], + [ "find", "class_p_i_string.html#a60a4b7cd4bce3f6c8208a713164f1479", null ], + [ "findLast", "class_p_i_string.html#ae19031ecb5e129e2cbc830694b2fe20f", null ], + [ "findLast", "class_p_i_string.html#a43c55edb22d030aee0c04dae4c03fa2a", null ], + [ "findLast", "class_p_i_string.html#a5b846d7fb50ccd548f640681aca4fbf4", null ], + [ "findLast", "class_p_i_string.html#a103ad13acbd263ced666ec07b4e6228d", null ], + [ "findWord", "class_p_i_string.html#a434cb662bfa4af1ccdfd0ed5188d6020", null ], + [ "findCWord", "class_p_i_string.html#aebd028e4a34e907fb891944b1de4f555", null ], + [ "startsWith", "class_p_i_string.html#a273612208fcf37a4075e517eba410920", null ], + [ "endsWith", "class_p_i_string.html#a9e58076006c085e76b7a139f2b830a7a", null ], + [ "length", "class_p_i_string.html#a61133c9da8ce47fced3d5f5e26cc0f6d", null ], + [ "isEmpty", "class_p_i_string.html#abc0709f3722cd63230b81f613c0a999e", null ], + [ "toBool", "class_p_i_string.html#ab347fe3a167a3a101e5028cc76826353", null ], + [ "toChar", "class_p_i_string.html#a33520b70a2236d83f50d5b028497db65", null ], + [ "toShort", "class_p_i_string.html#a03aa66b2e10d725f8c5310bdec3a9b76", null ], + [ "toUShort", "class_p_i_string.html#a6ab34efa2cf190bfa8309d140308e8eb", null ], + [ "toInt", "class_p_i_string.html#aebe1038b3abcbf976dbffc3f3b0de826", null ], + [ "toUInt", "class_p_i_string.html#aa243f8732d1ce3187329642025c49623", null ], + [ "toLong", "class_p_i_string.html#a32e0cd5008be019860da2be3c136f9ce", null ], + [ "toULong", "class_p_i_string.html#a75630ad632c3887e0ec7daf850a4281a", null ], + [ "toLLong", "class_p_i_string.html#a18023a92bd2ba5a90dc014cbfd77bc9c", null ], + [ "toULLong", "class_p_i_string.html#a15475a9e2b65a70208534431ee28f75a", null ], + [ "toFloat", "class_p_i_string.html#a4525841adcb8929e486e61d499430559", null ], + [ "toDouble", "class_p_i_string.html#a8a9720daaf84455e7a839a5b8bcf6fa7", null ], + [ "toLDouble", "class_p_i_string.html#af2739348013dfcd75ce88acafafcce73", null ], + [ "setNumber", "class_p_i_string.html#a03446a900bdce8a41f5be7eee2c732d5", null ], + [ "setNumber", "class_p_i_string.html#a70bda23c245790c6a3b50f31a3200aa9", null ], + [ "setNumber", "class_p_i_string.html#a102c2fcdc4bb92141c01f2108e142991", null ], + [ "setNumber", "class_p_i_string.html#aaac03b6d596d958a8e256ccb0eb40f22", null ], + [ "setNumber", "class_p_i_string.html#ad880c23247e4d79d44d215c883fcd766", null ], + [ "setNumber", "class_p_i_string.html#ada1c713c5622284efcc3ac1d89977161", null ], + [ "setNumber", "class_p_i_string.html#a2f54ca3f0ef9dde8df3fb488cbe33f7b", null ], + [ "setNumber", "class_p_i_string.html#aff868564bdb9e93d028bbe4b034ef74e", null ], + [ "setNumber", "class_p_i_string.html#a8ee00154fbc549bd4d0035270001580a", null ], + [ "setNumber", "class_p_i_string.html#a6fb55d9c34c56a3528303eb9f7419671", null ], + [ "setNumber", "class_p_i_string.html#a26f131487f10ee8a13769ae833f81fcb", null ], + [ "setReadableSize", "class_p_i_string.html#a08dad783a704578ab82b816f2cd02829", null ], + [ "operator<<", "class_p_i_string.html#af86ed54c2bd0e7590db4ca3b6845f50f", null ], + [ "operator>>", "class_p_i_string.html#a92a7c6060c9a5cea05fc97d6faea53a2", null ], + [ "operator+", "class_p_i_string.html#ab542a906081915a23c5e71e4d272be61", null ], + [ "operator+", "class_p_i_string.html#a3c9fd9112bf9bf8add42aa4a1232f02c", null ], + [ "operator+", "class_p_i_string.html#a7feead55bd8c6f9c91da7575870bbb4a", null ], + [ "operator+", "class_p_i_string.html#ac6c5f17dfacd8deb8db814c69390667e", null ], + [ "operator+", "class_p_i_string.html#acb64f0a2a7b71219db76b5d5f498515c", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_string_list-members.html b/doc/html/class_p_i_string_list-members.html new file mode 100644 index 00000000..bfe0883c --- /dev/null +++ b/doc/html/class_p_i_string_list-members.html @@ -0,0 +1,140 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIStringList Member List
+
+
+ +

This is the complete list of members for PIStringList, including all inherited members.

+ + + + + + + + + + + + + + +
contentSize()PIStringListinline
join(const PIString &delim) const PIStringListinline
operator!=(const PIStringList &o) const PIStringListinline
operator<<(std::ostream &s, const PIStringList &v)PIStringListrelated
operator==(const PIStringList &o) const PIStringListinline
PIStringList()PIStringListinline
PIStringList(const PIString &str)PIStringListinline
PIStringList(const PIString &s0, const PIString &s1)PIStringListinline
PIStringList(const PIString &s0, const PIString &s1, const PIString &s2)PIStringListinline
PIStringList(const PIString &s0, const PIString &s1, const PIString &s2, const PIString &s3)PIStringListinline
removeDuplicates()PIStringList
removeStrings(const PIString &value)PIStringListinline
trim()PIStringListinline
+
+ + + + diff --git a/doc/html/class_p_i_string_list.html b/doc/html/class_p_i_string_list.html new file mode 100644 index 00000000..ee5d91f7 --- /dev/null +++ b/doc/html/class_p_i_string_list.html @@ -0,0 +1,300 @@ + + + + + + +PIP: PIStringList Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIStringList Class Reference
+
+
+ +

Strings array class. + More...

+ +

Inherits PIDeque< T >.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIStringList ()
 Contructs empty strings list.
 
PIStringList (const PIString &str)
 Contructs strings list with one string "str".
 
PIStringList (const PIString &s0, const PIString &s1)
 Contructs empty strings list with strings "s0" and "s1".
 
PIStringList (const PIString &s0, const PIString &s1, const PIString &s2)
 Contructs empty strings list with strings "s0", "s1" and "s2".
 
PIStringList (const PIString &s0, const PIString &s1, const PIString &s2, const PIString &s3)
 Contructs empty strings list with strings "s0", "s1", "s2" and "s3".
 
PIString join (const PIString &delim) const
 Join all strings in one with delimiter "delim" and return it. More...
 
PIStringListremoveStrings (const PIString &value)
 Remove all strings equal "value" and return this. More...
 
PIStringListremoveDuplicates ()
 Remove duplicated strings and return this. More...
 
PIStringListtrim ()
 Trim all strings. More...
 
+uint contentSize ()
 Return sum of lengths of all strings.
 
+bool operator== (const PIStringList &o) const
 Compare operator.
 
+bool operator!= (const PIStringList &o) const
 Compare operator.
 
+ + + + + +

+Related Functions

(Note that these are not member functions.)

+
+std::ostream & operator<< (std::ostream &s, const PIStringList &v)
 Output operator to std::ostream (cout)
 
+

Detailed Description

+

Strings array class.

+

This class is based on PIDeque<PIString> and expand it functionality.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
PIString PIStringList::join (const PIStringdelim) const
+
+inline
+
+ +

Join all strings in one with delimiter "delim" and return it.

+

Example:

PIStringList sl("1", "2");
+
sl << "3";
+
piCout << sl.join(" < "); // 1 < 2 < 3
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
PIStringList& PIStringList::removeStrings (const PIStringvalue)
+
+inline
+
+ +

Remove all strings equal "value" and return this.

+

Example:

PIStringList sl("1", "2");
+
sl << "1" << "2" << "3";
+
piCout << sl; // {"1", "2", "1", "2", "3"}
+
piCout << sl.removeStrings("1"); // {"2", "2", "3"}
+
+
+
+ +
+
+ + + + + + + +
PIStringList & PIStringList::removeDuplicates ()
+
+ +

Remove duplicated strings and return this.

+

Example:

PIStringList sl("1", "2");
+
sl << "1" << "2" << "3";
+
piCout << sl; // {"1", "2", "1", "2", "3"}
+
piCout << sl.removeDuplicates(); // {"1", "2", "3"}
+
+
+
+ +
+
+ + + + + +
+ + + + + + + +
PIStringList& PIStringList::trim ()
+
+inline
+
+ +

Trim all strings.

+

Example:

+
+
+
+
+ + + + diff --git a/doc/html/class_p_i_string_list.js b/doc/html/class_p_i_string_list.js new file mode 100644 index 00000000..9b1fbd00 --- /dev/null +++ b/doc/html/class_p_i_string_list.js @@ -0,0 +1,16 @@ +var class_p_i_string_list = +[ + [ "PIStringList", "class_p_i_string_list.html#a2e303b0d998cc4a3d1801a4ae58a095d", null ], + [ "PIStringList", "class_p_i_string_list.html#a637847edb01e44dbd98fd636e870d8da", null ], + [ "PIStringList", "class_p_i_string_list.html#a619a3fadd772a3ceb4f7433aaaa707d5", null ], + [ "PIStringList", "class_p_i_string_list.html#a204dafd0021fb841cdb52cf2a01a0ef5", null ], + [ "PIStringList", "class_p_i_string_list.html#a79c640961baae9bbf10935245eaf3339", null ], + [ "join", "class_p_i_string_list.html#a05ae2b8fc9909e4c20a1852ee680c381", null ], + [ "removeStrings", "class_p_i_string_list.html#a7b3c809c1c93ddab639d2163da783043", null ], + [ "removeDuplicates", "class_p_i_string_list.html#af7e798057ddb99a7cca519ccf3aaba8d", null ], + [ "trim", "class_p_i_string_list.html#aebcbef8d88b0081f7081a23331f66364", null ], + [ "contentSize", "class_p_i_string_list.html#ab1d6f27922acdb2de9e8b37cd20ccd50", null ], + [ "operator==", "class_p_i_string_list.html#a5933d3895fdf319f7077c7c078a0971e", null ], + [ "operator!=", "class_p_i_string_list.html#a15888f52377f7f88aca65a66a511d3e8", null ], + [ "operator<<", "class_p_i_string_list.html#ab2ace08e93a4de6b184b29bf3d690467", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_system_time-members.html b/doc/html/class_p_i_system_time-members.html new file mode 100644 index 00000000..c0eb4b27 --- /dev/null +++ b/doc/html/class_p_i_system_time-members.html @@ -0,0 +1,161 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PISystemTime Member List
+
+
+ +

This is the complete list of members for PISystemTime, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
abs() const PISystemTime
addMicroseconds(double v)PISystemTimeinline
addMilliseconds(double v)PISystemTimeinline
addNanoseconds(double v)PISystemTimeinline
addSeconds(double v)PISystemTimeinline
current(bool precise_but_not_system=false)PISystemTimestatic
fromMicroseconds(double v)PISystemTimeinlinestatic
fromMilliseconds(double v)PISystemTimeinlinestatic
fromNanoseconds(double v)PISystemTimeinlinestatic
fromSeconds(double v)PISystemTimeinlinestatic
nanosecondsPISystemTime
operator!=(const PISystemTime &t) const PISystemTimeinline
operator*(const double &v) const PISystemTimeinline
operator*=(const double &v)PISystemTimeinline
operator+(const PISystemTime &t) const PISystemTimeinline
operator+=(const PISystemTime &t)PISystemTimeinline
operator-(const PISystemTime &t) const PISystemTimeinline
operator-=(const PISystemTime &t)PISystemTimeinline
operator/(const double &v) const PISystemTimeinline
operator/=(const double &v)PISystemTimeinline
operator<(const PISystemTime &t) const PISystemTimeinline
operator<=(const PISystemTime &t) const PISystemTimeinline
operator==(const PISystemTime &t) const PISystemTimeinline
operator>(const PISystemTime &t) const PISystemTimeinline
operator>=(const PISystemTime &t) const PISystemTimeinline
PISystemTime()PISystemTimeinline
PISystemTime(long s, long ns)PISystemTimeinline
PISystemTime(const PISystemTime &t)PISystemTimeinline
secondsPISystemTime
sleep()PISystemTimeinline
toMicroseconds() const PISystemTimeinline
toMilliseconds() const PISystemTimeinline
toNanoseconds() const PISystemTimeinline
toSeconds() const PISystemTimeinline
+
+ + + + diff --git a/doc/html/class_p_i_system_time.html b/doc/html/class_p_i_system_time.html new file mode 100644 index 00000000..c3f62074 --- /dev/null +++ b/doc/html/class_p_i_system_time.html @@ -0,0 +1,322 @@ + + + + + + +PIP: PISystemTime Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PISystemTime Class Reference
+
+
+ +

System time. + More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PISystemTime ()
 Contructs system time with s = ns = 0.
 
PISystemTime (long s, long ns)
 Contructs system time with s = "s" and ns = "ns".
 
PISystemTime (const PISystemTime &t)
 Contructs system time from another.
 
+double toSeconds () const
 Returns stored system time value in seconds.
 
+double toMilliseconds () const
 Returns stored system time value in milliseconds.
 
+double toMicroseconds () const
 Returns stored system time value in microseconds.
 
+double toNanoseconds () const
 Returns stored system time value in nanoseconds.
 
+PISystemTimeaddSeconds (double v)
 Add to stored system time "v" seconds.
 
+PISystemTimeaddMilliseconds (double v)
 Add to stored system time "v" milliseconds.
 
+PISystemTimeaddMicroseconds (double v)
 Add to stored system time "v" microseconds.
 
+PISystemTimeaddNanoseconds (double v)
 Add to stored system time "v" nanoseconds.
 
void sleep ()
 
+PISystemTime abs () const
 Returns copy of this system time with absolutely values of s and ns.
 
+PISystemTime operator+ (const PISystemTime &t) const
 Returns sum of this system time with "t".
 
+PISystemTime operator- (const PISystemTime &t) const
 Returns difference between this system time and "t".
 
+PISystemTime operator* (const double &v) const
 Returns multiplication between this system time and "t".
 
+PISystemTime operator/ (const double &v) const
 Returns division between this system time and "t".
 
+PISystemTimeoperator+= (const PISystemTime &t)
 Add to stored value system time "t".
 
+PISystemTimeoperator-= (const PISystemTime &t)
 Subtract from stored value system time "t".
 
+PISystemTimeoperator*= (const double &v)
 Multiply stored value system time by "v".
 
+PISystemTimeoperator/= (const double &v)
 Divide stored value system time by "v".
 
+bool operator== (const PISystemTime &t) const
 Compare system times.
 
+bool operator!= (const PISystemTime &t) const
 Compare system times.
 
+bool operator> (const PISystemTime &t) const
 Compare system times.
 
+bool operator< (const PISystemTime &t) const
 Compare system times.
 
+bool operator>= (const PISystemTime &t) const
 Compare system times.
 
+bool operator<= (const PISystemTime &t) const
 Compare system times.
 
+ + + + + + + + + + + + + + + + +

+Static Public Member Functions

+static PISystemTime fromSeconds (double v)
 Contructs system time from seconds "v".
 
+static PISystemTime fromMilliseconds (double v)
 Contructs system time from milliseconds "v".
 
+static PISystemTime fromMicroseconds (double v)
 Contructs system time from microseconds "v".
 
+static PISystemTime fromNanoseconds (double v)
 Contructs system time from nanoseconds "v".
 
+static PISystemTime current (bool precise_but_not_system=false)
 Returns current system time.
 
+ + + + + + + +

+Public Attributes

+long seconds
 Seconds of stored system time.
 
+long nanoseconds
 Nanoseconds of stored system time.
 
+

Detailed Description

+

System time.

+

+Synopsis

+

This class provide arithmetic functions for POSIX system time. This time represents as seconds and nanosecons in integer formats. You can take current system time with function PISystemTime::current(), compare times, sum or subtract two times, convert time to/from seconds, milliseconds, microseconds or nanoseconds.

+

+Example

+
int main() {
+
PISystemTime t0; // s = ns = 0
+
t0.addMilliseconds(200); // s = 0, ns = 200000000
+
t0.addMilliseconds(900); // s = 1, ns = 100000000
+
t0 -= PISystemTime::fromSeconds(0.1); // s = 1, ns = 0
+
t0.sleep(); // sleep for 1 second
+ + +
piMSleep(500);
+ +
(t1 - t0).sleep(); // sleep for 500 milliseconds
+
return 0;
+
};
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void PISystemTime::sleep ()
+
+inline
+
+

Sleep for stored value.

Warning
Use this function to sleep for difference of system times or constructs system time. If you call this function on system time returned with PISystemTime::current() thread will be sleep almost forever.
+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_system_time.js b/doc/html/class_p_i_system_time.js new file mode 100644 index 00000000..26a294e8 --- /dev/null +++ b/doc/html/class_p_i_system_time.js @@ -0,0 +1,32 @@ +var class_p_i_system_time = +[ + [ "PISystemTime", "class_p_i_system_time.html#a1953b9b01b46f81c9abdda056b586baf", null ], + [ "PISystemTime", "class_p_i_system_time.html#ae21e04bfdf6534b05d0037ed14ee59bc", null ], + [ "PISystemTime", "class_p_i_system_time.html#acf262a7f3ab39b197bae61c942989271", null ], + [ "toSeconds", "class_p_i_system_time.html#a296f501657919b2d66747abb82f606cb", null ], + [ "toMilliseconds", "class_p_i_system_time.html#aff38007b354d3420f25a5d37640e1bf5", null ], + [ "toMicroseconds", "class_p_i_system_time.html#a0cb8a1a609186771ad619620d01c0544", null ], + [ "toNanoseconds", "class_p_i_system_time.html#a7732f3585eab387d80eaa3d68b620bc4", null ], + [ "addSeconds", "class_p_i_system_time.html#a5e98e183f16631bdec2c019356b2679b", null ], + [ "addMilliseconds", "class_p_i_system_time.html#acd6dbda302fd70a2d27e2bd3af7ae29c", null ], + [ "addMicroseconds", "class_p_i_system_time.html#ab7241ee8399e898db3912b6525128ff9", null ], + [ "addNanoseconds", "class_p_i_system_time.html#a8b53a1bf0e40a595b26115369bfb374d", null ], + [ "sleep", "class_p_i_system_time.html#ad290b000832a523754c315404b36ce9b", null ], + [ "abs", "class_p_i_system_time.html#a6408d67d0ebe7fc41d8d91f8b886eef6", null ], + [ "operator+", "class_p_i_system_time.html#a415080b1306b98576a2bd6c38b8de78d", null ], + [ "operator-", "class_p_i_system_time.html#a4401fa2920eb43cfb89019ef6fc5be6a", null ], + [ "operator*", "class_p_i_system_time.html#a951c593d9a3d7f68edee3499886ab06e", null ], + [ "operator/", "class_p_i_system_time.html#a59e752e61f73f625cc46c4613a921ee6", null ], + [ "operator+=", "class_p_i_system_time.html#aa2e044663f23a4456aeac7b472d56d2f", null ], + [ "operator-=", "class_p_i_system_time.html#a9615d99f50b56aaf6a8b10ac96d47422", null ], + [ "operator*=", "class_p_i_system_time.html#af24dc2012c4ba4885975bbc4a14c12f0", null ], + [ "operator/=", "class_p_i_system_time.html#a4bb8e7ee161308b4f7ac23fb547fc5c1", null ], + [ "operator==", "class_p_i_system_time.html#a1f0ca869016e7504ef2ef0d39fb24286", null ], + [ "operator!=", "class_p_i_system_time.html#afa5fd1abc702111b388dd20d8069902a", null ], + [ "operator>", "class_p_i_system_time.html#a2bbab7edaddad2d31f9782aaf8441023", null ], + [ "operator<", "class_p_i_system_time.html#a9f3ebf927584b6577139ebfb6008e8ab", null ], + [ "operator>=", "class_p_i_system_time.html#ab6e479036d86834fbdc3eb39ae17f062", null ], + [ "operator<=", "class_p_i_system_time.html#a5acdaaac43720151791fea0244fee00c", null ], + [ "seconds", "class_p_i_system_time.html#a04b205ecf95921596a68c442b49b34b0", null ], + [ "nanoseconds", "class_p_i_system_time.html#a44d03ab983c54f3edfe3f5e57e08b15a", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_thread-members.html b/doc/html/class_p_i_thread-members.html new file mode 100644 index 00000000..d45ab503 --- /dev/null +++ b/doc/html/class_p_i_thread-members.html @@ -0,0 +1,216 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIThread Member List
+
+
+ +

This is the complete list of members for PIThread, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin()PIThreadinlineprotectedvirtual
className() const PIObjectinlinevirtual
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
data() const PIThreadinline
debug() const PIObjectinline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprotected
end()PIThreadinlineprotectedvirtual
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
findByName(const PIString &name)PIObjectinlinestatic
HANDLERPIObjectrelated
isPropertyExists(const PIString &name) const PIObjectinline
isRunning() const PIThreadinline
lock()PIThreadinline
mutex()PIThreadinline
name() const PIObjectinline
needLockRun(bool need)PIThreadinline
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
piHigh enum valuePIThread
piHighest enum valuePIThread
piLow enum valuePIThread
piLowerst enum valuePIThread
piNormal enum valuePIThread
PIOBJECTPIObjectrelated
PIObject(const PIString &name=PIString())PIObject
PIOBJECT_PARENTPIObjectrelated
PIThread(void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)PIThread
PIThread(bool startNow=false, int loop_delay=-1)PIThread
Priority enum namePIThread
priority() const PIThreadinline
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIObjectinlineprotectedvirtual
run()PIThreadinlineprotectedvirtual
setData(void *d)PIThreadinline
setDebug(bool debug)PIObjectinline
setName(const PIString &name)PIObjectinline
setPriority(PIThread::Priority prior)PIThread
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
setSlot(ThreadFunc func)PIThreadinline
start(int timer_delay)PIThread
start(ThreadFunc func, int timer_delay)PIThreadinline
started()PIThread
startOnce()PIThread
startOnce(ThreadFunc func)PIThreadinline
stop(bool wait)PIThreadinline
stopped()PIThread
superClassName() const PIObjectinlinevirtual
terminate()PIThread
unlock()PIThreadinline
waitForFinish(int timeout_msecs)PIThread
waitForStart(int timeout_msecs)PIThread
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
+
+ + + + diff --git a/doc/html/class_p_i_thread.html b/doc/html/class_p_i_thread.html new file mode 100644 index 00000000..3545d55f --- /dev/null +++ b/doc/html/class_p_i_thread.html @@ -0,0 +1,746 @@ + + + + + + +PIP: PIThread Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIThread Class Reference
+
+
+ +

Thread class. + More...

+
+ + Inheritance diagram for PIThread:
+
+
+ + + + + + +

+Public Types

enum  Priority {
+  piLowerst, +piLow, +piNormal, +piHigh, +
+  piHighest +
+ }
 Priority of thread. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIThread (void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)
 Contructs thread with custom data "data", external function "func" and main loop delay "loop_delay".
 
PIThread (bool startNow=false, int loop_delay=-1)
 Contructs thread with main loop delay "loop_delay".
 
+void setData (void *d)
 Set common data passed to external function.
 
+void setSlot (ThreadFunc func)
 Set external function that will be executed after every run()
 
+void setPriority (PIThread::Priority prior)
 Set priority of thread.
 
+void * data () const
 Returns common data passed to external function.
 
+PIThread::Priority priority () const
 Return priority of thread.
 
+bool isRunning () const
 Return true if thread is running.
 
+void needLockRun (bool need)
 Set necessity of lock every run with internal mutex.
 
+PIMutexmutex ()
 Return internal mutex.
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
+ + + + + + + + + + + + + + + + + +

+Protected Member Functions

+virtual void begin ()
 Function executed once at the start of thread.
 
+virtual void run ()
 Function executed at every "timer_delay" msecs until thread was stopped.
 
+virtual void end ()
 Function executed once at the end of thread.
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Handlers

bool start (int timer_delay)
 Start thread. More...
 
bool start (ThreadFunc func, int timer_delay)
 Start thread. More...
 
bool startOnce ()
 Start thread without internal loop. More...
 
bool startOnce (ThreadFunc func)
 Start thread without internal loop. More...
 
void stop (bool wait)
 Stop thread. More...
 
void terminate ()
 Strongly stop thread. More...
 
bool waitForStart (int timeout_msecs)
 Wait for thread start. More...
 
bool waitForFinish (int timeout_msecs)
 Wait for thread finish. More...
 
+void lock ()
 Lock internal mutex.
 
+void unlock ()
 Unlock internal mutex.
 
+ + + + + + + +

+Events

+void started ()
 Raise on thread start.
 
+void stopped ()
 Raise on thread stop.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
+

Detailed Description

+

Thread class.

+

This class allow you exec your code in separate thread.

+

+Synopsis

+

Multithreading allow you to write program which will be executed in several threads simultaneously. This trend allow you to use all cores of modern processors, but there are many dangers.

+

This class provide virtual functions begin(), run() and end(), which describes start, execution and finish work of some process. These functions executes in separate thread. When you execute start(), PIThread create separate system thread and sequentially executes function begin(), run() and end(). You can reimplement each function and write your own code to execute. Scheme of functions executing:

+
event started();
+
while (isRunning()) {
+
run();
+
ThreadFunc();
+
msleep(timer_delay);
+
}
+
event stopped();
+
end();
+

Unlike from directly using "pthread" or some similar you doesn`t need to write your own main thread cycle and sleep at every cycle end. PIThread make it for you, and your job is to set sleep value from contructor or when starting thread, and reimplement begin(), run() and end() functions.

+

+Using without subclassing

+

You can use PIThread without subclassing by using "ThreadFunc" pointer that can be set from constructor or by overloaded function start(ThreadFunc func, int timer_delay). If "func" if not null this function will be executed as run(). ThreadFunc is any static function with format void func(void * data). "Data" is custom data set from constructor or with function setData().
+ Also you can connect to event started(), but in this case you should to white your thread main cycle, because this event raised only one time.

+

+Locking

+

PIThread has inrternal mutex that can be locked and unlocked every run() if you set this flag with function needLockRun(bool). Also you can access to this mutex by functions lock(), unlock() and mutex(). Using this functions together with needLockRun(true) can guarantee one-thread access to some data.

+

Member Enumeration Documentation

+ +
+
+ + + + +
enum PIThread::Priority
+
+ +

Priority of thread.

+ + + + + + +
Enumerator
piLowerst  +

Lowest

+
piLow  +

Low

+
piNormal  +

Normal, this is default priority of threads and timers

+
piHigh  +

High

+
piHighest  +

Highest

+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
bool PIThread::start (int timer_delay = -1)
+
+ +

Start thread.

+

Start execution of run() in internal loop with "timer_delay" delay in milliseconds. If "timer_delay" <= 0 there is no delay in loop. Thread also exec external function set by setSlot() if it`s not null

+
Returns
false if thread already started or can`t start thread
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool PIThread::start (ThreadFunc func,
int timer_delay = -1 
)
+
+inline
+
+ +

Start thread.

+

Overloaded function. Set external function "func" before start

+
Returns
false if thread already started or can`t start thread
+ +
+
+ +
+
+ + + + + + + +
bool PIThread::startOnce ()
+
+ +

Start thread without internal loop.

+

Start execution of run() once. Thread also exec external function set by setSlot() if it`s not null

+
Returns
false if thread already started or can`t start thread
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool PIThread::startOnce (ThreadFunc func)
+
+inline
+
+ +

Start thread without internal loop.

+

Overloaded function. Set external function "func" before start

+
Returns
false if thread already started or can`t start thread
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void PIThread::stop (bool wait = false)
+
+inline
+
+ +

Stop thread.

+

Stop execution of thread and wait for it finish if "wait" is true. This function can block for infinite time if "wait" is true and any of thread function is busy forever

+ +
+
+ +
+
+ + + + + + + +
void PIThread::terminate ()
+
+ +

Strongly stop thread.

+

Stop execution of thread immediately

+ +
+
+ +
+
+ + + + + + + + +
bool PIThread::waitForStart (int timeout_msecs = -1)
+
+ +

Wait for thread start.

+

This function block until thread finish for "timeout_msecs" or forever if "timeout_msecs" < 0

+
Returns
false if timeout is exceeded
+ +
+
+ +
+
+ + + + + + + + +
bool PIThread::waitForFinish (int timeout_msecs = -1)
+
+ +

Wait for thread finish.

+

This function block until thread start for "timeout_msecs" or forever if "timeout_msecs" < 0

+
Returns
false if timeout is exceeded
+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_thread.js b/doc/html/class_p_i_thread.js new file mode 100644 index 00000000..72ed2d3e --- /dev/null +++ b/doc/html/class_p_i_thread.js @@ -0,0 +1,35 @@ +var class_p_i_thread = +[ + [ "Priority", "class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77b", [ + [ "piLowerst", "class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77ba4dbd54fc5158a029c682b718f48312d4", null ], + [ "piLow", "class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77ba46703d0258b11d41c52a266b2b10b6d9", null ], + [ "piNormal", "class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77babd362bfacabbd61d69793cceb449425c", null ], + [ "piHigh", "class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77ba0e6861fee3e57cf6ba026a7553e69576", null ], + [ "piHighest", "class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77ba18babfebe41163fbb810eb41357a6347", null ] + ] ], + [ "PIThread", "class_p_i_thread.html#adaa3b942365cb17b3e985648128e5f7e", null ], + [ "PIThread", "class_p_i_thread.html#a538752277df4d58134b05ef080ed6b04", null ], + [ "start", "class_p_i_thread.html#a5fb7161b42840be7fb2f738046887b39", null ], + [ "start", "class_p_i_thread.html#a38785bbce4ef9afb7116cea78beffa08", null ], + [ "startOnce", "class_p_i_thread.html#a44a9fe015ea8288a0a336b614ff2962b", null ], + [ "startOnce", "class_p_i_thread.html#ad50035fe7d3a2557178b6b46f6fa4861", null ], + [ "stop", "class_p_i_thread.html#a37e179466edd8011aca3a07e10153e62", null ], + [ "terminate", "class_p_i_thread.html#a2004de7b6aa59ecb50321571b932ec20", null ], + [ "setData", "class_p_i_thread.html#a221e15d1a4093b7db6cc579fc8be69b6", null ], + [ "setSlot", "class_p_i_thread.html#a85c22bf31dae02180827f2952e3594ee", null ], + [ "setPriority", "class_p_i_thread.html#ade6ddabe46917c5cef2f5da1dd613a69", null ], + [ "data", "class_p_i_thread.html#aa3c4138dc000e34fb74140d0a5be3afe", null ], + [ "priority", "class_p_i_thread.html#adcc0d49a7914cba2b3edc86c454ee3a6", null ], + [ "isRunning", "class_p_i_thread.html#a46720d79609ec893d9eb5eaa2354c414", null ], + [ "waitForStart", "class_p_i_thread.html#a8bcffcc0d12bdd6d8ddd455a15241313", null ], + [ "waitForFinish", "class_p_i_thread.html#ae325266c7f3484ad52c0a5c690cc222c", null ], + [ "needLockRun", "class_p_i_thread.html#a87a8b9315e3e2c0eb8bfeb864474da57", null ], + [ "lock", "class_p_i_thread.html#a221de2cf94a569a223bfc4456c0f4fed", null ], + [ "unlock", "class_p_i_thread.html#a82baf1fe4608234ba76b68540100ee73", null ], + [ "mutex", "class_p_i_thread.html#aeaff22c99b5f5ba444671d658eba2f14", null ], + [ "started", "class_p_i_thread.html#a6b91eb8632e75e0f00a625f28a0bedd1", null ], + [ "stopped", "class_p_i_thread.html#aa6350430814f777fdce81f99cbba4c1a", null ], + [ "begin", "class_p_i_thread.html#a70d5c858e8b7144280b8b216304ce1d0", null ], + [ "run", "class_p_i_thread.html#a8c9cacfd381e0e02eb6e52810d48ce2e", null ], + [ "end", "class_p_i_thread.html#af6dacd35973ff834f007d0f6a40f6e9c", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_thread__inherit__graph.map b/doc/html/class_p_i_thread__inherit__graph.map new file mode 100644 index 00000000..735c8dbc --- /dev/null +++ b/doc/html/class_p_i_thread__inherit__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/doc/html/class_p_i_thread__inherit__graph.md5 b/doc/html/class_p_i_thread__inherit__graph.md5 new file mode 100644 index 00000000..9847b4b9 --- /dev/null +++ b/doc/html/class_p_i_thread__inherit__graph.md5 @@ -0,0 +1 @@ +3dfb852148bc0b73929c253a6df76762 \ No newline at end of file diff --git a/doc/html/class_p_i_thread__inherit__graph.svg b/doc/html/class_p_i_thread__inherit__graph.svg new file mode 100644 index 00000000..a50d5088 --- /dev/null +++ b/doc/html/class_p_i_thread__inherit__graph.svg @@ -0,0 +1,161 @@ + + + + + + +PIThread + + +Node1 + +PIThread + + +Node3 + + +PIConsole + + + + +Node1->Node3 + + + + +Node4 + + +PIIODevice + + + + +Node1->Node4 + + + + +Node11 + + +PIKbdListener + + + + +Node1->Node11 + + + + +Node12 + + +PIProcess + + + + +Node1->Node12 + + + + +Node2 + + +PIObject + + + + +Node2->Node1 + + + + +Node5 + + +PIBinaryLog + + + + +Node4->Node5 + + + + +Node6 + + +PIEthernet + + + + +Node4->Node6 + + + + +Node7 + + +PIFile + + + + +Node4->Node7 + + + + +Node9 + + +PIPacketExtractor + + + + +Node4->Node9 + + + + +Node10 + + +PISerial + + + + +Node4->Node10 + + + + +Node8 + + +PIConfig + + + + +Node7->Node8 + + + + + diff --git a/doc/html/class_p_i_time_measurer-members.html b/doc/html/class_p_i_time_measurer-members.html new file mode 100644 index 00000000..60a58726 --- /dev/null +++ b/doc/html/class_p_i_time_measurer-members.html @@ -0,0 +1,139 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PITimeMeasurer Member List
+
+
+ +

This is the complete list of members for PITimeMeasurer, including all inherited members.

+ + + + + + + + + + + + + +
elapsed()PITimeMeasurer
elapsed_m()PITimeMeasurer
elapsed_n()PITimeMeasurer
elapsed_s()PITimeMeasurer
elapsed_system()PITimeMeasurerinlinestatic
elapsed_system_m()PITimeMeasurerinlinestatic
elapsed_system_n()PITimeMeasurerinlinestatic
elapsed_system_s()PITimeMeasurerinlinestatic
elapsed_system_u()PITimeMeasurerinlinestatic
elapsed_u()PITimeMeasurer
reset()PITimeMeasurerinline
reset_time()PITimeMeasurerinline
+
+ + + + diff --git a/doc/html/class_p_i_time_measurer.html b/doc/html/class_p_i_time_measurer.html new file mode 100644 index 00000000..33dcecb8 --- /dev/null +++ b/doc/html/class_p_i_time_measurer.html @@ -0,0 +1,218 @@ + + + + + + +PIP: PITimeMeasurer Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PITimeMeasurer Class Reference
+
+
+ +

Time measurements. + More...

+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void reset ()
 Set internal time mark to current system time. More...
 
+double elapsed_n ()
 Returns nanoseconds elapsed from last reset() execution or from timer measurer creation.
 
+double elapsed_u ()
 Returns microseconds elapsed from last reset() execution or from timer measurer creation.
 
+double elapsed_m ()
 Returns milliseconds elapsed from last reset() execution or from timer measurer creation.
 
+double elapsed_s ()
 Returns seconds elapsed from last reset() execution or from timer measurer creation.
 
+PISystemTime elapsed ()
 Returns PISystemTime elapsed from last reset() execution or from timer measurer creation.
 
+PISystemTime reset_time ()
 Returns time mark of last reset() execution or timer measurer creation.
 
+ + + + + + + + + + + + + + + + +

+Static Public Member Functions

+static double elapsed_system_n ()
 Returns nanoseconds representation of current system time.
 
+static double elapsed_system_u ()
 Returns microseconds representation of current system time.
 
+static double elapsed_system_m ()
 Returns milliseconds representation of current system time.
 
+static double elapsed_system_s ()
 Returns seconds representation of current system time.
 
+static PISystemTime elapsed_system ()
 Returns time mark of current system time.
 
+

Detailed Description

+

Time measurements.

+

+Synopsis

+

Function reset() set time mark to current system time, then functions double elapsed_*() returns time elapsed from this mark. These functions can returns nano-, micro-, milli- and seconds with suffixes "n", "u", "m" and "s"

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void PITimeMeasurer::reset ()
+
+inline
+
+ +

Set internal time mark to current system time.

+

This function used for set start time mark. Later you can find out elapsed time from this time mark to any moment of time with elapsed_s(), elapsed_m(), elapsed_u() or elapsed_n() functions.

See also
elapsed_s(), elapsed_m(), elapsed_u(), elapsed_n()
+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_time_measurer.js b/doc/html/class_p_i_time_measurer.js new file mode 100644 index 00000000..24aa08a5 --- /dev/null +++ b/doc/html/class_p_i_time_measurer.js @@ -0,0 +1,10 @@ +var class_p_i_time_measurer = +[ + [ "reset", "class_p_i_time_measurer.html#a9b9d77de23a343ccabc56d6658f9d874", null ], + [ "elapsed_n", "class_p_i_time_measurer.html#a7f0832742601a1c6c13e87aca6c9bdc0", null ], + [ "elapsed_u", "class_p_i_time_measurer.html#aa00150de5e04b3c7256e620498182380", null ], + [ "elapsed_m", "class_p_i_time_measurer.html#a2421e0d7f623a3181683ad50957d72fe", null ], + [ "elapsed_s", "class_p_i_time_measurer.html#a49b04aae807b3d09dc25485f4e47da75", null ], + [ "elapsed", "class_p_i_time_measurer.html#a9af8e8ee2231a6b62eea549c8d01d1d2", null ], + [ "reset_time", "class_p_i_time_measurer.html#a1d469ce161b772ce6fffc04e53cea18f", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_timer-members.html b/doc/html/class_p_i_timer-members.html new file mode 100644 index 00000000..12a9b24e --- /dev/null +++ b/doc/html/class_p_i_timer-members.html @@ -0,0 +1,212 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PITimer Member List
+
+
+ +

This is the complete list of members for PITimer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addDelimiter(int delim, TimerEvent slot=0)PITimerinline
className() const PIObjectinlinevirtual
clearDelimiters()PITimerinline
CONNECTPIObjectrelated
CONNECT0PIObjectrelated
CONNECT1PIObjectrelated
CONNECT2PIObjectrelated
CONNECT3PIObjectrelated
CONNECT4PIObjectrelated
CONNECTUPIObjectrelated
data() const PITimerinline
debug() const PIObjectinline
DISCONNECTPIObjectrelated
DISCONNECT0PIObjectrelated
DISCONNECT1PIObjectrelated
DISCONNECT2PIObjectrelated
DISCONNECT3PIObjectrelated
DISCONNECT4PIObjectrelated
emitter() const PIObjectinlineprotected
EVENTPIObjectrelated
EVENT0PIObjectrelated
EVENT1PIObjectrelated
EVENT2PIObjectrelated
EVENT3PIObjectrelated
EVENT4PIObjectrelated
EVENT_HANDLERPIObjectrelated
EVENT_HANDLER0PIObjectrelated
EVENT_HANDLER1PIObjectrelated
EVENT_HANDLER2PIObjectrelated
EVENT_HANDLER3PIObjectrelated
EVENT_HANDLER4PIObjectrelated
EVENT_VHANDLERPIObjectrelated
EVENT_VHANDLER0PIObjectrelated
EVENT_VHANDLER1PIObjectrelated
EVENT_VHANDLER2PIObjectrelated
EVENT_VHANDLER3PIObjectrelated
EVENT_VHANDLER4PIObjectrelated
findByName(const PIString &name)PIObjectinlinestatic
HANDLERPIObjectrelated
implementation() const PITimerinline
interval() const PITimerinline
isPropertyExists(const PIString &name) const PIObjectinline
isRunning() const PITimerinline
isStopped() const PITimerinline
name() const PIObjectinline
piCoutObjPIObjectrelated
piDisconnect(PIObject *src, const PIString &sig)PIObjectstatic
piDisconnect(PIObject *src)PIObjectstatic
PIOBJECTPIObjectrelated
PIObject(const PIString &name=PIString())PIObject
PIOBJECT_PARENTPIObjectrelated
PITimer()PITimerexplicit
PITimer(TimerImplementation ti)PITimerexplicit
PITimer(TimerEvent slot, void *data=0, TimerImplementation ti=Thread)PITimerexplicit
Pool enum valuePITimer
properties() const PIObjectinline
propertiesCount() const PIObjectinline
property(const PIString &name) const PIObjectinline
propertyChanged(const PIString &name)PIObjectinlineprotectedvirtual
removeDelimiter(int delim)PITimerinline
removeDelimiter(TimerEvent slot)PITimerinline
removeDelimiter(int delim, TimerEvent slot)PITimerinline
restart()PITimerinline
setData(void *data_)PITimerinline
setDebug(bool debug)PIObjectinline
setInterval(double ms)PITimerinline
setName(const PIString &name)PIObjectinline
setProperty(const PIString &name, const PIVariant &value)PIObjectinline
setSlot(TimerEvent slot)PITimerinline
start()PITimerinline
start(int interval_ms_i)PITimerinline
start(double interval_ms_d)PITimerinline
stop()PITimerinline
superClassName() const PIObjectinlinevirtual
Thread enum valuePITimer
ThreadRT enum valuePITimer
tick(void *data_, int delimiter)PITimerinlineprotectedvirtual
tickEvent(void *data_, int delimiter)PITimer
TimerImplementation enum namePITimer
WEAK_CONNECTPIObjectrelated
WEAK_CONNECT0PIObjectrelated
WEAK_CONNECT1PIObjectrelated
WEAK_CONNECT2PIObjectrelated
WEAK_CONNECT3PIObjectrelated
WEAK_CONNECT4PIObjectrelated
+
+ + + + diff --git a/doc/html/class_p_i_timer.html b/doc/html/class_p_i_timer.html new file mode 100644 index 00000000..ceaa0a31 --- /dev/null +++ b/doc/html/class_p_i_timer.html @@ -0,0 +1,718 @@ + + + + + + +PIP: PITimer Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PITimer Class Reference
+
+
+ +

Timer. + More...

+
+ + Inheritance diagram for PITimer:
+
+
+ + + + + + +

+Public Types

enum  TimerImplementation { Thread = 0x01, +ThreadRT = 0x02, +Pool = 0x04 + }
 Timer implementations. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PITimer ()
 Constructs timer with PITimer::Thread implementation.
 
PITimer (TimerImplementation ti)
 Constructs timer with "ti" implementation.
 
PITimer (TimerEvent slot, void *data=0, TimerImplementation ti=Thread)
 Constructs timer with "slot" slot, "data" data and "ti" implementation.
 
+PITimer::TimerImplementation implementation () const
 Returns timer implementation.
 
+double interval () const
 Returns timer loop delay in milliseconds.
 
+void setInterval (double ms)
 Set timer loop delay in milliseconds.
 
+bool isRunning () const
 Returns if timer is started.
 
+bool isStopped () const
 Returns if timer is not started.
 
+void setData (void *data_)
 Set custom data.
 
+void setSlot (TimerEvent slot)
 Set timer tick function.
 
+void * data () const
 Returns common data passed to tick functions.
 
+void addDelimiter (int delim, TimerEvent slot=0)
 Add frequency delimiter delim with optional delimiter slot slot.
 
+void removeDelimiter (int delim)
 Remove all frequency delimiters delim.
 
+void removeDelimiter (TimerEvent slot)
 Remove all frequency delimiters with slot slot.
 
+void removeDelimiter (int delim, TimerEvent slot)
 Remove all frequency delimiters delim with slot slot.
 
- Public Member Functions inherited from PIObject
PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
+PIString name () const
 Returns object name.
 
+virtual const char * className () const
 Returns object class name.
 
+virtual const char * superClassName () const
 Returns object superclass name.
 
+bool debug () const
 Return if debug of this object is active.
 
+void setName (const PIString &name)
 Set object name.
 
+void setDebug (bool debug)
 Set object debug active.
 
+const PIMap< PIString,
+PIVariant > & 
properties () const
 Returns properties of the object.
 
+int propertiesCount () const
 Returns properties count of the object.
 
+PIVariant property (const PIString &name) const
 Returns property with name "name".
 
+void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
+bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 
+ + + + + + + + + + +

+Protected Member Functions

virtual void tick (void *data_, int delimiter)
 
- Protected Member Functions inherited from PIObject
+PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
+virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
+ + + + + + + + + + + + + + + + + + + +

+Handlers

bool start ()
 Start timer with interval() loop delay. More...
 
bool start (int interval_ms_i)
 Start timer with msecs loop delay. More...
 
bool start (double interval_ms_d)
 Start timer with msecs loop delay. More...
 
+bool restart ()
 Stop and start timer with interval() loop delay.
 
+bool stop ()
 Stop timer.
 
+void clearDelimiters ()
 Remove all frequency delimiters.
 
+ + + + +

+Events

void tickEvent (void *data_, int delimiter)
 Raise on timer tick. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from PIObject
+static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
+static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
+static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
+

Detailed Description

+

Timer.

+

+Synopsis

+

This class implements timer function. PIP timers supports 3 way to tick notify, frequency delimiters and time measurements.

+

+Notify variants

+

Notify variants:

    +
  • "slot" - static function with format void func(void * data, int delimiter);
  • +
  • event - tickEvent();
  • +
  • virtual function - tick().
  • +
+

All these variants are equivalent, use most applicable.

+

+Frequency delimiters

+

Frequency delimiter is an integer number and "slot" function. If "slot" function is null timer main "slot" will be used. Each delimiter numbers tick timer will be execute delimiters or timer main "slot" function with delimiter value = delimiter number. Example:

void tfunc(void * , int delim) {
+
piCout << "tick with delimiter" << delim;
+
};
+
void tfunc4(void * , int delim) {
+
piCout << "tick4 with delimiter" << delim;
+
};
+
int main() {
+
PITimer timer(tfunc);
+
timer.addDelimiter(2);
+
timer.addDelimiter(4, tfunc4);
+
timer.start(50);
+
piMSleep(200);
+
timer.stop();
+
timer.waitForFinish();
+
return 0;
+
};
+
/* Result:
+
tick with delimiter 1
+
tick with delimiter 1
+
tick with delimiter 2
+
tick with delimiter 1
+
tick with delimiter 1
+
tick with delimiter 2
+
tick4 with delimiter 4
+
*/
+

+Synopsis

+

PITimer can be used as time measurer. Function reset() set time mark to current system time, then functions double elapsed_*() returns time elapsed from this mark. These functions can returns nano-, micro-, milli- and seconds with suffixes "n", "u", "m" and "s" Example:

int main() {
+
PITimer timer;
+
piMSleep(100);
+
piCout << "elapsed" << timer.elapsed_m() << "ms";
+
piMSleep(100);
+
piCout << "elapsed" << timer.elapsed_m() << "ms";
+
timer.reset();
+
piMSleep(150);
+
piCout << "elapsed" << timer.elapsed_s() << "s";
+
return 0;
+
};
+
/* Result:
+
elapsed 100 ms
+
elapsed 200 ms
+
elapsed 0.15 s
+
*/
+

Member Enumeration Documentation

+ +
+
+ +

Timer implementations.

+ + + + +
Enumerator
Thread  +

Timer works in his own thread. Intervals are measured by the system time

+
ThreadRT  +

Using POSIX timer with SIGEV_THREAD notification.

Attention
Doesn`t support on Windows and Mac OS!
+
Pool  +

Using single TimerPool for all timers with this implementation. TimerPool works as Thread implementation and sequentially executes all timers.

Attention
Use this implementation with care!
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
bool PITimer::start ()
+
+inline
+
+ +

Start timer with interval() loop delay.

+

Start execution of timer functions with frequency = 1 / msecs Hz.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool PITimer::start (int msecs)
+
+inline
+
+ +

Start timer with msecs loop delay.

+

Start execution of timer functions with frequency = 1 / msecs Hz.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool PITimer::start (double msecs)
+
+inline
+
+ +

Start timer with msecs loop delay.

+

Start execution of timer functions with frequency = 1. / msecs Hz. Instead of start(int msecs) function this variant allow start timer with frequencies more than 1 kHz

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void PITimer::tickEvent (void * data,
int delimiter 
)
+
+ +

Raise on timer tick.

+

Data can be set with function setData(void * data) or from constructor. Delimiter if frequency delimiter, 1 for main loop.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void PITimer::tick (void * data_,
int delimiter 
)
+
+inlineprotectedvirtual
+
+

Virtual timer execution function, similar to "slot" or event void timeout(void * data, int delimiter). By default is empty.

+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_timer.js b/doc/html/class_p_i_timer.js new file mode 100644 index 00000000..6428690f --- /dev/null +++ b/doc/html/class_p_i_timer.js @@ -0,0 +1,31 @@ +var class_p_i_timer = +[ + [ "TimerImplementation", "class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719", [ + [ "Thread", "class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719aee4dbda7d96c1ec6bc4a88310e7d4e51", null ], + [ "ThreadRT", "class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719a80970cf7914f7a34ad94fa6620b1f66b", null ], + [ "Pool", "class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719afc1ce0b87bd597621116ec5de765b6db", null ] + ] ], + [ "PITimer", "class_p_i_timer.html#a3cc1d86602eb8d2abd8e0c9a9931cd70", null ], + [ "PITimer", "class_p_i_timer.html#a0cbb0321a650e4dd4acd046e58a67095", null ], + [ "PITimer", "class_p_i_timer.html#a6d3067f66c06ddd21982251f4ed6ec50", null ], + [ "implementation", "class_p_i_timer.html#a5a0616e0a3db99893098b644cdd58288", null ], + [ "interval", "class_p_i_timer.html#a632ce2869f478d0752b0b48cfa399fec", null ], + [ "setInterval", "class_p_i_timer.html#aceedb334c02e3ad05ec9215aa956b780", null ], + [ "isRunning", "class_p_i_timer.html#a5ccbe3dd36ecde88f01b6534659a08d0", null ], + [ "isStopped", "class_p_i_timer.html#a88a8d0df214cb441321e6884342183e3", null ], + [ "start", "class_p_i_timer.html#afbe09c4d09f0dc897045037c1042cd70", null ], + [ "start", "class_p_i_timer.html#a9e4971a2f541ebac94057a61046667ce", null ], + [ "start", "class_p_i_timer.html#a65431888fc569599e6b3ff27c1617e00", null ], + [ "restart", "class_p_i_timer.html#ae899576c5a8b605a749f9c6f09773087", null ], + [ "stop", "class_p_i_timer.html#ae43b33b748524fbef3ec5ad705977737", null ], + [ "setData", "class_p_i_timer.html#aa166b87d70f34ca63b9c39f8f03daea4", null ], + [ "setSlot", "class_p_i_timer.html#ae55067d29d1491c6e583ca8db45fd0ba", null ], + [ "data", "class_p_i_timer.html#abbe9a559d65b0be6980e77218a05cfe3", null ], + [ "addDelimiter", "class_p_i_timer.html#ace072dbf3b4ddbd609b6acf4e058d291", null ], + [ "removeDelimiter", "class_p_i_timer.html#ab02f5a19cb71a4be4965a1d670c7ff72", null ], + [ "removeDelimiter", "class_p_i_timer.html#a2809e63e8678dc914a9b521fa0de7a09", null ], + [ "removeDelimiter", "class_p_i_timer.html#a093ee618f2beac2794a469c76f8064f1", null ], + [ "clearDelimiters", "class_p_i_timer.html#a2968d6a3aefc4c609cbeaf9f301a41f9", null ], + [ "tickEvent", "class_p_i_timer.html#a707cb908c36f42dab13338c42ede4a81", null ], + [ "tick", "class_p_i_timer.html#af94038669f0798c21cc2208da9945406", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_timer__inherit__graph.map b/doc/html/class_p_i_timer__inherit__graph.map new file mode 100644 index 00000000..a88ec6b7 --- /dev/null +++ b/doc/html/class_p_i_timer__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/class_p_i_timer__inherit__graph.md5 b/doc/html/class_p_i_timer__inherit__graph.md5 new file mode 100644 index 00000000..a7e088b0 --- /dev/null +++ b/doc/html/class_p_i_timer__inherit__graph.md5 @@ -0,0 +1 @@ +195c165790aab704adc9a416814f1c4f \ No newline at end of file diff --git a/doc/html/class_p_i_timer__inherit__graph.svg b/doc/html/class_p_i_timer__inherit__graph.svg new file mode 100644 index 00000000..13a3dcf2 --- /dev/null +++ b/doc/html/class_p_i_timer__inherit__graph.svg @@ -0,0 +1,44 @@ + + + + + + +PITimer + + +Node1 + +PITimer + + +Node3 + + +PIDiagnostics + + + + +Node1->Node3 + + + + +Node2 + + +PIObject + + + + +Node2->Node1 + + + + + diff --git a/doc/html/class_p_i_variant-members.html b/doc/html/class_p_i_variant-members.html new file mode 100644 index 00000000..967155e0 --- /dev/null +++ b/doc/html/class_p_i_variant-members.html @@ -0,0 +1,256 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIVariant Member List
+
+
+ +

This is the complete list of members for PIVariant, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BitArray enum valuePIVariant
Bool enum valuePIVariant
ByteArray enum valuePIVariant
Char enum valuePIVariant
Complexd enum valuePIVariant
Complexld enum valuePIVariant
Custom enum valuePIVariant
Date enum valuePIVariant
DateTime enum valuePIVariant
Double enum valuePIVariant
Float enum valuePIVariant
fromValue(const T &v)PIVariantinlinestatic
Int enum valuePIVariant
Invalid enum valuePIVariant
isValid() const PIVariantinline
LDouble enum valuePIVariant
LLong enum valuePIVariant
Long enum valuePIVariant
operator!=(const PIVariant &v) const PIVariantinline
operator=(const PIVariant &v)PIVariant
operator=(const char *v)PIVariantinline
operator=(const bool v)PIVariantinline
operator=(const char v)PIVariantinline
operator=(const uchar v)PIVariantinline
operator=(const short v)PIVariantinline
operator=(const ushort v)PIVariantinline
operator=(const int &v)PIVariantinline
operator=(const uint &v)PIVariantinline
operator=(const long &v)PIVariantinline
operator=(const ulong &v)PIVariantinline
operator=(const llong &v)PIVariantinline
operator=(const ullong &v)PIVariantinline
operator=(const float &v)PIVariantinline
operator=(const double &v)PIVariantinline
operator=(const ldouble &v)PIVariantinline
operator=(const complexd &v)PIVariantinline
operator=(const complexld &v)PIVariantinline
operator=(const PIBitArray &v)PIVariantinline
operator=(const PIByteArray &v)PIVariantinline
operator=(const PIString &v)PIVariantinline
operator=(const PIStringList &v)PIVariantinline
operator=(const PITime &v)PIVariantinline
operator=(const PIDate &v)PIVariantinline
operator=(const PIDateTime &v)PIVariantinline
operator=(const PISystemTime &v)PIVariantinline
operator==(const PIVariant &v) const PIVariant
PIVariant()PIVariant
PIVariant(const char *v)PIVariantinline
PIVariant(const bool v)PIVariantinline
PIVariant(const char v)PIVariantinline
PIVariant(const uchar v)PIVariantinline
PIVariant(const short v)PIVariantinline
PIVariant(const ushort v)PIVariantinline
PIVariant(const int &v)PIVariantinline
PIVariant(const uint &v)PIVariantinline
PIVariant(const long &v)PIVariantinline
PIVariant(const ulong &v)PIVariantinline
PIVariant(const llong &v)PIVariantinline
PIVariant(const ullong &v)PIVariantinline
PIVariant(const float &v)PIVariantinline
PIVariant(const double &v)PIVariantinline
PIVariant(const ldouble &v)PIVariantinline
PIVariant(const complexd &v)PIVariantinline
PIVariant(const complexld &v)PIVariantinline
PIVariant(const PIBitArray &v)PIVariantinline
PIVariant(const PIByteArray &v)PIVariantinline
PIVariant(const PIString &v)PIVariantinline
PIVariant(const PIStringList &v)PIVariantinline
PIVariant(const PITime &v)PIVariantinline
PIVariant(const PIDate &v)PIVariantinline
PIVariant(const PIDateTime &v)PIVariantinline
PIVariant(const PISystemTime &v)PIVariantinline
setValue(const char *v)PIVariantinline
setValue(const bool v)PIVariantinline
setValue(const char v)PIVariantinline
setValue(const uchar v)PIVariantinline
setValue(const short v)PIVariantinline
setValue(const ushort v)PIVariantinline
setValue(const int &v)PIVariantinline
setValue(const uint &v)PIVariantinline
setValue(const long &v)PIVariantinline
setValue(const ulong &v)PIVariantinline
setValue(const llong &v)PIVariantinline
setValue(const ullong &v)PIVariantinline
setValue(const float &v)PIVariantinline
setValue(const double &v)PIVariantinline
setValue(const ldouble &v)PIVariantinline
setValue(const complexd &v)PIVariantinline
setValue(const complexld &v)PIVariantinline
setValue(const PIBitArray &v)PIVariantinline
setValue(const PIByteArray &v)PIVariantinline
setValue(const PIString &v)PIVariantinline
setValue(const PIStringList &v)PIVariantinline
setValue(const PITime &v)PIVariantinline
setValue(const PIDate &v)PIVariantinline
setValue(const PIDateTime &v)PIVariantinline
setValue(const PISystemTime &v)PIVariantinline
Short enum valuePIVariant
String enum valuePIVariant
StringList enum valuePIVariant
SystemTime enum valuePIVariant
Time enum valuePIVariant
toBitArray() const PIVariant
toBool() const PIVariant
toByteArray() const PIVariant
toComplexd() const PIVariant
toComplexld() const PIVariant
toDate() const PIVariant
toDateTime() const PIVariant
toDouble() const PIVariant
toFloat() const PIVariant
toInt() const PIVariant
toLDouble() const PIVariant
toLLong() const PIVariant
toString() const PIVariant
toStringList() const PIVariant
toSystemTime() const PIVariant
toTime() const PIVariant
toValue() const PIVariantinline
Type enum namePIVariant
type() const PIVariantinline
typeFromName(const PIString &tname)PIVariantstatic
typeName() const PIVariantinline
typeName(PIVariant::Type type)PIVariantstatic
UChar enum valuePIVariant
UInt enum valuePIVariant
ULLong enum valuePIVariant
ULong enum valuePIVariant
UShort enum valuePIVariant
+
+ + + + diff --git a/doc/html/class_p_i_variant.html b/doc/html/class_p_i_variant.html new file mode 100644 index 00000000..def04a67 --- /dev/null +++ b/doc/html/class_p_i_variant.html @@ -0,0 +1,1073 @@ + + + + + + +PIP: PIVariant Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIVariant Class Reference
+
+
+ +

Variant type. + More...

+ + + + + +

+Public Types

enum  Type {
+  Invalid = 0, +Bool, +Char, +UChar, +
+  Short, +UShort, +Int, +UInt, +
+  Long, +ULong, +LLong, +ULLong, +
+  Float, +Double, +LDouble, +Complexd, +
+  Complexld, +BitArray, +ByteArray, +String, +
+  StringList, +Time, +Date, +DateTime, +
+  SystemTime, +Custom = 0xFF +
+ }
 Type of PIVariant content. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PIVariant ()
 Empty constructor, type() will be set to Invalid.
 
PIVariant (const char *v)
 Constructs variant from string.
 
PIVariant (const bool v)
 Constructs variant from boolean.
 
PIVariant (const char v)
 Constructs variant from char.
 
PIVariant (const uchar v)
 Constructs variant from integer.
 
PIVariant (const short v)
 Constructs variant from integer.
 
PIVariant (const ushort v)
 Constructs variant from integer.
 
PIVariant (const int &v)
 Constructs variant from integer.
 
PIVariant (const uint &v)
 Constructs variant from integer.
 
PIVariant (const long &v)
 Constructs variant from integer.
 
PIVariant (const ulong &v)
 Constructs variant from integer.
 
PIVariant (const llong &v)
 Constructs variant from integer.
 
PIVariant (const ullong &v)
 Constructs variant from integer.
 
PIVariant (const float &v)
 Constructs variant from float.
 
PIVariant (const double &v)
 Constructs variant from double.
 
PIVariant (const ldouble &v)
 Constructs variant from long double.
 
PIVariant (const complexd &v)
 Constructs variant from complex.
 
PIVariant (const complexld &v)
 Constructs variant from complex.
 
PIVariant (const PIBitArray &v)
 Constructs variant from bit array.
 
PIVariant (const PIByteArray &v)
 Constructs variant from byte array.
 
PIVariant (const PIString &v)
 Constructs variant from string.
 
PIVariant (const PIStringList &v)
 Constructs variant from strings list.
 
PIVariant (const PITime &v)
 Constructs variant from time.
 
PIVariant (const PIDate &v)
 Constructs variant from date.
 
PIVariant (const PIDateTime &v)
 Constructs variant from date and time.
 
PIVariant (const PISystemTime &v)
 Constructs variant from system time.
 
+void setValue (const char *v)
 Set variant content and type to string.
 
+void setValue (const bool v)
 Set variant content and type to boolean.
 
+void setValue (const char v)
 Set variant content and type to char.
 
+void setValue (const uchar v)
 Set variant content and type to integer.
 
+void setValue (const short v)
 Set variant content and type to integer.
 
+void setValue (const ushort v)
 Set variant content and type to integer.
 
+void setValue (const int &v)
 Set variant content and type to integer.
 
+void setValue (const uint &v)
 Set variant content and type to integer.
 
+void setValue (const long &v)
 Set variant content and type to integer.
 
+void setValue (const ulong &v)
 Set variant content and type to integer.
 
+void setValue (const llong &v)
 Set variant content and type to integer.
 
+void setValue (const ullong &v)
 Set variant content and type to integer.
 
+void setValue (const float &v)
 Set variant content and type to float.
 
+void setValue (const double &v)
 Set variant content and type to double.
 
+void setValue (const ldouble &v)
 Set variant content and type to long double.
 
+void setValue (const complexd &v)
 Set variant content and type to complex.
 
+void setValue (const complexld &v)
 Set variant content and type to complex.
 
+void setValue (const PIBitArray &v)
 Set variant content and type to bit array.
 
+void setValue (const PIByteArray &v)
 Set variant content and type to byte array.
 
+void setValue (const PIString &v)
 Set variant content and type to string.
 
+void setValue (const PIStringList &v)
 Set variant content and type to strings list.
 
+void setValue (const PITime &v)
 Set variant content and type to time.
 
+void setValue (const PIDate &v)
 Set variant content and type to date.
 
+void setValue (const PIDateTime &v)
 Set variant content and type to date and time.
 
+void setValue (const PISystemTime &v)
 Set variant content and type to system time.
 
bool toBool () const
 Returns variant content as boolean. More...
 
int toInt () const
 Returns variant content as int. More...
 
llong toLLong () const
 Returns variant content as long long. More...
 
float toFloat () const
 Returns variant content as float. More...
 
double toDouble () const
 Returns variant content as double. More...
 
ldouble toLDouble () const
 Returns variant content as long double. More...
 
complexd toComplexd () const
 Returns variant content as complex. More...
 
complexld toComplexld () const
 Returns variant content as long complex. More...
 
PITime toTime () const
 Returns variant content as time. More...
 
PIDate toDate () const
 Returns variant content as date. More...
 
PIDateTime toDateTime () const
 Returns variant content as date and time. More...
 
PISystemTime toSystemTime () const
 Returns variant content as system time. More...
 
PIString toString () const
 Returns variant content as string. More...
 
PIStringList toStringList () const
 Returns variant content as strings list. More...
 
PIBitArray toBitArray () const
 Returns variant content as bit array. More...
 
PIByteArray toByteArray () const
 Returns variant content as byte array. More...
 
template<typename T >
toValue () const
 Returns variant content as custom type. More...
 
+PIVariantoperator= (const PIVariant &v)
 Assign operator.
 
+PIVariantoperator= (const char *v)
 Assign operator.
 
+PIVariantoperator= (const bool v)
 Assign operator.
 
+PIVariantoperator= (const char v)
 Assign operator.
 
+PIVariantoperator= (const uchar v)
 Assign operator.
 
+PIVariantoperator= (const short v)
 Assign operator.
 
+PIVariantoperator= (const ushort v)
 Assign operator.
 
+PIVariantoperator= (const int &v)
 Assign operator.
 
+PIVariantoperator= (const uint &v)
 Assign operator.
 
+PIVariantoperator= (const long &v)
 Assign operator.
 
+PIVariantoperator= (const ulong &v)
 Assign operator.
 
+PIVariantoperator= (const llong &v)
 Assign operator.
 
+PIVariantoperator= (const ullong &v)
 Assign operator.
 
+PIVariantoperator= (const float &v)
 Assign operator.
 
+PIVariantoperator= (const double &v)
 Assign operator.
 
+PIVariantoperator= (const ldouble &v)
 Assign operator.
 
+PIVariantoperator= (const complexd &v)
 Assign operator.
 
+PIVariantoperator= (const complexld &v)
 Assign operator.
 
+PIVariantoperator= (const PIBitArray &v)
 Assign operator.
 
+PIVariantoperator= (const PIByteArray &v)
 Assign operator.
 
+PIVariantoperator= (const PIString &v)
 Assign operator.
 
+PIVariantoperator= (const PIStringList &v)
 Assign operator.
 
+PIVariantoperator= (const PITime &v)
 Assign operator.
 
+PIVariantoperator= (const PIDate &v)
 Assign operator.
 
+PIVariantoperator= (const PIDateTime &v)
 Assign operator.
 
+PIVariantoperator= (const PISystemTime &v)
 Assign operator.
 
+bool operator== (const PIVariant &v) const
 Compare operator.
 
+bool operator!= (const PIVariant &v) const
 Compare operator.
 
+PIVariant::Type type () const
 Returns type of variant content.
 
+PIString typeName () const
 Returns type name of variant content.
 
+bool isValid () const
 Returns true if type is not Invalid.
 
+ + + + + + + + + + + +

+Static Public Member Functions

template<typename T >
static PIVariant fromValue (const T &v)
 Returns new variant from custom type. More...
 
+static PIVariant::Type typeFromName (const PIString &tname)
 Returns type from name.
 
+static PIString typeName (PIVariant::Type type)
 Returns type name.
 
+

Detailed Description

+

Variant type.

+

+Synopsis

+

This class provides general type that can contains all standard types, some PIP types or custom type. In case of standard types this class also provides convertions between them.

+

+Usage

+

PIVariant useful if you want pass many variables with different types in single array, e.g.:

+
array << PIVariant(10) << PIVariant(1.61) << PIVariant(true) << PIVariant("0xFF");
+
piCout << array;
+
piForeachC (PIVariant & i, array)
+
piCout << i.toInt();
+

Result:

{PIVariant(Int, 10), PIVariant(Double, 1,61), PIVariant(Bool, true), PIVariant(String, 0xFF)}
+
10
+
1
+
1
+
255
+

Member Enumeration Documentation

+ +
+
+ + + + +
enum PIVariant::Type
+
+ +

Type of PIVariant content.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
Invalid  +

Invalid type , default type of empty contructor

+
Bool  +

bool

+
Char  +

char

+
UChar  +

uchar

+
Short  +

short

+
UShort  +

ushort

+
Int  +

int

+
UInt  +

uint

+
Long  +

long

+
ULong  +

ulong

+
LLong  +

llong

+
ULLong  +

ullong

+
Float  +

float

+
Double  +

double

+
LDouble  +

ldouble

+
Complexd  +

complexd

+
Complexld  +

complexld

+
BitArray  +

PIBitArray

+
ByteArray  +

PIByteArray

+
String  +

PIString

+
StringList  +

PIStringList

+
Time  +

PITime

+
Date  +

PIDate

+
DateTime  +

PIDateTime

+
SystemTime  +

PISystemTime

+
Custom  +

Custom

+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
bool PIVariant::toBool () const
+
+ +

Returns variant content as boolean.

+

In case of numeric types returns true if value != 0.
+In case of String type returns PIString::toBool().
+In case of StringList type returns false if string list is empty, otherwise returns PIString::toBool() of first string.
+In case of other types returns false.

+ +
+
+ +
+
+ + + + + + + +
int PIVariant::toInt () const
+
+ +

Returns variant content as int.

+

In case of numeric types returns integer value.
+In case of String type returns PIString::toInt().
+In case of StringList type returns 0 if string list is empty, otherwise returns PIString::toInt() of first string.
+In case of other types returns 0.

+ +
+
+ +
+
+ + + + + + + +
llong PIVariant::toLLong () const
+
+ +

Returns variant content as long long.

+

In case of numeric types returns integer value.
+In case of String type returns PIString::toLLong().
+In case of StringList type returns 0L if string list is empty, otherwise returns PIString::toLLong() of first string.
+In case of other types returns 0L.

+ +
+
+ +
+
+ + + + + + + +
float PIVariant::toFloat () const
+
+ +

Returns variant content as float.

+

In case of numeric types returns float value.
+In case of String type returns PIString::toFloat().
+In case of StringList type returns 0.f if string list is empty, otherwise returns PIString::toFloat() of first string.
+In case of other types returns 0.f.

+ +
+
+ +
+
+ + + + + + + +
double PIVariant::toDouble () const
+
+ +

Returns variant content as double.

+

In case of numeric types returns double value.
+In case of String type returns PIString::toDouble().
+In case of StringList type returns 0. if string list is empty, otherwise returns PIString::toDouble() of first string.
+In case of other types returns 0..

+ +
+
+ +
+
+ + + + + + + +
ldouble PIVariant::toLDouble () const
+
+ +

Returns variant content as long double.

+

In case of numeric types returns long double value.
+In case of String type returns PIString::toLDouble().
+In case of StringList type returns 0. if string list is empty, otherwise returns PIString::toLDouble() of first string.
+In case of other types returns 0..

+ +
+
+ +
+
+ + + + + + + +
complexd PIVariant::toComplexd () const
+
+ +

Returns variant content as complex.

+

In case of numeric types returns complex value.
+In case of String type returns PIString::toDouble().
+In case of StringList type returns 0. if string list is empty, otherwise returns PIString::toDouble() of first string.
+In case of other types returns 0..

+ +
+
+ +
+
+ + + + + + + +
complexld PIVariant::toComplexld () const
+
+ +

Returns variant content as long complex.

+

In case of numeric types returns long complex value.
+In case of String type returns PIString::toLDouble().
+In case of StringList type returns 0. if string list is empty, otherwise returns PIString::toLDouble() of first string.
+In case of other types returns 0..

+ +
+
+ +
+
+ + + + + + + +
PITime PIVariant::toTime () const
+
+ +

Returns variant content as time.

+

In case of Time type returns time value.
+In case of DateTime type returns time part of value.
+In case of other types returns PITime().

+ +
+
+ +
+
+ + + + + + + +
PIDate PIVariant::toDate () const
+
+ +

Returns variant content as date.

+

In case of Date type returns date value.
+In case of DateTime type returns date part of value.
+In case of other types returns PIDate().

+ +
+
+ +
+
+ + + + + + + +
PIDateTime PIVariant::toDateTime () const
+
+ +

Returns variant content as date and time.

+

In case of Time type returns time value with null date.
+In case of Date type returns date value with null time.
+In case of DateTime type returns date and time.
+In case of other types returns PIDateTime().

+ +
+
+ +
+
+ + + + + + + +
PISystemTime PIVariant::toSystemTime () const
+
+ +

Returns variant content as system time.

+

In case of SystemTime type returns system time.
+In case of other types returns PISystemTime::fromSeconds() from double value of variant content.

+ +
+
+ +
+
+ + + + + + + +
PIString PIVariant::toString () const
+
+ +

Returns variant content as string.

+

In case of numeric types returns PIString::fromNumber().
+In case of String type returns string value.
+In case of StringList type returns joined string ("(" + PIStringList::join("; ") + ")").
+In case of BitArray or ByteArray types returns number of bits/bytes.
+In case of Time, Date or DateTime types returns toString() of this values.
+In case of SystemTime types returns second and nanoseconds of time ("(PISystemTime::seconds s, PISystemTime::nanoseconds ns)").
+In case of other types returns "".

+ +
+
+ +
+
+ + + + + + + +
PIStringList PIVariant::toStringList () const
+
+ +

Returns variant content as strings list.

+

In case of StringList type returns strings list value.
+In case of other types returns PIStringList with one string value of variant content.

+ +
+
+ +
+
+ + + + + + + +
PIBitArray PIVariant::toBitArray () const
+
+ +

Returns variant content as bit array.

+

In case of BitArray type returns bit array value.
+In case of other types returns PIBitArray from toLLong() value.

+ +
+
+ +
+
+ + + + + + + +
PIByteArray PIVariant::toByteArray () const
+
+ +

Returns variant content as byte array.

+

In case of ByteArray type returns byte array value.
+In case of other types returns empty PIByteArray.

+ +
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
T PIVariant::toValue () const
+
+inline
+
+ +

Returns variant content as custom type.

+

In case of known types this function equivalent to<Type> function.
+Otherwise returns content as type T.

+ +
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
static PIVariant PIVariant::fromValue (const T & v)
+
+inlinestatic
+
+ +

Returns new variant from custom type.

+

In case of known types this function equivalent PIVariant(T) constructors.
+Otherwise returns variant with content v and type Custom.

+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_variant.js b/doc/html/class_p_i_variant.js new file mode 100644 index 00000000..ba508d23 --- /dev/null +++ b/doc/html/class_p_i_variant.js @@ -0,0 +1,130 @@ +var class_p_i_variant = +[ + [ "Type", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdf", [ + [ "Invalid", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa45bf798ad32851c9044a3a5755856c5a", null ], + [ "Bool", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfaa3e49597dd8751e48ca20b830d7408bb", null ], + [ "Char", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa45c5f8b793d601954d4a9489370abe64", null ], + [ "UChar", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa513ed493f1e7b30342987c3516f81730", null ], + [ "Short", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa49c4522357ebcea946d477fd78eccd1c", null ], + [ "UShort", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa5d69d3e100a348885d1e8c2e70617b79", null ], + [ "Int", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa2eb3acbd36c03ef70cb7d1faa797e50f", null ], + [ "UInt", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa75efd8b4f684b3e23fdca5a3c9ce7616", null ], + [ "Long", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfada92306e4b6207dd807fea3db9569756", null ], + [ "ULong", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfaff5169e651a3109ba5ac4de618343fe5", null ], + [ "LLong", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa493d57852c824d39bdcaee57c9bfff92", null ], + [ "ULLong", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfae5edbc0259b17315545edd0949e8a2a8", null ], + [ "Float", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa802d8727c57bf77c21aaefb910cddf50", null ], + [ "Double", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfafee752a615286794d4468c72e886ab38", null ], + [ "LDouble", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa7f382b7fd8d07426b696d69ee7247876", null ], + [ "Complexd", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfaf163970dcba9d2f587327e38e5e38098", null ], + [ "Complexld", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfad1548d6221af498427f428a93d0af57f", null ], + [ "BitArray", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa150c2f8336b8aa55ba766aeae271a9ef", null ], + [ "ByteArray", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfaaf9c597dd4d7b17fe96746c96252a16f", null ], + [ "String", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa96a611933bbf5065a29e72e06196f547", null ], + [ "StringList", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfae25be87d1c676373a0356aeedf0e6914", null ], + [ "Time", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa0114b5413f8a42bb71769a22e306e4a1", null ], + [ "Date", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfaf14a1f410b3c192878fc246b45f45124", null ], + [ "DateTime", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa265d67fff2b590fb6765b3838a011c34", null ], + [ "SystemTime", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfa4fc51ffc735800b30adbc4176e3f29e4", null ], + [ "Custom", "class_p_i_variant.html#acc48ff0479fba2c5be5f491e24f40cdfad85616b3a0febed1905a631cfbc9782e", null ] + ] ], + [ "PIVariant", "class_p_i_variant.html#a83432da0a545ad6dd30429c0e1a583da", null ], + [ "PIVariant", "class_p_i_variant.html#aad0458975016273ccd939c7aec69b057", null ], + [ "PIVariant", "class_p_i_variant.html#a14d9afdc7c44865b982f673fa45b83e6", null ], + [ "PIVariant", "class_p_i_variant.html#ad8e268c9cb15c248e914068417e04ccc", null ], + [ "PIVariant", "class_p_i_variant.html#a0f5a040f137b2e048f75b2e18521eb17", null ], + [ "PIVariant", "class_p_i_variant.html#a11042a1ccf1c759055fb604cae320be0", null ], + [ "PIVariant", "class_p_i_variant.html#af7bf9ae6815e438a01b10b2aa546e8c4", null ], + [ "PIVariant", "class_p_i_variant.html#aee8eeff2d7a3ff2a478b428b9b2badd8", null ], + [ "PIVariant", "class_p_i_variant.html#aa670291ca1ec856cdc1887e594b1546f", null ], + [ "PIVariant", "class_p_i_variant.html#a1fe8d4126aaf5bdbbd61ef178df488cc", null ], + [ "PIVariant", "class_p_i_variant.html#a20a6fd9ce7d7de2e20440f722f28f379", null ], + [ "PIVariant", "class_p_i_variant.html#a7ce8905e74c36806ca004e845b67743b", null ], + [ "PIVariant", "class_p_i_variant.html#a0a1355062b5b8df0c88542c782a985d8", null ], + [ "PIVariant", "class_p_i_variant.html#a91dc6be82349d2d24cc642abf9c39e2e", null ], + [ "PIVariant", "class_p_i_variant.html#a4dcc306bce5d0601e9cea679e623d8bd", null ], + [ "PIVariant", "class_p_i_variant.html#a5a03fdaf8ee128358c289ada2c72686d", null ], + [ "PIVariant", "class_p_i_variant.html#adb79886a19bb0efb6e9c221eae8fb236", null ], + [ "PIVariant", "class_p_i_variant.html#a7b33912daf30f5e7cc7c333e4c7400c6", null ], + [ "PIVariant", "class_p_i_variant.html#a8882d5bfc67b3ff89e8ee9835cac3693", null ], + [ "PIVariant", "class_p_i_variant.html#aba63a29878c14870b7a045799452d93c", null ], + [ "PIVariant", "class_p_i_variant.html#ac48a86c19a56cd03f1432596d29204d2", null ], + [ "PIVariant", "class_p_i_variant.html#afccb4ddebcf51eb0241cc99ad46fa6e3", null ], + [ "PIVariant", "class_p_i_variant.html#a3dd80bbfa434bfa4b470192d728be08e", null ], + [ "PIVariant", "class_p_i_variant.html#a3d14c3eec0653cd7a2a1e2988e805499", null ], + [ "PIVariant", "class_p_i_variant.html#a1e71b4d50d2054edb27c23cbfc3416c3", null ], + [ "PIVariant", "class_p_i_variant.html#a1fc8d7e876930686d216924473da466e", null ], + [ "setValue", "class_p_i_variant.html#aa22bd1cc0c6999120bb3820407a8856d", null ], + [ "setValue", "class_p_i_variant.html#a7b5d811efd852064247c7f3b98589481", null ], + [ "setValue", "class_p_i_variant.html#a79fff573e5cc711dfd406cc1b669d6b8", null ], + [ "setValue", "class_p_i_variant.html#a5a8568a8de98e912570d98ebdff9152a", null ], + [ "setValue", "class_p_i_variant.html#abe151f6ec7620f2222690c3c1af39f5b", null ], + [ "setValue", "class_p_i_variant.html#a49a9d2ccbb6a1b37ba985ef490f2b7d6", null ], + [ "setValue", "class_p_i_variant.html#a5eedf14579aa37e4bd2ab018234569c5", null ], + [ "setValue", "class_p_i_variant.html#a2a7a792167f163f11c516a39ff91e6ff", null ], + [ "setValue", "class_p_i_variant.html#ab8cf4fe353f70dd45489ad9b1c50f9d4", null ], + [ "setValue", "class_p_i_variant.html#a4255c426d7e88890c8e57794ff0abd09", null ], + [ "setValue", "class_p_i_variant.html#ab517be43715e8ae0f7dcbd17f16c95bc", null ], + [ "setValue", "class_p_i_variant.html#abd64b1243486bf3ff8878652b9505d4f", null ], + [ "setValue", "class_p_i_variant.html#a13630b2d2dfdc27107bf357b251e0c80", null ], + [ "setValue", "class_p_i_variant.html#ab86b97b9877912321941535949a15598", null ], + [ "setValue", "class_p_i_variant.html#af319e808795d029290f1f687d5d6627d", null ], + [ "setValue", "class_p_i_variant.html#ad5831d2dd7d2c7d4f570396acbef007b", null ], + [ "setValue", "class_p_i_variant.html#a8ab2f1166f8db46e6e68e141ee8d4063", null ], + [ "setValue", "class_p_i_variant.html#aa29e76a4b699e244e3a6679b180c30e3", null ], + [ "setValue", "class_p_i_variant.html#a6c3abdf7e5d0eebe4506c8430f509ad8", null ], + [ "setValue", "class_p_i_variant.html#adb68d9f360dc5f60e4e9442da7c983ef", null ], + [ "setValue", "class_p_i_variant.html#a8b664f935ad023991ee626df2abac13e", null ], + [ "setValue", "class_p_i_variant.html#a09c393e5e299848c8e1d06c0497bce44", null ], + [ "setValue", "class_p_i_variant.html#a9dbf3e639c99af1780f9c753822d5034", null ], + [ "setValue", "class_p_i_variant.html#a39d61e31968269464f6023ecd1645241", null ], + [ "setValue", "class_p_i_variant.html#a0f176cc2e51a5ab7e8a275a71f5166c3", null ], + [ "toBool", "class_p_i_variant.html#a9adb44018cf731bad2b7dcce2dde3684", null ], + [ "toInt", "class_p_i_variant.html#aef7526f9ffb911ac818c13a4fa8de923", null ], + [ "toLLong", "class_p_i_variant.html#ad6f468658cc0803d7ec532c8ebaf394e", null ], + [ "toFloat", "class_p_i_variant.html#a7765fde4363c83ef630ca53ea23b447f", null ], + [ "toDouble", "class_p_i_variant.html#a3f92e859630f5c853c644b494a194798", null ], + [ "toLDouble", "class_p_i_variant.html#aa101193f0a15d6232a8ab6ed39dfcd66", null ], + [ "toComplexd", "class_p_i_variant.html#a95a6405618b51ea226fc1aa788ad2a90", null ], + [ "toComplexld", "class_p_i_variant.html#a02ed61b14e6a9c71510d5c4f05d218c4", null ], + [ "toTime", "class_p_i_variant.html#a5b25bc3f783d63dad8ee68720dbfa9ed", null ], + [ "toDate", "class_p_i_variant.html#af533ce32863a9954e7d761ef56ab582b", null ], + [ "toDateTime", "class_p_i_variant.html#a99afae3218f68cc74bda4af6baa467d4", null ], + [ "toSystemTime", "class_p_i_variant.html#af353cc0fba770fceb61a0dfa4d87eba7", null ], + [ "toString", "class_p_i_variant.html#ae9b75422814a712a2c52ecfe19ca13ba", null ], + [ "toStringList", "class_p_i_variant.html#a734a89a0951763bbdeae2cf16004684d", null ], + [ "toBitArray", "class_p_i_variant.html#a0b4708bac5608fa3676bf409b76b5d23", null ], + [ "toByteArray", "class_p_i_variant.html#acadd0aee889bc4bd59fdd8bae13410df", null ], + [ "toValue", "class_p_i_variant.html#a5b1b4af9ab4bdd8c5bda7a8223a6b6f5", null ], + [ "operator=", "class_p_i_variant.html#a8348e3800d46b52e3afae8b8be493692", null ], + [ "operator=", "class_p_i_variant.html#aae3e2a836db1066ec9a988de171db5bd", null ], + [ "operator=", "class_p_i_variant.html#a95188408fc11d25360d120e9b974a965", null ], + [ "operator=", "class_p_i_variant.html#ad8d679e9c3e4ddce28dcbd2191c4a248", null ], + [ "operator=", "class_p_i_variant.html#aaa33f033d5da8c323690347a2138e984", null ], + [ "operator=", "class_p_i_variant.html#a6d134cec08d18e014457361bc176362e", null ], + [ "operator=", "class_p_i_variant.html#a9f86b544ed5147ec28ea560a6482c598", null ], + [ "operator=", "class_p_i_variant.html#ae45947d53b31848e58df19625738be28", null ], + [ "operator=", "class_p_i_variant.html#adb43e3361dd35d92587d9a039a907551", null ], + [ "operator=", "class_p_i_variant.html#a699e80ad6decf492aff5dd100086484a", null ], + [ "operator=", "class_p_i_variant.html#a45470050a51f8f5ef7da6a48a3c415f1", null ], + [ "operator=", "class_p_i_variant.html#a586b73957d9bf2c9bc241425fea49fb3", null ], + [ "operator=", "class_p_i_variant.html#a4ed52cb18d70695c2c19fa0ace6a37fa", null ], + [ "operator=", "class_p_i_variant.html#af25ec28ea7753a63581a61ff8e3106f0", null ], + [ "operator=", "class_p_i_variant.html#a8c11a9a6c0d1b9a2898ae0fa5388dd8b", null ], + [ "operator=", "class_p_i_variant.html#a17757995e61037053092bdb8172de3b6", null ], + [ "operator=", "class_p_i_variant.html#acda1391727dae83b740e4ef1379af398", null ], + [ "operator=", "class_p_i_variant.html#a9e92c15a29b086618211a42dafc35e7e", null ], + [ "operator=", "class_p_i_variant.html#aea48e5b1ae0b1ab355cd8039241ca0d8", null ], + [ "operator=", "class_p_i_variant.html#affbe4aee3a0113e7a552731a282b18b0", null ], + [ "operator=", "class_p_i_variant.html#ab44d58a4818de512567826c59f7c6521", null ], + [ "operator=", "class_p_i_variant.html#a4f8012d64e5ff5272ec0904d6397ccaa", null ], + [ "operator=", "class_p_i_variant.html#a94878ddb843851c3f6b1f2250123584f", null ], + [ "operator=", "class_p_i_variant.html#a1a459fd1b2d325a785ef015ccc415e83", null ], + [ "operator=", "class_p_i_variant.html#a1a951922fc438f4011676edab67425e7", null ], + [ "operator=", "class_p_i_variant.html#ab0bf9ae63e3f3469a27066f958aa66a6", null ], + [ "operator==", "class_p_i_variant.html#ae6447e6fa8b7acc82abb30fd97a60a0e", null ], + [ "operator!=", "class_p_i_variant.html#a7e188a954fbc5d18bf3f3e825e463054", null ], + [ "type", "class_p_i_variant.html#abc974cec179287663d03da76fac7f928", null ], + [ "typeName", "class_p_i_variant.html#ad349e0701add42efffd83fb19dee1216", null ], + [ "isValid", "class_p_i_variant.html#a80e4379667f46e5a384144e77b9b1aa7", null ] +]; \ No newline at end of file diff --git a/doc/html/class_p_i_vector-members.html b/doc/html/class_p_i_vector-members.html new file mode 100644 index 00000000..69e01491 --- /dev/null +++ b/doc/html/class_p_i_vector-members.html @@ -0,0 +1,155 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
PIVector< T > Member List
+
+
+ +

This is the complete list of members for PIVector< T >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
back()PIVector< T >inline
back() const PIVector< T >inline
clear()PIVector< T >inline
compare_func(const T *t0, const T *t1)PIVector< T >inlinestatic
contains(const T &v) const PIVector< T >inline
enlarge(llong piv_size)PIVector< T >inline
etries(const T &v) const PIVector< T >inline
fill(const T &f=T())PIVector< T >inline
front()PIVector< T >inline
front() const PIVector< T >inline
isEmpty() const PIVector< T >inline
operator!=(const PIVector< T > &t) const PIVector< T >inline
operator<<(const PIVector< T > &other)PIVector< T >inline
operator==(const PIVector< T > &t) const PIVector< T >inline
PIVector()PIVector< T >inline
pop_back()PIVector< T >inline
pop_front()PIVector< T >inline
push_back(const T &v)PIVector< T >inline
push_front(const T &v)PIVector< T >inline
remove(size_t index, size_t count=1)PIVector< T >inline
removeAll(const T &v)PIVector< T >inline
removeOne(const T &v)PIVector< T >inline
resize(size_t new_size, const T &f=T())PIVector< T >inline
size() const PIVector< T >inline
size_s() const PIVector< T >inline
sort(CompareFunc compare=compare_func)PIVector< T >inline
take_back()PIVector< T >inline
take_front()PIVector< T >inline
+
+ + + + diff --git a/doc/html/class_p_i_vector.html b/doc/html/class_p_i_vector.html new file mode 100644 index 00000000..42c0c33a --- /dev/null +++ b/doc/html/class_p_i_vector.html @@ -0,0 +1,530 @@ + + + + + + +PIP: PIVector< T > Class Template Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+ +
+
PIVector< T > Class Template Reference
+
+
+ +

Dynamic array of any type. + More...

+ +

Inherited by PIQueue< T >, and PIStack< T >.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 PIVector ()
 
+size_t size () const
 Elements count.
 
+ssize_t size_s () const
 Elements count.
 
+bool isEmpty () const
 Return "true" if vector is empty, i.e. size = 0.
 
+T & back ()
 Last element of the vector.
 
+const T & back () const
 Last element of the vector.
 
+T & front ()
 First element of the vector.
 
+const T & front () const
 First element of the vector.
 
+bool operator== (const PIVector< T > &t) const
 Compare with vector "t".
 
+bool operator!= (const PIVector< T > &t) const
 Compare with vector "t".
 
+bool contains (const T &v) const
 Return "true" if vector has at least one element equal "t".
 
+int etries (const T &v) const
 Return how many times element "t" appears in vector.
 
+PIVector< T > & clear ()
 Clear vector. Equivalent to call "resize(0)"
 
PIVector< T > & fill (const T &f=T())
 Fill vector with elements "t" leave size is unchanged and return reference to vector. More...
 
PIVector< T > & resize (size_t new_size, const T &f=T())
 Resize vector to size "size". More...
 
PIVector< T > & remove (size_t index, size_t count=1)
 Remove one element by index "index" and return reference to vector. More...
 
PIVector< T > & sort (CompareFunc compare=compare_func)
 Sort vector using quick sort algorithm and standard compare function. More...
 
+PIVector< T > & enlarge (llong piv_size)
 Increase vector size with "size" elements.
 
PIVector< T > & removeOne (const T &v)
 Remove no more than one element equal "v" and return reference to vector. More...
 
PIVector< T > & removeAll (const T &v)
 Remove all elements equal "v" and return reference to vector. More...
 
+PIVector< T > & push_back (const T &v)
 Add new element "t" at the end of vector and return reference to vector.
 
+PIVector< T > & operator<< (const PIVector< T > &other)
 Add vector "t" at the end of vector and return reference to vector.
 
+PIVector< T > & push_front (const T &v)
 Add new element "t" at the beginning of vector and return reference to vector.
 
+PIVector< T > & pop_back ()
 Remove one element from the end of vector and return reference to vector.
 
+PIVector< T > & pop_front ()
 Remove one element from the beginning of vector and return reference to vector.
 
+T take_back ()
 Remove one element from the end of vector and return it.
 
+T take_front ()
 Remove one element from the beginning of vector and return it.
 
+ + + + +

+Static Public Member Functions

+static int compare_func (const T *t0, const T *t1)
 Standard compare function for type "Type". Return 0 if t0 = t1, -1 if t0 < t1 and 1 if t0 > t1.
 
+

Detailed Description

+

template<typename T>
+class PIVector< T >

+ +

Dynamic array of any type.

+

This class used to store dynamic array of any type of data. In memory data stored linear. You can insert item in any place of remove some items from any place. For quick add elements this is stream operator <<.

+

Constructor & Destructor Documentation

+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
PIVector< T >::PIVector ()
+
+inline
+
+

Contructs an empty vector

+ +
+
+

Member Function Documentation

+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
PIVector< T > & PIVector< T >::fill (const T & f = T())
+
+inline
+
+ +

Fill vector with elements "t" leave size is unchanged and return reference to vector.

+

Example:

+
vec << '1' << '2' << '3' << '4' << '5';
+
vec.fill('0');
+
piForeachC (char i, vec)
+
cout << i << ", ";
+
// 0, 0, 0, 0, 0,
+
+
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void PIVector< T >::resize (size_t new_size,
const T & f = T() 
)
+
+inline
+
+ +

Resize vector to size "size".

+

Elements removed from end of vector if new size < old size, or added new elements = "new_type" if new size > old size.
+Example:

+
vec << 1 << 2;
+
vec.resize(4);
+
piForeachC (int & i, vec)
+
cout << i << ", ";
+
// 1, 2, 0, 0,
+
vec.resize(3);
+
piForeachC (int & i, vec)
+
cout << i << ", ";
+
// 1, 2, 0,
+
See also
size(), clear()
+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
PIVector< T > & PIVector< T >::remove (size_t index,
size_t count = 1 
)
+
+inline
+
+ +

Remove one element by index "index" and return reference to vector.

+

Remove "count" elements by first index "index" and return reference to vector.

+

Example:

+
vec << '1' << '2' << '3' << '4' << '5';
+
vec.remove(1);
+
piForeachC (char i, vec)
+
cout << i << ", ";
+
// 1, 3, 4, 5,
+
See also
removeOne(), removeAll()
+

Example:

+
vec << '1' << '2' << '3' << '4' << '5';
+
vec.remove(2, 2);
+
piForeachC (char i, vec)
+
cout << i << ", ";
+
// 1, 2, 5,
+
See also
removeOne(), removeAll()
+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
PIVector< T > & PIVector< T >::sort (CompareFunc compare = compare_func)
+
+inline
+
+ +

Sort vector using quick sort algorithm and standard compare function.

+

Example:

+
vec << 3 << 2 << 5 << 1 << 4;
+
vec.sort();
+
piForeachC (int & i, vec)
+
cout << i << ", ";
+
// 1, 2, 3, 4, 5,
+

With custom compare function:

static int mycomp(const int * v0, const int * v1) {
+
if (*v0 == *v1) return 0;
+
return *v0 < *v1 ? 1 : -1;
+
}
+ +
vec << 3 << 2 << 5 << 1 << 4;
+
vec.sort(mycomp);
+
piForeachC (int & i, vec)
+
cout << i << ", ";
+
// 5, 4, 3, 2, 1,
+
+
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
PIVector< T > & PIVector< T >::removeOne (const T & v)
+
+inline
+
+ +

Remove no more than one element equal "v" and return reference to vector.

+

Example:

+
vec << '1' << '2' << '3' << '2' << '1';
+
vec.removeOne('2');
+
piForeachC (char i, vec)
+
cout << i << ", ";
+
// 1, 3, 2, 1,
+
See also
remove(), removeAll()
+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
PIVector< T > & PIVector< T >::removeAll (const T & v)
+
+inline
+
+ +

Remove all elements equal "v" and return reference to vector.

+

Example:

+
vec << '1' << '2' << '3' << '2' << '1';
+
vec.removeAll('2');
+
piForeachC (char i, vec)
+
cout << i << ", ";
+
// 1, 3, 1,
+
See also
remove(), removeOne()
+ +
+
+
+
+ + + + diff --git a/doc/html/class_p_i_vector.js b/doc/html/class_p_i_vector.js new file mode 100644 index 00000000..10a837dd --- /dev/null +++ b/doc/html/class_p_i_vector.js @@ -0,0 +1,30 @@ +var class_p_i_vector = +[ + [ "PIVector", "class_p_i_vector.html#a1c666fc2ba39eff314508f1420530875", null ], + [ "size", "class_p_i_vector.html#a5568ad6d26f2392f0a08b6c425774978", null ], + [ "size_s", "class_p_i_vector.html#a9c4a32a229a287b5c03b99e58cdb62ee", null ], + [ "isEmpty", "class_p_i_vector.html#a4b8a3f487b9d1d623133a4c9fea19734", null ], + [ "back", "class_p_i_vector.html#afb5b4f1521561b82ef18a740b89f3838", null ], + [ "back", "class_p_i_vector.html#ab6419acbdf9f34da326890b61a6b6888", null ], + [ "front", "class_p_i_vector.html#abf6923dacf515f1f433544717d615999", null ], + [ "front", "class_p_i_vector.html#a8a35924372d7c30bb030ad7baf7dc450", null ], + [ "operator==", "class_p_i_vector.html#a420281739970e13565154c788b60bf11", null ], + [ "operator!=", "class_p_i_vector.html#abb6e9b8e55b4dc6a4aa639c171f2c9d9", null ], + [ "contains", "class_p_i_vector.html#a569226732df6c45066820db07e09c87d", null ], + [ "etries", "class_p_i_vector.html#a6339bac7482c915be6ed983388cfc275", null ], + [ "clear", "class_p_i_vector.html#a1eac8cb055835b44a4d7b718e976fbc3", null ], + [ "fill", "class_p_i_vector.html#aa6b5cd062e622fa4e3460249c11a2eb2", null ], + [ "resize", "class_p_i_vector.html#af3dc895f63a2b64927918f1be97e8947", null ], + [ "remove", "class_p_i_vector.html#a0e43a8466d800cd8ac31f91dc8f6e6a3", null ], + [ "sort", "class_p_i_vector.html#ad05af044be450c64a351df48a96fea97", null ], + [ "enlarge", "class_p_i_vector.html#a834ee327d55d935cefe8358169bc4aee", null ], + [ "removeOne", "class_p_i_vector.html#a016a1c78ec7270e6edccc81d7c8075ef", null ], + [ "removeAll", "class_p_i_vector.html#a5c8b3839e69249aa672e76017af2be1f", null ], + [ "push_back", "class_p_i_vector.html#a6b0cf989ba342d06c8cf21a55d434a8e", null ], + [ "operator<<", "class_p_i_vector.html#a24a59359b4ddeadc529bf35a11f38f6f", null ], + [ "push_front", "class_p_i_vector.html#adadda79d8436c657fd6039e8e090da67", null ], + [ "pop_back", "class_p_i_vector.html#a8f5297d0ee721627ad8c545980756b68", null ], + [ "pop_front", "class_p_i_vector.html#a94b63d4c818f6e27415b8895f37805b9", null ], + [ "take_back", "class_p_i_vector.html#ae951eefed7d44357b714224d9f4558b1", null ], + [ "take_front", "class_p_i_vector.html#a69dbb89bfade5d2c6e4ad18c9a33f718", null ] +]; \ No newline at end of file diff --git a/doc/html/classes.html b/doc/html/classes.html new file mode 100644 index 00000000..153fffa8 --- /dev/null +++ b/doc/html/classes.html @@ -0,0 +1,149 @@ + + + + + + +PIP: Class Index + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
Class Index
+
+
+
B | E | I | P | R | S | T
+ + + + + + + + + + + + + + + +
  B  
+
PIByteArray   PIFile   PIStateMachine   PIStateMachine::Rule   
PIChar   PIFlags   PIString   
  S  
+
PIConfig::Branch   PICLI   PIIODevice   PIStringList   
  E  
+
PICollection   PIKbdListener   PISystemTime   PIStateMachine::State   
PIConfig   PIMutex   PIThread   
  T  
+
PIConfig::Entry   PIConnection   PIObject   PITimeMeasurer   
  I  
+
PIConsole   PIPacketExtractor   PITimer   TransferFunction   
PICout   PIProcess   PIVariant   
PIEthernet::Interface   PIDiagnostics   PIProtocol   PIVector   
PIEthernet::InterfaceList   PIEthernet   PISerial   
  R  
+
  P  
+
PIEvaluator   PISet   
PIByteArray::RawData   
PIBinaryLog   
+
B | E | I | P | R | S | T
+
+
+ + + + diff --git a/doc/html/closed.png b/doc/html/closed.png new file mode 100644 index 00000000..5d349094 Binary files /dev/null and b/doc/html/closed.png differ diff --git a/doc/html/deprecated.html b/doc/html/deprecated.html new file mode 100644 index 00000000..6654d447 --- /dev/null +++ b/doc/html/deprecated.html @@ -0,0 +1,124 @@ + + + + + + +PIP: Deprecated List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
Deprecated List
+
+
+
+
Member currentSystemTime ()
+
Use PISystemTime::current() instead
+
Member letobe_i (uint v)
+
+
Member letobe_s (ushort v)
+
+
+
+
+ + + + diff --git a/doc/html/dir_000001_000006.html b/doc/html/dir_000001_000006.html new file mode 100644 index 00000000..4c54ad68 --- /dev/null +++ b/doc/html/dir_000001_000006.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/_unsused -> math Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

_unsused → math Relation

File in src/_unsusedIncludes file in src/math
pigeometry.hpimath.h
+
+ + + + diff --git a/doc/html/dir_000002_000004.html b/doc/html/dir_000002_000004.html new file mode 100644 index 00000000..75afb946 --- /dev/null +++ b/doc/html/dir_000002_000004.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/code -> core Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

code → core Relation

File in src/codeIncludes file in src/core
picodeinfo.hpistring.h
+
+ + + + diff --git a/doc/html/dir_000002_000005.html b/doc/html/dir_000002_000005.html new file mode 100644 index 00000000..0d4e5f0d --- /dev/null +++ b/doc/html/dir_000002_000005.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/code -> io Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

code → io Relation

File in src/codeIncludes file in src/io
picodeparser.hpifile.h
+
+ + + + diff --git a/doc/html/dir_000002_000006.html b/doc/html/dir_000002_000006.html new file mode 100644 index 00000000..c268cdd1 --- /dev/null +++ b/doc/html/dir_000002_000006.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/code -> math Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

code → math Relation

File in src/codeIncludes file in src/math
picodeparser.hpievaluator.h
+
+ + + + diff --git a/doc/html/dir_000003_000004.html b/doc/html/dir_000003_000004.html new file mode 100644 index 00000000..5da9f5fb --- /dev/null +++ b/doc/html/dir_000003_000004.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/containers -> core Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

containers → core Relation

File in src/containersIncludes file in src/core
picontainers.hpiincludes.h
pideque.hpiincludes.h
pivector.hpiincludes.h
+
+ + + + diff --git a/doc/html/dir_000004_000003.html b/doc/html/dir_000004_000003.html new file mode 100644 index 00000000..24e7381f --- /dev/null +++ b/doc/html/dir_000004_000003.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/core -> containers Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

core → containers Relation

File in src/coreIncludes file in src/containers
pibitarray.hpicontainers.h
+
+ + + + diff --git a/doc/html/dir_000004_000005.html b/doc/html/dir_000004_000005.html new file mode 100644 index 00000000..6a756dd8 --- /dev/null +++ b/doc/html/dir_000004_000005.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/core -> io Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

core → io Relation

File in src/coreIncludes file in src/io
piobject.cpppifile.h
+
+ + + + diff --git a/doc/html/dir_000004_000006.html b/doc/html/dir_000004_000006.html new file mode 100644 index 00000000..b0187c67 --- /dev/null +++ b/doc/html/dir_000004_000006.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/core -> math Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

core → math Relation

File in src/coreIncludes file in src/math
pivariant.hpimath.h
+
+ + + + diff --git a/doc/html/dir_000004_000007.html b/doc/html/dir_000004_000007.html new file mode 100644 index 00000000..fd7dec3e --- /dev/null +++ b/doc/html/dir_000004_000007.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/core -> system Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

core → system Relation

File in src/coreIncludes file in src/system
piincludes.cpppiconsole.h
piinit.cpppiprocess.h
piinit.cpppisignals.h
+
+ + + + diff --git a/doc/html/dir_000004_000008.html b/doc/html/dir_000004_000008.html new file mode 100644 index 00000000..3dd8612e --- /dev/null +++ b/doc/html/dir_000004_000008.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/core -> thread Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

core → thread Relation

File in src/coreIncludes file in src/thread
piobject.hpimutex.h
+
+ + + + diff --git a/doc/html/dir_000005_000004.html b/doc/html/dir_000005_000004.html new file mode 100644 index 00000000..8a9ccbaa --- /dev/null +++ b/doc/html/dir_000005_000004.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/io -> core Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

io → core Relation

File in src/ioIncludes file in src/core
piiodevice.hpicollection.h
piiodevice.hpiinit.h
piiodevice.hpivariant.h
+
+ + + + diff --git a/doc/html/dir_000005_000007.html b/doc/html/dir_000005_000007.html new file mode 100644 index 00000000..2393fac3 --- /dev/null +++ b/doc/html/dir_000005_000007.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/io -> system Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

io → system Relation

File in src/ioIncludes file in src/system
piethernet.hpiprocess.h
+
+ + + + diff --git a/doc/html/dir_000005_000008.html b/doc/html/dir_000005_000008.html new file mode 100644 index 00000000..fc2fe740 --- /dev/null +++ b/doc/html/dir_000005_000008.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/io -> thread Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

io → thread Relation

File in src/ioIncludes file in src/thread
pidiagnostics.hpitimer.h
piethernet.hpitimer.h
piiodevice.hpitimer.h
piprotocol.hpitimer.h
piserial.hpitimer.h
+
+ + + + diff --git a/doc/html/dir_000006_000004.html b/doc/html/dir_000006_000004.html new file mode 100644 index 00000000..2a761fa2 --- /dev/null +++ b/doc/html/dir_000006_000004.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/math -> core Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

math → core Relation

File in src/mathIncludes file in src/core
picrc.hpistring.h
pievaluator.hpistring.h
pimath.hpiinit.h
+
+ + + + diff --git a/doc/html/dir_000007_000003.html b/doc/html/dir_000007_000003.html new file mode 100644 index 00000000..a9bc4e6b --- /dev/null +++ b/doc/html/dir_000007_000003.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/system -> containers Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

system → containers Relation

File in src/systemIncludes file in src/containers
pisignals.hpicontainers.h
+
+ + + + diff --git a/doc/html/dir_000007_000005.html b/doc/html/dir_000007_000005.html new file mode 100644 index 00000000..2105e6d4 --- /dev/null +++ b/doc/html/dir_000007_000005.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/system -> io Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

system → io Relation

File in src/systemIncludes file in src/io
piconsole.cpppipeer.h
piconsole.hpidiagnostics.h
piconsole.hpiprotocol.h
piprocess.hpifile.h
pisystemtests.hpiconfig.h
+
+ + + + diff --git a/doc/html/dir_000007_000008.html b/doc/html/dir_000007_000008.html new file mode 100644 index 00000000..75dfe839 --- /dev/null +++ b/doc/html/dir_000007_000008.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/system -> thread Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

system → thread Relation

File in src/systemIncludes file in src/thread
pikbdlistener.hpithread.h
piprocess.hpithread.h
pisystemmonitor.hpithread.h
+
+ + + + diff --git a/doc/html/dir_000008_000004.html b/doc/html/dir_000008_000004.html new file mode 100644 index 00000000..120f414d --- /dev/null +++ b/doc/html/dir_000008_000004.html @@ -0,0 +1,113 @@ + + + + + + +PIP: src/thread -> core Relation + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+

thread → core Relation

File in src/threadIncludes file in src/core
pimutex.hpiinit.h
pithread.hpiinit.h
pithread.hpiobject.h
pitimer.hpitime.h
+
+ + + + diff --git a/doc/html/dir_0b61c55142250c0cc363383afd8075a4.html b/doc/html/dir_0b61c55142250c0cc363383afd8075a4.html new file mode 100644 index 00000000..37fe4eb6 --- /dev/null +++ b/doc/html/dir_0b61c55142250c0cc363383afd8075a4.html @@ -0,0 +1,151 @@ + + + + + + +PIP: src/containers Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
containers Directory Reference
+
+
+
+ + Directory dependency graph for containers:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  picontainers.cpp
 
file  picontainers.h
 Generic containers.
 
file  pideque.h
 Dynamic array of any type.
 
file  pimap.h
 Associative array with custom types of key and value.
 
file  piqueue.h
 
file  piset.h
 Set container.
 
file  pistack.h
 Stack container.
 
file  pivector.h
 Dynamic array of any type.
 
+
+
+ + + + diff --git a/doc/html/dir_0b61c55142250c0cc363383afd8075a4.js b/doc/html/dir_0b61c55142250c0cc363383afd8075a4.js new file mode 100644 index 00000000..086f3dc9 --- /dev/null +++ b/doc/html/dir_0b61c55142250c0cc363383afd8075a4.js @@ -0,0 +1,11 @@ +var dir_0b61c55142250c0cc363383afd8075a4 = +[ + [ "picontainers.h", "picontainers_8h.html", "picontainers_8h" ], + [ "pideque.h", "pideque_8h.html", null ], + [ "pimap.h", "pimap_8h.html", null ], + [ "piset.h", "piset_8h.html", [ + [ "PISet", "class_p_i_set.html", "class_p_i_set" ] + ] ], + [ "pistack.h", "pistack_8h.html", null ], + [ "pivector.h", "pivector_8h.html", "pivector_8h" ] +]; \ No newline at end of file diff --git a/doc/html/dir_0b61c55142250c0cc363383afd8075a4_dep.map b/doc/html/dir_0b61c55142250c0cc363383afd8075a4_dep.map new file mode 100644 index 00000000..c894b581 --- /dev/null +++ b/doc/html/dir_0b61c55142250c0cc363383afd8075a4_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/doc/html/dir_0b61c55142250c0cc363383afd8075a4_dep.md5 b/doc/html/dir_0b61c55142250c0cc363383afd8075a4_dep.md5 new file mode 100644 index 00000000..79cf1c94 --- /dev/null +++ b/doc/html/dir_0b61c55142250c0cc363383afd8075a4_dep.md5 @@ -0,0 +1 @@ +6c944e828e6629ff262ff3ad6728a073 \ No newline at end of file diff --git a/doc/html/dir_0b61c55142250c0cc363383afd8075a4_dep.svg b/doc/html/dir_0b61c55142250c0cc363383afd8075a4_dep.svg new file mode 100644 index 00000000..ef80a7a3 --- /dev/null +++ b/doc/html/dir_0b61c55142250c0cc363383afd8075a4_dep.svg @@ -0,0 +1,54 @@ + + + + + + +src/containers + +clusterdir_68267d1309a1af8e8297ef4c3efbcdba + + +src + + + + +dir_0b61c55142250c0cc363383afd8075a4 + + +containers + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183 + + +core + + + + +dir_0b61c55142250c0cc363383afd8075a4->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +3 + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_0b61c55142250c0cc363383afd8075a4 + + + +1 + + + + + diff --git a/doc/html/dir_3edb929655fe9d5ef5f6ec0f70ce278e.html b/doc/html/dir_3edb929655fe9d5ef5f6ec0f70ce278e.html new file mode 100644 index 00000000..5bffa9bd --- /dev/null +++ b/doc/html/dir_3edb929655fe9d5ef5f6ec0f70ce278e.html @@ -0,0 +1,131 @@ + + + + + + +PIP: src/_unsused Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
_unsused Directory Reference
+
+
+
+ + Directory dependency graph for _unsused:
+
+
+ + + + + +

+Files

file  pigeometry.h
 
+
+
+ + + + diff --git a/doc/html/dir_3edb929655fe9d5ef5f6ec0f70ce278e_dep.map b/doc/html/dir_3edb929655fe9d5ef5f6ec0f70ce278e_dep.map new file mode 100644 index 00000000..a514c6f3 --- /dev/null +++ b/doc/html/dir_3edb929655fe9d5ef5f6ec0f70ce278e_dep.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/doc/html/dir_3edb929655fe9d5ef5f6ec0f70ce278e_dep.md5 b/doc/html/dir_3edb929655fe9d5ef5f6ec0f70ce278e_dep.md5 new file mode 100644 index 00000000..055142a5 --- /dev/null +++ b/doc/html/dir_3edb929655fe9d5ef5f6ec0f70ce278e_dep.md5 @@ -0,0 +1 @@ +6a30d074c1527d3b96f1b27a2fb420b7 \ No newline at end of file diff --git a/doc/html/dir_3edb929655fe9d5ef5f6ec0f70ce278e_dep.svg b/doc/html/dir_3edb929655fe9d5ef5f6ec0f70ce278e_dep.svg new file mode 100644 index 00000000..a351ae44 --- /dev/null +++ b/doc/html/dir_3edb929655fe9d5ef5f6ec0f70ce278e_dep.svg @@ -0,0 +1,45 @@ + + + + + + +src/_unsused + +clusterdir_68267d1309a1af8e8297ef4c3efbcdba + + +src + + + + +dir_3edb929655fe9d5ef5f6ec0f70ce278e + + +_unsused + + + + +dir_ae9a93452e2a84339148a16bcf2eb561 + + +math + + + + +dir_3edb929655fe9d5ef5f6ec0f70ce278e->dir_ae9a93452e2a84339148a16bcf2eb561 + + + +1 + + + + + diff --git a/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1.html b/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1.html new file mode 100644 index 00000000..cd3ae039 --- /dev/null +++ b/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1.html @@ -0,0 +1,139 @@ + + + + + + +PIP: src/code Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
code Directory Reference
+
+
+
+ + Directory dependency graph for code:
+
+
+ + + + + + + + + + + + + +

+Files

file  picodeinfo.cpp
 
file  picodeinfo.h
 C++ code info structs.
 
file  picodeparser.cpp
 
file  picodeparser.h
 C++ code parser.
 
+
+
+ + + + diff --git a/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1.js b/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1.js new file mode 100644 index 00000000..a45b0a65 --- /dev/null +++ b/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1.js @@ -0,0 +1,5 @@ +var dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1 = +[ + [ "picodeinfo.h", "picodeinfo_8h.html", null ], + [ "picodeparser.h", "picodeparser_8h.html", null ] +]; \ No newline at end of file diff --git a/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1_dep.map b/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1_dep.map new file mode 100644 index 00000000..9fcb376d --- /dev/null +++ b/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1_dep.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1_dep.md5 b/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1_dep.md5 new file mode 100644 index 00000000..037e2752 --- /dev/null +++ b/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1_dep.md5 @@ -0,0 +1 @@ +df357f4d6636ab3e8e24ba76102adaa6 \ No newline at end of file diff --git a/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1_dep.svg b/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1_dep.svg new file mode 100644 index 00000000..4fe47872 --- /dev/null +++ b/doc/html/dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1_dep.svg @@ -0,0 +1,115 @@ + + + + + + +src/code + +clusterdir_68267d1309a1af8e8297ef4c3efbcdba + + +src + + + + +dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1 + + +code + + + + +dir_ae9a93452e2a84339148a16bcf2eb561 + + +math + + + + +dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1->dir_ae9a93452e2a84339148a16bcf2eb561 + + + +1 + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + +io + + + + +dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1->dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + + +1 + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183 + + +core + + + + +dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +1 + + + + +dir_ae9a93452e2a84339148a16bcf2eb561->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +3 + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +3 + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_ae9a93452e2a84339148a16bcf2eb561 + + + +1 + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + + +1 + + + + + diff --git a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 00000000..cc270c55 --- /dev/null +++ b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,156 @@ + + + + + + +PIP: src Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
src Directory Reference
+
+
+
+ + Directory dependency graph for src:
+
+
+ + + + + + + + + + + + + + + + + + + +

+Directories

directory  _unsused
 
directory  code
 
directory  containers
 
directory  core
 
directory  io
 
directory  math
 
directory  system
 
directory  thread
 
+ + + + + + + + + +

+Files

file  pip.h
 
file  pip_export.h
 
file  pip_version_str.h
 
file  piversion.h
 
+
+
+ + + + diff --git a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js new file mode 100644 index 00000000..25b553e3 --- /dev/null +++ b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js @@ -0,0 +1,10 @@ +var dir_68267d1309a1af8e8297ef4c3efbcdba = +[ + [ "code", "dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1.html", "dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1" ], + [ "containers", "dir_0b61c55142250c0cc363383afd8075a4.html", "dir_0b61c55142250c0cc363383afd8075a4" ], + [ "core", "dir_aebb8dcc11953d78e620bbef0b9e2183.html", "dir_aebb8dcc11953d78e620bbef0b9e2183" ], + [ "io", "dir_c184e51c84f2c3f0345bbc8a0d75d3e1.html", "dir_c184e51c84f2c3f0345bbc8a0d75d3e1" ], + [ "math", "dir_ae9a93452e2a84339148a16bcf2eb561.html", "dir_ae9a93452e2a84339148a16bcf2eb561" ], + [ "system", "dir_d501334aeb1b78ad67cd3c72c37b1e87.html", "dir_d501334aeb1b78ad67cd3c72c37b1e87" ], + [ "thread", "dir_bfedb72b9d87795234454f6223b9ab1e.html", "dir_bfedb72b9d87795234454f6223b9ab1e" ] +]; \ No newline at end of file diff --git a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map new file mode 100644 index 00000000..c7806e48 --- /dev/null +++ b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 new file mode 100644 index 00000000..e1792f34 --- /dev/null +++ b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 @@ -0,0 +1 @@ +85aa1044293d8b9dc8c30197b927f9a6 \ No newline at end of file diff --git a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.svg b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.svg new file mode 100644 index 00000000..d8acf101 --- /dev/null +++ b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.svg @@ -0,0 +1,249 @@ + + + + + + +src + +clusterdir_68267d1309a1af8e8297ef4c3efbcdba + + + + + + +dir_68267d1309a1af8e8297ef4c3efbcdba +src + + +dir_3edb929655fe9d5ef5f6ec0f70ce278e + + +_unsused + + + + +dir_ae9a93452e2a84339148a16bcf2eb561 + + +math + + + + +dir_3edb929655fe9d5ef5f6ec0f70ce278e->dir_ae9a93452e2a84339148a16bcf2eb561 + + + +1 + + + + +dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1 + + +code + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183 + + +core + + + + +dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +1 + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + +io + + + + +dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1->dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + + +1 + + + + +dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1->dir_ae9a93452e2a84339148a16bcf2eb561 + + + +1 + + + + +dir_0b61c55142250c0cc363383afd8075a4 + + +containers + + + + +dir_0b61c55142250c0cc363383afd8075a4->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +3 + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_0b61c55142250c0cc363383afd8075a4 + + + +1 + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + + +1 + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_ae9a93452e2a84339148a16bcf2eb561 + + + +1 + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87 + + +system + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_d501334aeb1b78ad67cd3c72c37b1e87 + + + +3 + + + + +dir_bfedb72b9d87795234454f6223b9ab1e + + +thread + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_bfedb72b9d87795234454f6223b9ab1e + + + +1 + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +3 + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1->dir_d501334aeb1b78ad67cd3c72c37b1e87 + + + +1 + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1->dir_bfedb72b9d87795234454f6223b9ab1e + + + +5 + + + + +dir_ae9a93452e2a84339148a16bcf2eb561->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +3 + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87->dir_0b61c55142250c0cc363383afd8075a4 + + + +1 + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87->dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + + +5 + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87->dir_bfedb72b9d87795234454f6223b9ab1e + + + +3 + + + + +dir_bfedb72b9d87795234454f6223b9ab1e->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +4 + + + + + diff --git a/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561.html b/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561.html new file mode 100644 index 00000000..ac1b7197 --- /dev/null +++ b/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561.html @@ -0,0 +1,142 @@ + + + + + + +PIP: src/math Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
math Directory Reference
+
+
+
+ + Directory dependency graph for math:
+
+
+ + + + + + + + + + + + + + + + +

+Files

file  picrc.h
 CRC checksum calculator.
 
file  pievaluator.cpp
 
file  pievaluator.h
 Mathematic expressions calculator.
 
file  pimath.cpp
 
file  pimath.h
 Many mathematical functions and classes.
 
+
+
+ + + + diff --git a/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561.js b/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561.js new file mode 100644 index 00000000..71c7051e --- /dev/null +++ b/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561.js @@ -0,0 +1,6 @@ +var dir_ae9a93452e2a84339148a16bcf2eb561 = +[ + [ "picrc.h", "picrc_8h.html", null ], + [ "pievaluator.h", "pievaluator_8h.html", "pievaluator_8h" ], + [ "pimath.h", "pimath_8h.html", "pimath_8h" ] +]; \ No newline at end of file diff --git a/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561_dep.map b/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561_dep.map new file mode 100644 index 00000000..9a019e85 --- /dev/null +++ b/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561_dep.md5 b/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561_dep.md5 new file mode 100644 index 00000000..73edcd63 --- /dev/null +++ b/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561_dep.md5 @@ -0,0 +1 @@ +088d073675f5080b5b7de0d38b461cfc \ No newline at end of file diff --git a/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561_dep.svg b/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561_dep.svg new file mode 100644 index 00000000..2d540aaf --- /dev/null +++ b/doc/html/dir_ae9a93452e2a84339148a16bcf2eb561_dep.svg @@ -0,0 +1,54 @@ + + + + + + +src/math + +clusterdir_68267d1309a1af8e8297ef4c3efbcdba + + +src + + + + +dir_ae9a93452e2a84339148a16bcf2eb561 + + +math + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183 + + +core + + + + +dir_ae9a93452e2a84339148a16bcf2eb561->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +3 + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_ae9a93452e2a84339148a16bcf2eb561 + + + +1 + + + + + diff --git a/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183.html b/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183.html new file mode 100644 index 00000000..5d0299da --- /dev/null +++ b/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183.html @@ -0,0 +1,182 @@ + + + + + + +PIP: src/core Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
core Directory Reference
+
+
+
+ + Directory dependency graph for core:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  pibitarray.h
 
file  pibytearray.cpp
 
file  pibytearray.h
 Byte array.
 
file  pichar.h
 Unicode char.
 
file  picli.cpp
 
file  picli.h
 Command-Line parser.
 
file  picollection.cpp
 
file  picollection.h
 Custom elements collection.
 
file  piincludes.cpp
 
file  piincludes.h
 Global includes of PIP.
 
file  piinit.cpp
 
file  piinit.h
 Initialization.
 
file  piobject.cpp
 
file  piobject.h
 Base object.
 
file  pistatemachine.h
 Base class for custom state machine.
 
file  pistring.cpp
 
file  pistring.h
 String.
 
file  pitime.cpp
 
file  pitime.h
 Time structs.
 
file  pivariant.cpp
 
file  pivariant.h
 Variant type.
 
+
+
+ + + + diff --git a/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183.js b/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183.js new file mode 100644 index 00000000..696a083c --- /dev/null +++ b/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183.js @@ -0,0 +1,20 @@ +var dir_aebb8dcc11953d78e620bbef0b9e2183 = +[ + [ "pibytearray.h", "pibytearray_8h.html", "pibytearray_8h" ], + [ "pichar.h", "pichar_8h.html", "pichar_8h" ], + [ "picli.h", "picli_8h.html", [ + [ "PICLI", "class_p_i_c_l_i.html", "class_p_i_c_l_i" ] + ] ], + [ "picollection.h", "picollection_8h.html", "picollection_8h" ], + [ "piincludes.h", "piincludes_8h.html", "piincludes_8h" ], + [ "piinit.h", "piinit_8h.html", null ], + [ "piobject.h", "piobject_8h.html", "piobject_8h" ], + [ "pistatemachine.h", "pistatemachine_8h.html", [ + [ "PIStateMachine", "class_p_i_state_machine.html", "class_p_i_state_machine" ], + [ "Rule", "struct_p_i_state_machine_1_1_rule.html", "struct_p_i_state_machine_1_1_rule" ], + [ "State", "struct_p_i_state_machine_1_1_state.html", "struct_p_i_state_machine_1_1_state" ] + ] ], + [ "pistring.h", "pistring_8h.html", "pistring_8h" ], + [ "pitime.h", "pitime_8h.html", "pitime_8h" ], + [ "pivariant.h", "pivariant_8h.html", "pivariant_8h" ] +]; \ No newline at end of file diff --git a/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183_dep.map b/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183_dep.map new file mode 100644 index 00000000..0f4117de --- /dev/null +++ b/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183_dep.map @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183_dep.md5 b/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183_dep.md5 new file mode 100644 index 00000000..3f45b078 --- /dev/null +++ b/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183_dep.md5 @@ -0,0 +1 @@ +d25cf8afa3006ecfc0f8ae147b5d078e \ No newline at end of file diff --git a/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183_dep.svg b/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183_dep.svg new file mode 100644 index 00000000..8a5edbef --- /dev/null +++ b/doc/html/dir_aebb8dcc11953d78e620bbef0b9e2183_dep.svg @@ -0,0 +1,194 @@ + + + + + + +src/core + +clusterdir_68267d1309a1af8e8297ef4c3efbcdba + + +src + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183 + + +core + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87 + + +system + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_d501334aeb1b78ad67cd3c72c37b1e87 + + + +3 + + + + +dir_ae9a93452e2a84339148a16bcf2eb561 + + +math + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_ae9a93452e2a84339148a16bcf2eb561 + + + +1 + + + + +dir_0b61c55142250c0cc363383afd8075a4 + + +containers + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_0b61c55142250c0cc363383afd8075a4 + + + +1 + + + + +dir_bfedb72b9d87795234454f6223b9ab1e + + +thread + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_bfedb72b9d87795234454f6223b9ab1e + + + +1 + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + +io + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + + +1 + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87->dir_0b61c55142250c0cc363383afd8075a4 + + + +1 + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87->dir_bfedb72b9d87795234454f6223b9ab1e + + + +3 + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87->dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + + +5 + + + + +dir_ae9a93452e2a84339148a16bcf2eb561->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +3 + + + + +dir_0b61c55142250c0cc363383afd8075a4->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +3 + + + + +dir_bfedb72b9d87795234454f6223b9ab1e->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +4 + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +3 + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1->dir_d501334aeb1b78ad67cd3c72c37b1e87 + + + +1 + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1->dir_bfedb72b9d87795234454f6223b9ab1e + + + +5 + + + + + diff --git a/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e.html b/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e.html new file mode 100644 index 00000000..96a5d64d --- /dev/null +++ b/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e.html @@ -0,0 +1,144 @@ + + + + + + +PIP: src/thread Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
thread Directory Reference
+
+
+
+ + Directory dependency graph for thread:
+
+
+ + + + + + + + + + + + + + + + + + +

+Files

file  pimutex.cpp
 
file  pimutex.h
 Mutex.
 
file  pithread.cpp
 
file  pithread.h
 Thread.
 
file  pitimer.cpp
 
file  pitimer.h
 Timer.
 
+
+
+ + + + diff --git a/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e.js b/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e.js new file mode 100644 index 00000000..a5c1e04e --- /dev/null +++ b/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e.js @@ -0,0 +1,8 @@ +var dir_bfedb72b9d87795234454f6223b9ab1e = +[ + [ "pimutex.h", "pimutex_8h.html", [ + [ "PIMutex", "class_p_i_mutex.html", "class_p_i_mutex" ] + ] ], + [ "pithread.h", "pithread_8h.html", "pithread_8h" ], + [ "pitimer.h", "pitimer_8h.html", "pitimer_8h" ] +]; \ No newline at end of file diff --git a/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e_dep.map b/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e_dep.map new file mode 100644 index 00000000..e972c6aa --- /dev/null +++ b/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e_dep.md5 b/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e_dep.md5 new file mode 100644 index 00000000..cb4cc1bb --- /dev/null +++ b/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e_dep.md5 @@ -0,0 +1 @@ +801623d2df11acc4320bd75f0be17fc6 \ No newline at end of file diff --git a/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e_dep.svg b/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e_dep.svg new file mode 100644 index 00000000..54125f81 --- /dev/null +++ b/doc/html/dir_bfedb72b9d87795234454f6223b9ab1e_dep.svg @@ -0,0 +1,54 @@ + + + + + + +src/thread + +clusterdir_68267d1309a1af8e8297ef4c3efbcdba + + +src + + + + +dir_bfedb72b9d87795234454f6223b9ab1e + + +thread + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183 + + +core + + + + +dir_bfedb72b9d87795234454f6223b9ab1e->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +4 + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_bfedb72b9d87795234454f6223b9ab1e + + + +1 + + + + + diff --git a/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1.html b/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1.html new file mode 100644 index 00000000..0b9b22f5 --- /dev/null +++ b/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1.html @@ -0,0 +1,197 @@ + + + + + + +PIP: src/io Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
io Directory Reference
+
+
+
+ + Directory dependency graph for io:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  pibinarylog.cpp
 
file  pibinarylog.h
 Binary log.
 
file  piconfig.cpp
 
file  piconfig.h
 Configuration file.
 
file  piconnection.cpp
 
file  piconnection.h
 Complex I/O point.
 
file  pidiagnostics.cpp
 
file  pidiagnostics.h
 Connection quality diagnostics.
 
file  pidir.cpp
 
file  pidir.h
 
file  piethernet.cpp
 
file  piethernet.h
 Ethernet device.
 
file  pifile.cpp
 
file  pifile.h
 Local file.
 
file  piiodevice.cpp
 
file  piiodevice.h
 Abstract input/output device.
 
file  pimultiprotocol.cpp
 
file  pimultiprotocol.h
 
file  pipacketextractor.cpp
 
file  pipacketextractor.h
 Packets extractor.
 
file  pipeer.cpp
 
file  pipeer.h
 Peering net node.
 
file  piprotocol.cpp
 
file  piprotocol.h
 Highly configurable from file I/O channel.
 
file  piserial.cpp
 
file  piserial.h
 Serial device.
 
file  piusb.cpp
 
file  piusb.h
 USB device.
 
+
+
+ + + + diff --git a/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1.js b/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1.js new file mode 100644 index 00000000..8ea540a4 --- /dev/null +++ b/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1.js @@ -0,0 +1,19 @@ +var dir_c184e51c84f2c3f0345bbc8a0d75d3e1 = +[ + [ "pibinarylog.h", "pibinarylog_8h.html", "pibinarylog_8h" ], + [ "piconfig.h", "piconfig_8h.html", "piconfig_8h" ], + [ "piconnection.h", "piconnection_8h.html", "piconnection_8h" ], + [ "pidiagnostics.h", "pidiagnostics_8h.html", [ + [ "PIDiagnostics", "class_p_i_diagnostics.html", "class_p_i_diagnostics" ] + ] ], + [ "piethernet.h", "piethernet_8h.html", "piethernet_8h" ], + [ "pifile.h", "pifile_8h.html", [ + [ "PIFile", "class_p_i_file.html", "class_p_i_file" ] + ] ], + [ "piiodevice.h", "piiodevice_8h.html", "piiodevice_8h" ], + [ "pipacketextractor.h", "pipacketextractor_8h.html", "pipacketextractor_8h" ], + [ "pipeer.h", "pipeer_8h.html", null ], + [ "piprotocol.h", "piprotocol_8h.html", "piprotocol_8h" ], + [ "piserial.h", "piserial_8h.html", "piserial_8h" ], + [ "piusb.h", "piusb_8h.html", null ] +]; \ No newline at end of file diff --git a/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1_dep.map b/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1_dep.map new file mode 100644 index 00000000..b3ea941d --- /dev/null +++ b/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1_dep.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1_dep.md5 b/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1_dep.md5 new file mode 100644 index 00000000..1c750ffe --- /dev/null +++ b/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1_dep.md5 @@ -0,0 +1 @@ +2d80bead2b53cdd8c096995a032579cc \ No newline at end of file diff --git a/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1_dep.svg b/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1_dep.svg new file mode 100644 index 00000000..c1ae5c46 --- /dev/null +++ b/doc/html/dir_c184e51c84f2c3f0345bbc8a0d75d3e1_dep.svg @@ -0,0 +1,133 @@ + + + + + + +src/io + +clusterdir_68267d1309a1af8e8297ef4c3efbcdba + + +src + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + +io + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87 + + +system + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1->dir_d501334aeb1b78ad67cd3c72c37b1e87 + + + +1 + + + + +dir_bfedb72b9d87795234454f6223b9ab1e + + +thread + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1->dir_bfedb72b9d87795234454f6223b9ab1e + + + +5 + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183 + + +core + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +3 + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87->dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + + +5 + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87->dir_bfedb72b9d87795234454f6223b9ab1e + + + +3 + + + + +dir_bfedb72b9d87795234454f6223b9ab1e->dir_aebb8dcc11953d78e620bbef0b9e2183 + + + +4 + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + + +1 + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_d501334aeb1b78ad67cd3c72c37b1e87 + + + +3 + + + + +dir_aebb8dcc11953d78e620bbef0b9e2183->dir_bfedb72b9d87795234454f6223b9ab1e + + + +1 + + + + + diff --git a/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87.html b/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87.html new file mode 100644 index 00000000..548001aa --- /dev/null +++ b/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87.html @@ -0,0 +1,165 @@ + + + + + + +PIP: src/system Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+ All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
+ + +
+ +
+ +
+
+
system Directory Reference
+
+
+
+ + Directory dependency graph for system:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  picodec.cpp
 
file  picodec.h
 
file  piconsole.cpp
 
file  piconsole.h
 Console output class.
 
file  pikbdlistener.cpp
 
file  pikbdlistener.h
 Keyboard console input listener.
 
file  pimonitor.cpp
 
file  pimonitor.h
 
file  piprocess.cpp
 
file  piprocess.h
 Process.
 
file  pisignals.cpp
 
file  pisignals.h
 System signals.
 
file  pisystemmonitor.cpp
 
file  pisystemmonitor.h
 
file  pisystemtests.cpp
 
file  pisystemtests.h
 
+
+
+ + + + diff --git a/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87.js b/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87.js new file mode 100644 index 00000000..b7e02d07 --- /dev/null +++ b/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87.js @@ -0,0 +1,9 @@ +var dir_d501334aeb1b78ad67cd3c72c37b1e87 = +[ + [ "piconsole.h", "piconsole_8h.html", "piconsole_8h" ], + [ "pikbdlistener.h", "pikbdlistener_8h.html", "pikbdlistener_8h" ], + [ "piprocess.h", "piprocess_8h.html", [ + [ "PIProcess", "class_p_i_process.html", null ] + ] ], + [ "pisignals.h", "pisignals_8h.html", null ] +]; \ No newline at end of file diff --git a/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87_dep.map b/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87_dep.map new file mode 100644 index 00000000..50cac61c --- /dev/null +++ b/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87_dep.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87_dep.md5 b/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87_dep.md5 new file mode 100644 index 00000000..6027df1b --- /dev/null +++ b/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87_dep.md5 @@ -0,0 +1 @@ +0497c31ad78dd66106d0ebfb6a6dec58 \ No newline at end of file diff --git a/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87_dep.svg b/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87_dep.svg new file mode 100644 index 00000000..6a2b22cb --- /dev/null +++ b/doc/html/dir_d501334aeb1b78ad67cd3c72c37b1e87_dep.svg @@ -0,0 +1,97 @@ + + + + + + +src/system + +clusterdir_68267d1309a1af8e8297ef4c3efbcdba + + +src + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87 + + +system + + + + +dir_0b61c55142250c0cc363383afd8075a4 + + +containers + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87->dir_0b61c55142250c0cc363383afd8075a4 + + + +1 + + + + +dir_bfedb72b9d87795234454f6223b9ab1e + + +thread + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87->dir_bfedb72b9d87795234454f6223b9ab1e + + + +3 + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + +io + + + + +dir_d501334aeb1b78ad67cd3c72c37b1e87->dir_c184e51c84f2c3f0345bbc8a0d75d3e1 + + + +5 + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1->dir_d501334aeb1b78ad67cd3c72c37b1e87 + + + +1 + + + + +dir_c184e51c84f2c3f0345bbc8a0d75d3e1->dir_bfedb72b9d87795234454f6223b9ab1e + + + +5 + + + + + diff --git a/doc/html/doxygen.css b/doc/html/doxygen.css new file mode 100644 index 00000000..80c1a4fb --- /dev/null +++ b/doc/html/doxygen.css @@ -0,0 +1,1440 @@ +/* The standard CSS for doxygen 1.8.8 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #9994C6; + color: #47417B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EEEEF6; + border: 1px solid #B1ADD4; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #50498C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #5C54A0; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #ABA7D0; + color: #ffffff; + border: 1px double #9893C6; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FCFCFD; + border: 1px solid #CDCBE3; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EEEEF6; + font-weight: bold; + border: 1px solid #CDCBE3; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EEEEF6; + border: 1px solid #CDCBE3; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #F0F0F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F8F8FB; + border-left: 2px solid #ABA7D0; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #B1ADD4; +} + +th.dirtab { + background: #EEEEF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #6058A7; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #FAFAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #5C54A0; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #5C54A0; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EEEEF6; + border: 1px solid #B1ADD4; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #B5B2D6; + border-left: 1px solid #B5B2D6; + border-right: 1px solid #B5B2D6; + padding: 6px 0px 6px 0px; + color: #322E57; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E7E6F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #B5B2D6; + border-left: 1px solid #B5B2D6; + border-right: 1px solid #B5B2D6; + padding: 6px 10px 2px 10px; + background-color: #FCFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #8781BC; + border-top:1px solid #6C65AD; + border-left:1px solid #6C65AD; + border-right:1px solid #CDCBE3; + border-bottom:1px solid #CDCBE3; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #ABA7D0; + border-bottom: 1px solid #ABA7D0; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F8F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #50498C; +} + +.arrow { + color: #ABA7D0; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #8781BC; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('ftv2folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('ftv2folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('ftv2doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #393463; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #3C3769; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #494380; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #B5B2D6; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #B5B2D6; + border-bottom: 1px solid #B5B2D6; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #B5B2D6; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E7E6F1; + font-size: 90%; + color: #322E57; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #B5B2D6; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#9B96C8; + border:solid 1px #CBC9E2; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#47427D; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #36325F; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#7E78B7; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#47427D; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #FAFAFC; + margin: 0px; + border-bottom: 1px solid #CDCBE3; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #6C65AD; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #A19CCB; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#443E76; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F6F6FA; + border: 1px solid #DEDDED; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #5C54A0; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/doc/html/doxygen.png b/doc/html/doxygen.png new file mode 100644 index 00000000..4cfa4898 Binary files /dev/null and b/doc/html/doxygen.png differ diff --git a/doc/html/dynsections.js b/doc/html/dynsections.js new file mode 100644 index 00000000..85e18369 --- /dev/null +++ b/doc/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + +PIP: File List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  src
  code
 picodeinfo.hC++ code info structs
 picodeparser.hC++ code parser
  containers
 picontainers.hGeneric containers
 pideque.hDynamic array of any type
 pimap.hAssociative array with custom types of key and value
 piset.hSet container
 pistack.hStack container
 pivector.hDynamic array of any type
  core
 pibytearray.hByte array
 pichar.hUnicode char
 picli.hCommand-Line parser
 picollection.hCustom elements collection
 piincludes.hGlobal includes of PIP
 piinit.hInitialization
 piobject.hBase object
 pistatemachine.hBase class for custom state machine
 pistring.hString
 pitime.hTime structs
 pivariant.hVariant type
  io
 pibinarylog.hBinary log
 piconfig.hConfiguration file
 piconnection.hComplex I/O point
 pidiagnostics.hConnection quality diagnostics
 piethernet.hEthernet device
 pifile.hLocal file
 piiodevice.hAbstract input/output device
 pipacketextractor.hPackets extractor
 pipeer.hPeering net node
 piprotocol.hHighly configurable from file I/O channel
 piserial.hSerial device
 piusb.hUSB device
  math
 picrc.hCRC checksum calculator
 pievaluator.hMathematic expressions calculator
 pimath.hMany mathematical functions and classes
  system
 piconsole.hConsole output class
 pikbdlistener.hKeyboard console input listener
 piprocess.hProcess
 pisignals.hSystem signals
  thread
 pimutex.hMutex
 pithread.hThread
 pitimer.hTimer
+
+
+
+ + + + diff --git a/doc/html/files.js b/doc/html/files.js new file mode 100644 index 00000000..04b0a8ee --- /dev/null +++ b/doc/html/files.js @@ -0,0 +1,4 @@ +var files = +[ + [ "src", "dir_68267d1309a1af8e8297ef4c3efbcdba.html", "dir_68267d1309a1af8e8297ef4c3efbcdba" ] +]; \ No newline at end of file diff --git a/doc/html/ftv2blank.png b/doc/html/ftv2blank.png new file mode 100644 index 00000000..63c605bb Binary files /dev/null and b/doc/html/ftv2blank.png differ diff --git a/doc/html/ftv2doc.png b/doc/html/ftv2doc.png new file mode 100644 index 00000000..c5384482 Binary files /dev/null and b/doc/html/ftv2doc.png differ diff --git a/doc/html/ftv2folderclosed.png b/doc/html/ftv2folderclosed.png new file mode 100644 index 00000000..3dfafd77 Binary files /dev/null and b/doc/html/ftv2folderclosed.png differ diff --git a/doc/html/ftv2folderopen.png b/doc/html/ftv2folderopen.png new file mode 100644 index 00000000..26ba14eb Binary files /dev/null and b/doc/html/ftv2folderopen.png differ diff --git a/doc/html/ftv2lastnode.png b/doc/html/ftv2lastnode.png new file mode 100644 index 00000000..63c605bb Binary files /dev/null and b/doc/html/ftv2lastnode.png differ diff --git a/doc/html/ftv2link.png b/doc/html/ftv2link.png new file mode 100644 index 00000000..c5384482 Binary files /dev/null and b/doc/html/ftv2link.png differ diff --git a/doc/html/ftv2mlastnode.png b/doc/html/ftv2mlastnode.png new file mode 100644 index 00000000..22d5cd56 Binary files /dev/null and b/doc/html/ftv2mlastnode.png differ diff --git a/doc/html/ftv2mnode.png b/doc/html/ftv2mnode.png new file mode 100644 index 00000000..22d5cd56 Binary files /dev/null and b/doc/html/ftv2mnode.png differ diff --git a/doc/html/ftv2node.png b/doc/html/ftv2node.png new file mode 100644 index 00000000..63c605bb Binary files /dev/null and b/doc/html/ftv2node.png differ diff --git a/doc/html/ftv2plastnode.png b/doc/html/ftv2plastnode.png new file mode 100644 index 00000000..49ad225c Binary files /dev/null and b/doc/html/ftv2plastnode.png differ diff --git a/doc/html/ftv2pnode.png b/doc/html/ftv2pnode.png new file mode 100644 index 00000000..49ad225c Binary files /dev/null and b/doc/html/ftv2pnode.png differ diff --git a/doc/html/ftv2splitbar.png b/doc/html/ftv2splitbar.png new file mode 100644 index 00000000..ba09ad03 Binary files /dev/null and b/doc/html/ftv2splitbar.png differ diff --git a/doc/html/ftv2vertline.png b/doc/html/ftv2vertline.png new file mode 100644 index 00000000..63c605bb Binary files /dev/null and b/doc/html/ftv2vertline.png differ diff --git a/doc/html/functions.html b/doc/html/functions.html new file mode 100644 index 00000000..4073161e --- /dev/null +++ b/doc/html/functions.html @@ -0,0 +1,261 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- a -

+
+
+ + + + diff --git a/doc/html/functions_b.html b/doc/html/functions_b.html new file mode 100644 index 00000000..6fe60709 --- /dev/null +++ b/doc/html/functions_b.html @@ -0,0 +1,236 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- b -

+
+
+ + + + diff --git a/doc/html/functions_c.html b/doc/html/functions_c.html new file mode 100644 index 00000000..e1d8863d --- /dev/null +++ b/doc/html/functions_c.html @@ -0,0 +1,340 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- c -

+
+
+ + + + diff --git a/doc/html/functions_d.html b/doc/html/functions_d.html new file mode 100644 index 00000000..6225c3d6 --- /dev/null +++ b/doc/html/functions_d.html @@ -0,0 +1,235 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- d -

+
+
+ + + + diff --git a/doc/html/functions_dup.js b/doc/html/functions_dup.js new file mode 100644 index 00000000..64a6e5b6 --- /dev/null +++ b/doc/html/functions_dup.js @@ -0,0 +1,27 @@ +var functions_dup = +[ + [ "a", "functions.html", null ], + [ "b", "functions_b.html", null ], + [ "c", "functions_c.html", null ], + [ "d", "functions_d.html", null ], + [ "e", "functions_e.html", null ], + [ "f", "functions_f.html", null ], + [ "g", "functions_g.html", null ], + [ "h", "functions_h.html", null ], + [ "i", "functions_i.html", null ], + [ "j", "functions_j.html", null ], + [ "k", "functions_k.html", null ], + [ "l", "functions_l.html", null ], + [ "m", "functions_m.html", null ], + [ "n", "functions_n.html", null ], + [ "o", "functions_o.html", null ], + [ "p", "functions_p.html", null ], + [ "q", "functions_q.html", null ], + [ "r", "functions_r.html", null ], + [ "s", "functions_s.html", null ], + [ "t", "functions_t.html", null ], + [ "u", "functions_u.html", null ], + [ "v", "functions_v.html", null ], + [ "w", "functions_w.html", null ], + [ "y", "functions_y.html", null ] +]; \ No newline at end of file diff --git a/doc/html/functions_e.html b/doc/html/functions_e.html new file mode 100644 index 00000000..16d38473 --- /dev/null +++ b/doc/html/functions_e.html @@ -0,0 +1,295 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- e -

+
+
+ + + + diff --git a/doc/html/functions_enum.html b/doc/html/functions_enum.html new file mode 100644 index 00000000..24eb1868 --- /dev/null +++ b/doc/html/functions_enum.html @@ -0,0 +1,165 @@ + + + + + + +PIP: Class Members - Enumerations + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
+ + + + diff --git a/doc/html/functions_eval.html b/doc/html/functions_eval.html new file mode 100644 index 00000000..c16f9d88 --- /dev/null +++ b/doc/html/functions_eval.html @@ -0,0 +1,520 @@ + + + + + + +PIP: Class Members - Enumerator + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- f -

+ + +

- g -

+ + +

- h -

+ + +

- i -

+ + +

- l -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- u -

+ + +

- w -

+ + +

- y -

+
+
+ + + + diff --git a/doc/html/functions_f.html b/doc/html/functions_f.html new file mode 100644 index 00000000..ff47f2f9 --- /dev/null +++ b/doc/html/functions_f.html @@ -0,0 +1,264 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- f -

+
+
+ + + + diff --git a/doc/html/functions_func.html b/doc/html/functions_func.html new file mode 100644 index 00000000..59a670d1 --- /dev/null +++ b/doc/html/functions_func.html @@ -0,0 +1,241 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- a -

+
+
+ + + + diff --git a/doc/html/functions_func.js b/doc/html/functions_func.js new file mode 100644 index 00000000..e9685c0f --- /dev/null +++ b/doc/html/functions_func.js @@ -0,0 +1,26 @@ +var functions_func = +[ + [ "a", "functions_func.html", null ], + [ "b", "functions_func_b.html", null ], + [ "c", "functions_func_c.html", null ], + [ "d", "functions_func_d.html", null ], + [ "e", "functions_func_e.html", null ], + [ "f", "functions_func_f.html", null ], + [ "g", "functions_func_g.html", null ], + [ "h", "functions_func_h.html", null ], + [ "i", "functions_func_i.html", null ], + [ "j", "functions_func_j.html", null ], + [ "k", "functions_func_k.html", null ], + [ "l", "functions_func_l.html", null ], + [ "m", "functions_func_m.html", null ], + [ "n", "functions_func_n.html", null ], + [ "o", "functions_func_o.html", null ], + [ "p", "functions_func_p.html", null ], + [ "q", "functions_func_q.html", null ], + [ "r", "functions_func_r.html", null ], + [ "s", "functions_func_s.html", null ], + [ "t", "functions_func_t.html", null ], + [ "u", "functions_func_u.html", null ], + [ "v", "functions_func_v.html", null ], + [ "w", "functions_func_w.html", null ] +]; \ No newline at end of file diff --git a/doc/html/functions_func_b.html b/doc/html/functions_func_b.html new file mode 100644 index 00000000..aeabb5fa --- /dev/null +++ b/doc/html/functions_func_b.html @@ -0,0 +1,174 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- b -

+
+
+ + + + diff --git a/doc/html/functions_func_c.html b/doc/html/functions_func_c.html new file mode 100644 index 00000000..e96b2ed7 --- /dev/null +++ b/doc/html/functions_func_c.html @@ -0,0 +1,285 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- c -

+
+
+ + + + diff --git a/doc/html/functions_func_d.html b/doc/html/functions_func_d.html new file mode 100644 index 00000000..19e6e58c --- /dev/null +++ b/doc/html/functions_func_d.html @@ -0,0 +1,201 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- d -

+
+
+ + + + diff --git a/doc/html/functions_func_e.html b/doc/html/functions_func_e.html new file mode 100644 index 00000000..98862ffc --- /dev/null +++ b/doc/html/functions_func_e.html @@ -0,0 +1,240 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- e -

+
+
+ + + + diff --git a/doc/html/functions_func_f.html b/doc/html/functions_func_f.html new file mode 100644 index 00000000..ae7c93a8 --- /dev/null +++ b/doc/html/functions_func_f.html @@ -0,0 +1,244 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- f -

+
+
+ + + + diff --git a/doc/html/functions_func_g.html b/doc/html/functions_func_g.html new file mode 100644 index 00000000..4191b8bb --- /dev/null +++ b/doc/html/functions_func_g.html @@ -0,0 +1,188 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- g -

+
+
+ + + + diff --git a/doc/html/functions_func_h.html b/doc/html/functions_func_h.html new file mode 100644 index 00000000..d9b3b841 --- /dev/null +++ b/doc/html/functions_func_h.html @@ -0,0 +1,165 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- h -

+
+
+ + + + diff --git a/doc/html/functions_func_i.html b/doc/html/functions_func_i.html new file mode 100644 index 00000000..0c2d1310 --- /dev/null +++ b/doc/html/functions_func_i.html @@ -0,0 +1,271 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- i -

+
+
+ + + + diff --git a/doc/html/functions_func_j.html b/doc/html/functions_func_j.html new file mode 100644 index 00000000..e3b945f2 --- /dev/null +++ b/doc/html/functions_func_j.html @@ -0,0 +1,168 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- j -

+
+
+ + + + diff --git a/doc/html/functions_func_k.html b/doc/html/functions_func_k.html new file mode 100644 index 00000000..1af67442 --- /dev/null +++ b/doc/html/functions_func_k.html @@ -0,0 +1,166 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- k -

+
+
+ + + + diff --git a/doc/html/functions_func_l.html b/doc/html/functions_func_l.html new file mode 100644 index 00000000..8cd0e69b --- /dev/null +++ b/doc/html/functions_func_l.html @@ -0,0 +1,184 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- l -

+
+
+ + + + diff --git a/doc/html/functions_func_m.html b/doc/html/functions_func_m.html new file mode 100644 index 00000000..0e6bc826 --- /dev/null +++ b/doc/html/functions_func_m.html @@ -0,0 +1,180 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- m -

+
+
+ + + + diff --git a/doc/html/functions_func_n.html b/doc/html/functions_func_n.html new file mode 100644 index 00000000..5bd3c473 --- /dev/null +++ b/doc/html/functions_func_n.html @@ -0,0 +1,175 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- n -

+
+
+ + + + diff --git a/doc/html/functions_func_o.html b/doc/html/functions_func_o.html new file mode 100644 index 00000000..c0be8f23 --- /dev/null +++ b/doc/html/functions_func_o.html @@ -0,0 +1,323 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- o -

+
+
+ + + + diff --git a/doc/html/functions_func_p.html b/doc/html/functions_func_p.html new file mode 100644 index 00000000..e0720f85 --- /dev/null +++ b/doc/html/functions_func_p.html @@ -0,0 +1,299 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- p -

+
+
+ + + + diff --git a/doc/html/functions_func_q.html b/doc/html/functions_func_q.html new file mode 100644 index 00000000..bdb6ee03 --- /dev/null +++ b/doc/html/functions_func_q.html @@ -0,0 +1,174 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- q -

+
+
+ + + + diff --git a/doc/html/functions_func_r.html b/doc/html/functions_func_r.html new file mode 100644 index 00000000..d08d1371 --- /dev/null +++ b/doc/html/functions_func_r.html @@ -0,0 +1,336 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- r -

+
+
+ + + + diff --git a/doc/html/functions_func_s.html b/doc/html/functions_func_s.html new file mode 100644 index 00000000..af6263db --- /dev/null +++ b/doc/html/functions_func_s.html @@ -0,0 +1,435 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- s -

+
+
+ + + + diff --git a/doc/html/functions_func_t.html b/doc/html/functions_func_t.html new file mode 100644 index 00000000..a54c5067 --- /dev/null +++ b/doc/html/functions_func_t.html @@ -0,0 +1,351 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- t -

+
+
+ + + + diff --git a/doc/html/functions_func_u.html b/doc/html/functions_func_u.html new file mode 100644 index 00000000..ea446f4a --- /dev/null +++ b/doc/html/functions_func_u.html @@ -0,0 +1,169 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- u -

+
+
+ + + + diff --git a/doc/html/functions_func_v.html b/doc/html/functions_func_v.html new file mode 100644 index 00000000..913d7318 --- /dev/null +++ b/doc/html/functions_func_v.html @@ -0,0 +1,177 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- v -

+
+
+ + + + diff --git a/doc/html/functions_func_w.html b/doc/html/functions_func_w.html new file mode 100644 index 00000000..91bee8e5 --- /dev/null +++ b/doc/html/functions_func_w.html @@ -0,0 +1,187 @@ + + + + + + +PIP: Class Members - Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- w -

+
+
+ + + + diff --git a/doc/html/functions_g.html b/doc/html/functions_g.html new file mode 100644 index 00000000..e303fd17 --- /dev/null +++ b/doc/html/functions_g.html @@ -0,0 +1,196 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- g -

+
+
+ + + + diff --git a/doc/html/functions_h.html b/doc/html/functions_h.html new file mode 100644 index 00000000..90bbfa86 --- /dev/null +++ b/doc/html/functions_h.html @@ -0,0 +1,182 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- h -

+
+
+ + + + diff --git a/doc/html/functions_i.html b/doc/html/functions_i.html new file mode 100644 index 00000000..1fcabb2f --- /dev/null +++ b/doc/html/functions_i.html @@ -0,0 +1,311 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- i -

+
+
+ + + + diff --git a/doc/html/functions_j.html b/doc/html/functions_j.html new file mode 100644 index 00000000..21ae90ac --- /dev/null +++ b/doc/html/functions_j.html @@ -0,0 +1,169 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- j -

+
+
+ + + + diff --git a/doc/html/functions_k.html b/doc/html/functions_k.html new file mode 100644 index 00000000..48dbb14a --- /dev/null +++ b/doc/html/functions_k.html @@ -0,0 +1,167 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- k -

+
+
+ + + + diff --git a/doc/html/functions_l.html b/doc/html/functions_l.html new file mode 100644 index 00000000..5c8b0f1a --- /dev/null +++ b/doc/html/functions_l.html @@ -0,0 +1,200 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- l -

+
+
+ + + + diff --git a/doc/html/functions_m.html b/doc/html/functions_m.html new file mode 100644 index 00000000..547c6061 --- /dev/null +++ b/doc/html/functions_m.html @@ -0,0 +1,187 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- m -

+
+
+ + + + diff --git a/doc/html/functions_n.html b/doc/html/functions_n.html new file mode 100644 index 00000000..e3adc80e --- /dev/null +++ b/doc/html/functions_n.html @@ -0,0 +1,193 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- n -

+
+
+ + + + diff --git a/doc/html/functions_o.html b/doc/html/functions_o.html new file mode 100644 index 00000000..ec6e213f --- /dev/null +++ b/doc/html/functions_o.html @@ -0,0 +1,331 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- o -

+
+
+ + + + diff --git a/doc/html/functions_p.html b/doc/html/functions_p.html new file mode 100644 index 00000000..30bd6b49 --- /dev/null +++ b/doc/html/functions_p.html @@ -0,0 +1,342 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- p -

+
+
+ + + + diff --git a/doc/html/functions_q.html b/doc/html/functions_q.html new file mode 100644 index 00000000..b59c093f --- /dev/null +++ b/doc/html/functions_q.html @@ -0,0 +1,181 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- q -

+
+
+ + + + diff --git a/doc/html/functions_r.html b/doc/html/functions_r.html new file mode 100644 index 00000000..c936ced4 --- /dev/null +++ b/doc/html/functions_r.html @@ -0,0 +1,358 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- r -

+
+
+ + + + diff --git a/doc/html/functions_rela.html b/doc/html/functions_rela.html new file mode 100644 index 00000000..3e82a340 --- /dev/null +++ b/doc/html/functions_rela.html @@ -0,0 +1,323 @@ + + + + + + +PIP: Class Members - Related Functions + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- a -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- h -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- w -

+
+
+ + + + diff --git a/doc/html/functions_s.html b/doc/html/functions_s.html new file mode 100644 index 00000000..11693a17 --- /dev/null +++ b/doc/html/functions_s.html @@ -0,0 +1,469 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- s -

+
+
+ + + + diff --git a/doc/html/functions_t.html b/doc/html/functions_t.html new file mode 100644 index 00000000..3b807ec0 --- /dev/null +++ b/doc/html/functions_t.html @@ -0,0 +1,384 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- t -

+
+
+ + + + diff --git a/doc/html/functions_type.html b/doc/html/functions_type.html new file mode 100644 index 00000000..90732e4b --- /dev/null +++ b/doc/html/functions_type.html @@ -0,0 +1,139 @@ + + + + + + +PIP: Class Members - Typedefs + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
+ + + + diff --git a/doc/html/functions_u.html b/doc/html/functions_u.html new file mode 100644 index 00000000..887d997b --- /dev/null +++ b/doc/html/functions_u.html @@ -0,0 +1,198 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- u -

+
+
+ + + + diff --git a/doc/html/functions_v.html b/doc/html/functions_v.html new file mode 100644 index 00000000..924ceb0f --- /dev/null +++ b/doc/html/functions_v.html @@ -0,0 +1,179 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- v -

+
+
+ + + + diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html new file mode 100644 index 00000000..1e491fa3 --- /dev/null +++ b/doc/html/functions_vars.html @@ -0,0 +1,196 @@ + + + + + + +PIP: Class Members - Variables + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ + +
+ + + + diff --git a/doc/html/functions_w.html b/doc/html/functions_w.html new file mode 100644 index 00000000..0e165fc8 --- /dev/null +++ b/doc/html/functions_w.html @@ -0,0 +1,209 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- w -

+
+
+ + + + diff --git a/doc/html/functions_y.html b/doc/html/functions_y.html new file mode 100644 index 00000000..6877f2bd --- /dev/null +++ b/doc/html/functions_y.html @@ -0,0 +1,166 @@ + + + + + + +PIP: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- y -

+
+
+ + + + diff --git a/doc/html/globals.html b/doc/html/globals.html new file mode 100644 index 00000000..d91de520 --- /dev/null +++ b/doc/html/globals.html @@ -0,0 +1,405 @@ + + + + + + +PIP: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented file members with links to the documentation:
+ +

- _ -

    +
  • __PICONTAINERS_SIMPLE_TYPE__() +: pichar.h +
  • +
+ + +

- a -

+ + +

- c -

+ + +

- e -

+ + +

- f -

+ + +

- h -

+ + +

- l -

+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- q -

+ + +

- r -

+ + +

- w -

+
+
+ + + + diff --git a/doc/html/globals_defs.html b/doc/html/globals_defs.html new file mode 100644 index 00000000..eb6f2191 --- /dev/null +++ b/doc/html/globals_defs.html @@ -0,0 +1,265 @@ + + + + + + +PIP: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- a -

+ + +

- c -

+ + +

- f -

+ + +

- h -

+ + +

- l -

+ + +

- m -

+ + +

- p -

+ + +

- q -

+ + +

- w -

+
+
+ + + + diff --git a/doc/html/globals_func.html b/doc/html/globals_func.html new file mode 100644 index 00000000..0b355ca9 --- /dev/null +++ b/doc/html/globals_func.html @@ -0,0 +1,282 @@ + + + + + + +PIP: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- _ -

    +
  • __PICONTAINERS_SIMPLE_TYPE__() +: pichar.h +
  • +
+ + +

- c -

+ + +

- e -

+ + +

- l -

+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+
+
+ + + + diff --git a/doc/html/globals_vars.html b/doc/html/globals_vars.html new file mode 100644 index 00000000..b01cc9fd --- /dev/null +++ b/doc/html/globals_vars.html @@ -0,0 +1,131 @@ + + + + + + +PIP: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
+ + + + diff --git a/doc/html/graph_legend.html b/doc/html/graph_legend.html new file mode 100644 index 00000000..a6f4b3c6 --- /dev/null +++ b/doc/html/graph_legend.html @@ -0,0 +1,176 @@ + + + + + + +PIP: Graph Legend + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

1 /*! Invisible class because of truncation */
+
2 class Invisible { };
+
3 
+
4 /*! Truncated class, inheritance relation is hidden */
+
5 class Truncated : public Invisible { };
+
6 
+
7 /* Class not documented with doxygen comments */
+
8 class Undocumented { };
+
9 
+
10 /*! Class that is inherited using public inheritance */
+
11 class PublicBase : public Truncated { };
+
12 
+
13 /*! A template class */
+
14 template<class T> class Templ { };
+
15 
+
16 /*! Class that is inherited using protected inheritance */
+
17 class ProtectedBase { };
+
18 
+
19 /*! Class that is inherited using private inheritance */
+
20 class PrivateBase { };
+
21 
+
22 /*! Class that is used by the Inherited class */
+
23 class Used { };
+
24 
+
25 /*! Super class that inherits a number of other classes */
+
26 class Inherited : public PublicBase,
+
27  protected ProtectedBase,
+
28  private PrivateBase,
+
29  public Undocumented,
+
30  public Templ<int>
+
31 {
+
32  private:
+
33  Used *m_usedClass;
+
34 };
+

This will result in the following graph:

+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a grey border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
  • +
+
+
+ + + + diff --git a/doc/html/graph_legend.md5 b/doc/html/graph_legend.md5 new file mode 100644 index 00000000..cd7e542e --- /dev/null +++ b/doc/html/graph_legend.md5 @@ -0,0 +1 @@ +e96e874ee5620cee7603f05827c7643a \ No newline at end of file diff --git a/doc/html/graph_legend.svg b/doc/html/graph_legend.svg new file mode 100644 index 00000000..09d5d26a --- /dev/null +++ b/doc/html/graph_legend.svg @@ -0,0 +1,121 @@ + + + + + + +Graph Legend + + +Node9 + +Inherited + + +Node10 + + +PublicBase + + + + +Node10->Node9 + + + + +Node11 + + +Truncated + + + + +Node11->Node10 + + + + +Node13 + + +ProtectedBase + + + + +Node13->Node9 + + + + +Node14 + + +PrivateBase + + + + +Node14->Node9 + + + + +Node15 + +Undocumented + + +Node15->Node9 + + + + +Node16 + + +Templ< int > + + + + +Node16->Node9 + + + + +Node17 + + +Templ< T > + + + + +Node17->Node16 + + +< int > + + +Node18 + + +Used + + + + +Node18->Node9 + + +m_usedClass + + + diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html new file mode 100644 index 00000000..1b0dc077 --- /dev/null +++ b/doc/html/hierarchy.html @@ -0,0 +1,240 @@ + + + + + + +PIP: Class Hierarchy + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
+

Go to the graphical class hierarchy

+This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 12345]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 CPIConfig::EntryEntry of configuration file
 CPIEthernet::InterfaceNetwork interface descriptor
 CPIByteArrayByte array
 CPICharUnicode char
 CPICollectionInterface to discover element groups
 CPICoutClass for formatted output similar std::cout
 CPIEvaluatorThis class provide mathematical evaluations of custom expression
 CPIFlags< Enum >This class used as container for bit flags
 CPIFlags< Attribute >
 CPIFlags< InterfaceFlag >
 CPIFlags< PICodeInfo::TypeFlag >
 CPIFlags< PIConsole::Format >
 CPIFlags< PICoutControl >
 CPIMutexMutex
 CPIObjectThis is base class for any classes which use events -> handlers mechanism
 CPICLICommand-line arguments parser
 CPIConnectionComplex Input/Output point
 CPIProtocol
 CPIStateMachine< Type >Base class for custom state machine
 CPIThreadThread class
 CPITimerTimer
 CPISet< T >Set of any type
 CPISet< const void * >
 CPISet< PIObject * >
 CPISet< PIString >
 CPIStringString class
 CPIStringListStrings array class
 CPISystemTimeSystem time
 CPITimeMeasurerTime measurements
 CPIVariantVariant type
 CPIVector< T >Dynamic array of any type
 CPIVector< __EHData >
 CPIVector< __EHFunc >
 CPIVector< _PITimerImp_Pool * >
 CPIVector< Argument >
 CPIVector< Column >
 CPIVector< complexd >
 CPIVector< Condition >
 CPIVector< Connection >
 CPIVector< const PIObject * >
 CPIVector< Define >
 CPIVector< Delimiter >
 CPIVector< DeviceData * >
 CPIVector< double >
 CPIVector< Entity * >
 CPIVector< Entry * >
 CPIConfig::BranchBranch is a list of entries of configuration file
 CPIVector< Entry >
 CPIVector< Enum >
 CPIVector< Enumerator >
 CPIVector< Extractor * >
 CPIVector< Group >
 CPIVector< int >
 CPIVector< Macro >
 CPIVector< Member >
 CPIVector< node >
 CPIVector< PeerInfo >
 CPIVector< PICodeInfo::EnumeratorInfo >
 CPIVector< PICodeInfo::FunctionInfo >
 CPIVector< PICodeInfo::TypeInfo >
 CPIVector< PIConnection * >
 CPIVector< PIDiagnostics * >
 CPIVector< PIEthernet * >
 CPIVector< PIEthernet::Interface >
 CPIEthernet::InterfaceListArray of Interface with some features
 CPIVector< PIEvaluatorTypes::Element >
 CPIVector< PIEvaluatorTypes::Function >
 CPIVector< PIEvaluatorTypes::Instruction >
 CPIVector< PIEvaluatorTypes::Variable >
 CPIVector< PIIODevice * >
 CPIVector< PIIODevice::DeviceMode >
 CPIVector< PIMathVectord >
 CPIVector< PIObject * >
 CPIVector< PIPair< PIByteArray, ullong > >
 CPIVector< PIProtocol * >
 CPIVector< PIStateMachine::Rule >
 CPIVector< PIStateMachine::State >
 CPIVector< PIString >
 CPIVector< PIUSB::Configuration >
 CPIVector< PIUSB::Endpoint >
 CPIVector< PIUSB::Interface >
 CPIVector< PIVariant >
 CPIVector< PIVector< double > >
 CPIVector< PIVector< PeerInfo * > >
 CPIVector< PIVector< PIIODevice * > >
 CPIVector< PIVector< PIPacketExtractor * > >
 CPIVector< PIVector< Type > >
 CPIVector< RemoteClient >
 CPIVector< Sender * >
 CPIVector< SOCKET >
 CPIVector< Tab >
 CPIVector< Type >
 CPIVector< Typedef >
 CPIVector< uchar >
 CPIVector< Variable >
 CPIByteArray::RawDataHelp struct to store/restore custom blocks of data to/from PIByteArray
 CPIStateMachine< Type >::RuleRule of transition between states of machine
 CPIStateMachine< Type >::StateState of machine
 CTransferFunctionDifferential evaluations
+
+
+
+ + + + diff --git a/doc/html/hierarchy.js b/doc/html/hierarchy.js new file mode 100644 index 00000000..6a865c8d --- /dev/null +++ b/doc/html/hierarchy.js @@ -0,0 +1,120 @@ +var hierarchy = +[ + [ "PIConfig::Entry", "class_p_i_config_1_1_entry.html", null ], + [ "PIEthernet::Interface", "struct_p_i_ethernet_1_1_interface.html", null ], + [ "PIByteArray", "class_p_i_byte_array.html", null ], + [ "PIChar", "class_p_i_char.html", null ], + [ "PICollection", "class_p_i_collection.html", null ], + [ "PICout", "class_p_i_cout.html", null ], + [ "PIEvaluator", "class_p_i_evaluator.html", null ], + [ "PIFlags< Enum >", "class_p_i_flags.html", null ], + [ "PIFlags< Attribute >", "class_p_i_flags.html", null ], + [ "PIFlags< InterfaceFlag >", "class_p_i_flags.html", null ], + [ "PIFlags< PICodeInfo::TypeFlag >", "class_p_i_flags.html", null ], + [ "PIFlags< PIConsole::Format >", "class_p_i_flags.html", null ], + [ "PIFlags< PICoutControl >", "class_p_i_flags.html", null ], + [ "PIMutex", "class_p_i_mutex.html", null ], + [ "PIObject", "class_p_i_object.html", [ + [ "PICLI", "class_p_i_c_l_i.html", null ], + [ "PIConnection", "class_p_i_connection.html", null ], + [ "PIProtocol", "class_p_i_protocol.html", null ], + [ "PIStateMachine< Type >", "class_p_i_state_machine.html", null ], + [ "PIThread", "class_p_i_thread.html", [ + [ "PIConsole", "class_p_i_console.html", null ], + [ "PIIODevice", "class_p_i_i_o_device.html", [ + [ "PIBinaryLog", "class_p_i_binary_log.html", null ], + [ "PIEthernet", "class_p_i_ethernet.html", null ], + [ "PIFile", "class_p_i_file.html", [ + [ "PIConfig", "class_p_i_config.html", null ] + ] ], + [ "PIPacketExtractor", "class_p_i_packet_extractor.html", null ], + [ "PISerial", "class_p_i_serial.html", null ] + ] ], + [ "PIKbdListener", "class_p_i_kbd_listener.html", null ], + [ "PIProcess", "class_p_i_process.html", null ] + ] ], + [ "PITimer", "class_p_i_timer.html", [ + [ "PIDiagnostics", "class_p_i_diagnostics.html", null ] + ] ] + ] ], + [ "PISet< T >", "class_p_i_set.html", null ], + [ "PISet< const void * >", "class_p_i_set.html", null ], + [ "PISet< PIObject * >", "class_p_i_set.html", null ], + [ "PISet< PIString >", "class_p_i_set.html", null ], + [ "PIString", "class_p_i_string.html", null ], + [ "PIStringList", "class_p_i_string_list.html", null ], + [ "PISystemTime", "class_p_i_system_time.html", null ], + [ "PITimeMeasurer", "class_p_i_time_measurer.html", null ], + [ "PIVariant", "class_p_i_variant.html", null ], + [ "PIVector< T >", "class_p_i_vector.html", null ], + [ "PIVector< __EHData >", "class_p_i_vector.html", null ], + [ "PIVector< __EHFunc >", "class_p_i_vector.html", null ], + [ "PIVector< _PITimerImp_Pool * >", "class_p_i_vector.html", null ], + [ "PIVector< Argument >", "class_p_i_vector.html", null ], + [ "PIVector< Column >", "class_p_i_vector.html", null ], + [ "PIVector< complexd >", "class_p_i_vector.html", null ], + [ "PIVector< Condition >", "class_p_i_vector.html", null ], + [ "PIVector< Connection >", "class_p_i_vector.html", null ], + [ "PIVector< const PIObject * >", "class_p_i_vector.html", null ], + [ "PIVector< Define >", "class_p_i_vector.html", null ], + [ "PIVector< Delimiter >", "class_p_i_vector.html", null ], + [ "PIVector< DeviceData * >", "class_p_i_vector.html", null ], + [ "PIVector< double >", "class_p_i_vector.html", null ], + [ "PIVector< Entity * >", "class_p_i_vector.html", null ], + [ "PIVector< Entry * >", "class_p_i_vector.html", [ + [ "PIConfig::Branch", "class_p_i_config_1_1_branch.html", null ] + ] ], + [ "PIVector< Entry >", "class_p_i_vector.html", null ], + [ "PIVector< Enum >", "class_p_i_vector.html", null ], + [ "PIVector< Enumerator >", "class_p_i_vector.html", null ], + [ "PIVector< Extractor * >", "class_p_i_vector.html", null ], + [ "PIVector< Group >", "class_p_i_vector.html", null ], + [ "PIVector< int >", "class_p_i_vector.html", null ], + [ "PIVector< Macro >", "class_p_i_vector.html", null ], + [ "PIVector< Member >", "class_p_i_vector.html", null ], + [ "PIVector< node >", "class_p_i_vector.html", null ], + [ "PIVector< PeerInfo >", "class_p_i_vector.html", null ], + [ "PIVector< PICodeInfo::EnumeratorInfo >", "class_p_i_vector.html", null ], + [ "PIVector< PICodeInfo::FunctionInfo >", "class_p_i_vector.html", null ], + [ "PIVector< PICodeInfo::TypeInfo >", "class_p_i_vector.html", null ], + [ "PIVector< PIConnection * >", "class_p_i_vector.html", null ], + [ "PIVector< PIDiagnostics * >", "class_p_i_vector.html", null ], + [ "PIVector< PIEthernet * >", "class_p_i_vector.html", null ], + [ "PIVector< PIEthernet::Interface >", "class_p_i_vector.html", [ + [ "PIEthernet::InterfaceList", "class_p_i_ethernet_1_1_interface_list.html", null ] + ] ], + [ "PIVector< PIEvaluatorTypes::Element >", "class_p_i_vector.html", null ], + [ "PIVector< PIEvaluatorTypes::Function >", "class_p_i_vector.html", null ], + [ "PIVector< PIEvaluatorTypes::Instruction >", "class_p_i_vector.html", null ], + [ "PIVector< PIEvaluatorTypes::Variable >", "class_p_i_vector.html", null ], + [ "PIVector< PIIODevice * >", "class_p_i_vector.html", null ], + [ "PIVector< PIIODevice::DeviceMode >", "class_p_i_vector.html", null ], + [ "PIVector< PIMathVectord >", "class_p_i_vector.html", null ], + [ "PIVector< PIObject * >", "class_p_i_vector.html", null ], + [ "PIVector< PIPair< PIByteArray, ullong > >", "class_p_i_vector.html", null ], + [ "PIVector< PIProtocol * >", "class_p_i_vector.html", null ], + [ "PIVector< PIStateMachine::Rule >", "class_p_i_vector.html", null ], + [ "PIVector< PIStateMachine::State >", "class_p_i_vector.html", null ], + [ "PIVector< PIString >", "class_p_i_vector.html", null ], + [ "PIVector< PIUSB::Configuration >", "class_p_i_vector.html", null ], + [ "PIVector< PIUSB::Endpoint >", "class_p_i_vector.html", null ], + [ "PIVector< PIUSB::Interface >", "class_p_i_vector.html", null ], + [ "PIVector< PIVariant >", "class_p_i_vector.html", null ], + [ "PIVector< PIVector< double > >", "class_p_i_vector.html", null ], + [ "PIVector< PIVector< PeerInfo * > >", "class_p_i_vector.html", null ], + [ "PIVector< PIVector< PIIODevice * > >", "class_p_i_vector.html", null ], + [ "PIVector< PIVector< PIPacketExtractor * > >", "class_p_i_vector.html", null ], + [ "PIVector< PIVector< Type > >", "class_p_i_vector.html", null ], + [ "PIVector< RemoteClient >", "class_p_i_vector.html", null ], + [ "PIVector< Sender * >", "class_p_i_vector.html", null ], + [ "PIVector< SOCKET >", "class_p_i_vector.html", null ], + [ "PIVector< Tab >", "class_p_i_vector.html", null ], + [ "PIVector< Type >", "class_p_i_vector.html", null ], + [ "PIVector< Typedef >", "class_p_i_vector.html", null ], + [ "PIVector< uchar >", "class_p_i_vector.html", null ], + [ "PIVector< Variable >", "class_p_i_vector.html", null ], + [ "PIByteArray::RawData", "struct_p_i_byte_array_1_1_raw_data.html", null ], + [ "PIStateMachine< Type >::Rule", "struct_p_i_state_machine_1_1_rule.html", null ], + [ "PIStateMachine< Type >::State", "struct_p_i_state_machine_1_1_state.html", null ], + [ "TransferFunction", "struct_transfer_function.html", null ] +]; \ No newline at end of file diff --git a/doc/html/index.html b/doc/html/index.html new file mode 100644 index 00000000..ecc57d50 --- /dev/null +++ b/doc/html/index.html @@ -0,0 +1,150 @@ + + + + + + +PIP: What is PIP + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
What is PIP
+
+
+

PIP - Platform-Independent Primitives - is crossplatform library for C++ developers. It is wrap around STL and pure C++. This library can help developers write non-GUI projects much more quickly, efficiently and customizable than on pure C++. Library contains many classes, some of them are pure abstract, some classes can be used as they are, some classes should be inherited to new classes. PIP provide classes:

+
+
+ + + + diff --git a/doc/html/index.qhp b/doc/html/index.qhp new file mode 100644 index 00000000..3842f8cc --- /dev/null +++ b/doc/html/index.qhp @@ -0,0 +1,6202 @@ + + + PIP + doc + + doxygen + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tabs.css + tab_a.png + tab_b.png + tab_h.png + tab_s.png + nav_h.png + nav_f.png + bc_s.png + doxygen.png + closed.png + open.png + bdwn.png + sync_on.png + sync_off.png + ftv2blank.png + ftv2doc.png + ftv2folderclosed.png + ftv2folderopen.png + ftv2lastnode.png + ftv2link.png + ftv2mlastnode.png + ftv2mnode.png + ftv2node.png + ftv2plastnode.png + ftv2pnode.png + ftv2vertline.png + ftv2splitbar.png + doxygen.css + /search/mag_sel.png + /search/search_l.png + /search/search_m.png + /search/search_r.png + /search/close.png + search/search.css + search/search.js + picodeinfo_8h.html + picodeparser_8h.html + picontainers_8h.html + pideque_8h.html + pimap_8h.html + piset_8h.html + pistack_8h.html + pivector_8h.html + pibytearray_8h.html + pichar_8h.html + picli_8h.html + picollection_8h.html + piincludes_8h.html + piinit_8h.html + piobject_8h.html + pistatemachine_8h.html + pistring_8h.html + pitime_8h.html + pivariant_8h.html + pibinarylog_8h.html + piconfig_8h.html + piconnection_8h.html + pidiagnostics_8h.html + piethernet_8h.html + pifile_8h.html + piiodevice_8h.html + pipacketextractor_8h.html + pipeer_8h.html + piprotocol_8h.html + piserial_8h.html + piusb_8h.html + picrc_8h.html + pievaluator_8h.html + pimath_8h.html + piconsole_8h.html + pikbdlistener_8h.html + piprocess_8h.html + pisignals_8h.html + pimutex_8h.html + pithread_8h.html + pitimer_8h.html + using_basic.html + using_advanced.html + deprecated.html + class_p_i_binary_log.html + class_p_i_binary_log__inherit__graph.svg + class_p_i_binary_log-members.html + class_p_i_byte_array.html + class_p_i_byte_array-members.html + struct_p_i_byte_array_1_1_raw_data.html + struct_p_i_byte_array_1_1_raw_data-members.html + class_p_i_char.html + class_p_i_char-members.html + class_p_i_c_l_i.html + class_p_i_c_l_i__inherit__graph.svg + class_p_i_c_l_i-members.html + class_p_i_collection.html + class_p_i_collection-members.html + class_p_i_config.html + class_p_i_config__inherit__graph.svg + piconfig.png + class_p_i_config-members.html + class_p_i_config_1_1_branch.html + class_p_i_config_1_1_branch__inherit__graph.svg + class_p_i_config_1_1_branch-members.html + class_p_i_config_1_1_entry.html + class_p_i_config_1_1_entry-members.html + class_p_i_connection.html + class_p_i_connection__inherit__graph.svg + piconnection.png + piconnection_filters.png + piconnection_senders.png + piconnection_conf.png + class_p_i_connection-members.html + class_p_i_console.html + class_p_i_console__inherit__graph.svg + piconsole_layout.png + class_p_i_console-members.html + class_p_i_cout.html + class_p_i_cout-members.html + class_p_i_diagnostics.html + class_p_i_diagnostics__inherit__graph.svg + class_p_i_diagnostics-members.html + class_p_i_ethernet.html + class_p_i_ethernet__inherit__graph.svg + class_p_i_ethernet-members.html + struct_p_i_ethernet_1_1_interface.html + struct_p_i_ethernet_1_1_interface-members.html + class_p_i_ethernet_1_1_interface_list.html + class_p_i_ethernet_1_1_interface_list__inherit__graph.svg + class_p_i_ethernet_1_1_interface_list-members.html + class_p_i_evaluator.html + class_p_i_evaluator-members.html + class_p_i_file.html + class_p_i_file__inherit__graph.svg + class_p_i_file-members.html + class_p_i_flags.html + class_p_i_flags-members.html + class_p_i_i_o_device.html + class_p_i_i_o_device__inherit__graph.svg + class_p_i_i_o_device-members.html + class_p_i_kbd_listener.html + class_p_i_kbd_listener__inherit__graph.svg + class_p_i_kbd_listener-members.html + class_p_i_mutex.html + class_p_i_mutex-members.html + class_p_i_object.html + class_p_i_object__inherit__graph.svg + events_handlers.png + class_p_i_object-members.html + class_p_i_packet_extractor.html + class_p_i_packet_extractor__inherit__graph.svg + packet_detection.png + class_p_i_packet_extractor-members.html + class_p_i_process.html + class_p_i_process__inherit__graph.svg + class_p_i_process-members.html + class_p_i_protocol.html + class_p_i_protocol__inherit__graph.svg + class_p_i_protocol-members.html + class_p_i_serial.html + class_p_i_serial__inherit__graph.svg + class_p_i_serial-members.html + class_p_i_set.html + class_p_i_set-members.html + class_p_i_state_machine.html + class_p_i_state_machine__inherit__graph.svg + class_p_i_state_machine-members.html + struct_p_i_state_machine_1_1_rule.html + struct_p_i_state_machine_1_1_rule-members.html + struct_p_i_state_machine_1_1_state.html + struct_p_i_state_machine_1_1_state-members.html + class_p_i_string.html + class_p_i_string-members.html + class_p_i_string_list.html + class_p_i_string_list-members.html + class_p_i_system_time.html + class_p_i_system_time-members.html + class_p_i_thread.html + class_p_i_thread__inherit__graph.svg + class_p_i_thread-members.html + class_p_i_time_measurer.html + class_p_i_time_measurer-members.html + class_p_i_timer.html + class_p_i_timer__inherit__graph.svg + class_p_i_timer-members.html + class_p_i_variant.html + class_p_i_variant-members.html + class_p_i_vector.html + class_p_i_vector-members.html + struct_transfer_function.html + struct_transfer_function-members.html + namespace_p_i_cout_manipulators.html + graph_legend.svg + graph_legend.html + dir_3edb929655fe9d5ef5f6ec0f70ce278e.html + dir_3edb929655fe9d5ef5f6ec0f70ce278e_dep.svg + dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1.html + dir_3ef7287b8e7a9ed45eff58e9a3bb8bc1_dep.svg + dir_0b61c55142250c0cc363383afd8075a4.html + dir_0b61c55142250c0cc363383afd8075a4_dep.svg + dir_aebb8dcc11953d78e620bbef0b9e2183.html + dir_aebb8dcc11953d78e620bbef0b9e2183_dep.svg + dir_c184e51c84f2c3f0345bbc8a0d75d3e1.html + dir_c184e51c84f2c3f0345bbc8a0d75d3e1_dep.svg + dir_ae9a93452e2a84339148a16bcf2eb561.html + dir_ae9a93452e2a84339148a16bcf2eb561_dep.svg + dir_68267d1309a1af8e8297ef4c3efbcdba.html + dir_68267d1309a1af8e8297ef4c3efbcdba_dep.svg + dir_d501334aeb1b78ad67cd3c72c37b1e87.html + dir_d501334aeb1b78ad67cd3c72c37b1e87_dep.svg + dir_bfedb72b9d87795234454f6223b9ab1e.html + dir_bfedb72b9d87795234454f6223b9ab1e_dep.svg + dir_000001_000006.html + dir_000002_000006.html + dir_000002_000005.html + dir_000002_000004.html + dir_000006_000004.html + dir_000005_000004.html + dir_000004_000006.html + dir_000004_000005.html + dir_000003_000004.html + dir_000004_000003.html + dir_000007_000003.html + dir_000007_000008.html + dir_000007_000005.html + dir_000008_000004.html + dir_000005_000007.html + dir_000005_000008.html + dir_000004_000007.html + dir_000004_000008.html + index.html + pages.html + namespaces.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers.html + namespacemembers_enum.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + namespacemembers_eval.html + annotated.html + classes.html + hierarchy.html + inherits.html + inherit_graph_0.svg + inherit_graph_1.svg + inherit_graph_2.svg + inherit_graph_3.svg + inherit_graph_4.svg + inherit_graph_5.svg + inherit_graph_6.svg + inherit_graph_7.svg + inherit_graph_8.svg + inherit_graph_9.svg + inherit_graph_10.svg + inherit_graph_11.svg + inherit_graph_12.svg + inherit_graph_13.svg + inherit_graph_14.svg + inherit_graph_15.svg + inherit_graph_16.svg + inherit_graph_17.svg + inherit_graph_18.svg + inherit_graph_19.svg + inherit_graph_20.svg + inherit_graph_21.svg + inherit_graph_22.svg + inherit_graph_23.svg + inherit_graph_24.svg + inherit_graph_25.svg + inherit_graph_26.svg + inherit_graph_27.svg + inherit_graph_28.svg + inherit_graph_29.svg + inherit_graph_30.svg + inherit_graph_31.svg + inherit_graph_32.svg + inherit_graph_33.svg + inherit_graph_34.svg + inherit_graph_35.svg + inherit_graph_36.svg + inherit_graph_37.svg + inherit_graph_38.svg + inherit_graph_39.svg + inherit_graph_40.svg + inherit_graph_41.svg + inherit_graph_42.svg + inherit_graph_43.svg + inherit_graph_44.svg + inherit_graph_45.svg + inherit_graph_46.svg + inherit_graph_47.svg + inherit_graph_48.svg + inherit_graph_49.svg + inherit_graph_50.svg + inherit_graph_51.svg + inherit_graph_52.svg + inherit_graph_53.svg + inherit_graph_54.svg + inherit_graph_55.svg + inherit_graph_56.svg + inherit_graph_57.svg + inherit_graph_58.svg + inherit_graph_59.svg + inherit_graph_60.svg + inherit_graph_61.svg + inherit_graph_62.svg + inherit_graph_63.svg + inherit_graph_64.svg + inherit_graph_65.svg + inherit_graph_66.svg + inherit_graph_67.svg + inherit_graph_68.svg + inherit_graph_69.svg + inherit_graph_70.svg + inherit_graph_71.svg + inherit_graph_72.svg + inherit_graph_73.svg + inherit_graph_74.svg + inherit_graph_75.svg + inherit_graph_76.svg + inherit_graph_77.svg + inherit_graph_78.svg + inherit_graph_79.svg + inherit_graph_80.svg + inherit_graph_81.svg + inherit_graph_82.svg + inherit_graph_83.svg + inherit_graph_84.svg + inherit_graph_85.svg + inherit_graph_86.svg + inherit_graph_87.svg + inherit_graph_88.svg + inherit_graph_89.svg + inherit_graph_90.svg + functions.html + functions_b.html + functions_c.html + functions_d.html + functions_e.html + functions_f.html + functions_g.html + functions_h.html + functions_i.html + functions_j.html + functions_k.html + functions_l.html + functions_m.html + functions_n.html + functions_o.html + functions_p.html + functions_q.html + functions_r.html + functions_s.html + functions_t.html + functions_u.html + functions_v.html + functions_w.html + functions_y.html + functions_func.html + functions_func_b.html + functions_func_c.html + functions_func_d.html + functions_func_e.html + functions_func_f.html + functions_func_g.html + functions_func_h.html + functions_func_i.html + functions_func_j.html + functions_func_k.html + functions_func_l.html + functions_func_m.html + functions_func_n.html + functions_func_o.html + functions_func_p.html + functions_func_q.html + functions_func_r.html + functions_func_s.html + functions_func_t.html + functions_func_u.html + functions_func_v.html + functions_func_w.html + functions_vars.html + functions_vars.html + functions_vars.html + functions_vars.html + functions_vars.html + functions_vars.html + functions_vars.html + functions_vars.html + functions_vars.html + functions_vars.html + functions_vars.html + functions_vars.html + functions_vars.html + functions_type.html + functions_type.html + functions_enum.html + functions_enum.html + functions_enum.html + functions_enum.html + functions_enum.html + functions_enum.html + functions_enum.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_eval.html + functions_rela.html + functions_rela.html + functions_rela.html + functions_rela.html + functions_rela.html + functions_rela.html + functions_rela.html + functions_rela.html + functions_rela.html + files.html + globals.html + globals.html + globals.html + globals.html + globals.html + globals.html + globals.html + globals.html + globals.html + globals.html + globals.html + globals.html + globals.html + globals_func.html + globals_func.html + globals_func.html + globals_func.html + globals_func.html + globals_func.html + globals_func.html + globals_func.html + globals_vars.html + globals_defs.html + globals_defs.html + globals_defs.html + globals_defs.html + globals_defs.html + globals_defs.html + globals_defs.html + globals_defs.html + globals_defs.html + + + diff --git a/doc/html/inherit_graph_0.map b/doc/html/inherit_graph_0.map new file mode 100644 index 00000000..96bf26c9 --- /dev/null +++ b/doc/html/inherit_graph_0.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_0.md5 b/doc/html/inherit_graph_0.md5 new file mode 100644 index 00000000..cb4c7d2f --- /dev/null +++ b/doc/html/inherit_graph_0.md5 @@ -0,0 +1 @@ +57ff830eb1ddb53ceb3146342813ca75 \ No newline at end of file diff --git a/doc/html/inherit_graph_0.svg b/doc/html/inherit_graph_0.svg new file mode 100644 index 00000000..0fd86431 --- /dev/null +++ b/doc/html/inherit_graph_0.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIByteArray + + + + + diff --git a/doc/html/inherit_graph_1.map b/doc/html/inherit_graph_1.map new file mode 100644 index 00000000..895a7b97 --- /dev/null +++ b/doc/html/inherit_graph_1.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_1.md5 b/doc/html/inherit_graph_1.md5 new file mode 100644 index 00000000..eb2e607f --- /dev/null +++ b/doc/html/inherit_graph_1.md5 @@ -0,0 +1 @@ +2c83a509a543f3083e793db32376bd59 \ No newline at end of file diff --git a/doc/html/inherit_graph_1.svg b/doc/html/inherit_graph_1.svg new file mode 100644 index 00000000..71f78314 --- /dev/null +++ b/doc/html/inherit_graph_1.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIByteArray::RawData + + + + + diff --git a/doc/html/inherit_graph_10.map b/doc/html/inherit_graph_10.map new file mode 100644 index 00000000..b4772a3f --- /dev/null +++ b/doc/html/inherit_graph_10.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_10.md5 b/doc/html/inherit_graph_10.md5 new file mode 100644 index 00000000..7ac12a5c --- /dev/null +++ b/doc/html/inherit_graph_10.md5 @@ -0,0 +1 @@ +8c0e0e9416849f66df2cb8ca235b3b33 \ No newline at end of file diff --git a/doc/html/inherit_graph_10.svg b/doc/html/inherit_graph_10.svg new file mode 100644 index 00000000..c320fe63 --- /dev/null +++ b/doc/html/inherit_graph_10.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIFlags< InterfaceFlag > + + + + + diff --git a/doc/html/inherit_graph_11.map b/doc/html/inherit_graph_11.map new file mode 100644 index 00000000..ca3d051c --- /dev/null +++ b/doc/html/inherit_graph_11.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_11.md5 b/doc/html/inherit_graph_11.md5 new file mode 100644 index 00000000..af555a9d --- /dev/null +++ b/doc/html/inherit_graph_11.md5 @@ -0,0 +1 @@ +527cefb742f2a2ef03607dd6cd487f45 \ No newline at end of file diff --git a/doc/html/inherit_graph_11.svg b/doc/html/inherit_graph_11.svg new file mode 100644 index 00000000..0adc38bf --- /dev/null +++ b/doc/html/inherit_graph_11.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIFlags< PICodeInfo +::TypeFlag > + + + + + diff --git a/doc/html/inherit_graph_12.map b/doc/html/inherit_graph_12.map new file mode 100644 index 00000000..67ac0d6a --- /dev/null +++ b/doc/html/inherit_graph_12.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_12.md5 b/doc/html/inherit_graph_12.md5 new file mode 100644 index 00000000..1800226e --- /dev/null +++ b/doc/html/inherit_graph_12.md5 @@ -0,0 +1 @@ +f33dfda47f29f2c55b569ba876160389 \ No newline at end of file diff --git a/doc/html/inherit_graph_12.svg b/doc/html/inherit_graph_12.svg new file mode 100644 index 00000000..0d98b4a4 --- /dev/null +++ b/doc/html/inherit_graph_12.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIFlags< PIConsole +::Format > + + + + + diff --git a/doc/html/inherit_graph_13.map b/doc/html/inherit_graph_13.map new file mode 100644 index 00000000..f32790ff --- /dev/null +++ b/doc/html/inherit_graph_13.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_13.md5 b/doc/html/inherit_graph_13.md5 new file mode 100644 index 00000000..44499cef --- /dev/null +++ b/doc/html/inherit_graph_13.md5 @@ -0,0 +1 @@ +cd38e82dd9baba61e1dd7a91123b3b2b \ No newline at end of file diff --git a/doc/html/inherit_graph_13.svg b/doc/html/inherit_graph_13.svg new file mode 100644 index 00000000..3b4a9a39 --- /dev/null +++ b/doc/html/inherit_graph_13.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIFlags< PICoutControl > + + + + + diff --git a/doc/html/inherit_graph_14.map b/doc/html/inherit_graph_14.map new file mode 100644 index 00000000..c26dd216 --- /dev/null +++ b/doc/html/inherit_graph_14.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_14.md5 b/doc/html/inherit_graph_14.md5 new file mode 100644 index 00000000..9fdea49b --- /dev/null +++ b/doc/html/inherit_graph_14.md5 @@ -0,0 +1 @@ +1278b4281a75e72befaaa2cb4d55206d \ No newline at end of file diff --git a/doc/html/inherit_graph_14.svg b/doc/html/inherit_graph_14.svg new file mode 100644 index 00000000..8c18ae52 --- /dev/null +++ b/doc/html/inherit_graph_14.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIMutex + + + + + diff --git a/doc/html/inherit_graph_15.map b/doc/html/inherit_graph_15.map new file mode 100644 index 00000000..62903c7f --- /dev/null +++ b/doc/html/inherit_graph_15.map @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/doc/html/inherit_graph_15.md5 b/doc/html/inherit_graph_15.md5 new file mode 100644 index 00000000..807ddc4c --- /dev/null +++ b/doc/html/inherit_graph_15.md5 @@ -0,0 +1 @@ +037a3c56dbdb397c1d969332abde6176 \ No newline at end of file diff --git a/doc/html/inherit_graph_15.svg b/doc/html/inherit_graph_15.svg new file mode 100644 index 00000000..a71315bb --- /dev/null +++ b/doc/html/inherit_graph_15.svg @@ -0,0 +1,242 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIObject + + + + +Node2 + + +PICLI + + + + +Node1->Node2 + + + + +Node3 + + +PIConnection + + + + +Node1->Node3 + + + + +Node4 + + +PIProtocol + + + + +Node1->Node4 + + + + +Node5 + + +PIStateMachine< Type > + + + + +Node1->Node5 + + + + +Node6 + + +PIThread + + + + +Node1->Node6 + + + + +Node17 + + +PITimer + + + + +Node1->Node17 + + + + +Node7 + + +PIConsole + + + + +Node6->Node7 + + + + +Node8 + + +PIIODevice + + + + +Node6->Node8 + + + + +Node15 + + +PIKbdListener + + + + +Node6->Node15 + + + + +Node16 + + +PIProcess + + + + +Node6->Node16 + + + + +Node9 + + +PIBinaryLog + + + + +Node8->Node9 + + + + +Node10 + + +PIEthernet + + + + +Node8->Node10 + + + + +Node11 + + +PIFile + + + + +Node8->Node11 + + + + +Node13 + + +PIPacketExtractor + + + + +Node8->Node13 + + + + +Node14 + + +PISerial + + + + +Node8->Node14 + + + + +Node12 + + +PIConfig + + + + +Node11->Node12 + + + + +Node18 + + +PIDiagnostics + + + + +Node17->Node18 + + + + + diff --git a/doc/html/inherit_graph_16.map b/doc/html/inherit_graph_16.map new file mode 100644 index 00000000..92d71a75 --- /dev/null +++ b/doc/html/inherit_graph_16.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_16.md5 b/doc/html/inherit_graph_16.md5 new file mode 100644 index 00000000..9095d5aa --- /dev/null +++ b/doc/html/inherit_graph_16.md5 @@ -0,0 +1 @@ +7195474103cf1de3eb28a76869bb135c \ No newline at end of file diff --git a/doc/html/inherit_graph_16.svg b/doc/html/inherit_graph_16.svg new file mode 100644 index 00000000..b523b896 --- /dev/null +++ b/doc/html/inherit_graph_16.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PISet< const void * > + + + + + diff --git a/doc/html/inherit_graph_17.map b/doc/html/inherit_graph_17.map new file mode 100644 index 00000000..c9c170fa --- /dev/null +++ b/doc/html/inherit_graph_17.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_17.md5 b/doc/html/inherit_graph_17.md5 new file mode 100644 index 00000000..e1eaffe0 --- /dev/null +++ b/doc/html/inherit_graph_17.md5 @@ -0,0 +1 @@ +fe4ea4a2e083e8a3e79b6ac6dbd1e9c7 \ No newline at end of file diff --git a/doc/html/inherit_graph_17.svg b/doc/html/inherit_graph_17.svg new file mode 100644 index 00000000..f0a9eeb3 --- /dev/null +++ b/doc/html/inherit_graph_17.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PISet< PIObject * > + + + + + diff --git a/doc/html/inherit_graph_18.map b/doc/html/inherit_graph_18.map new file mode 100644 index 00000000..9125eb5b --- /dev/null +++ b/doc/html/inherit_graph_18.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_18.md5 b/doc/html/inherit_graph_18.md5 new file mode 100644 index 00000000..f6c56bef --- /dev/null +++ b/doc/html/inherit_graph_18.md5 @@ -0,0 +1 @@ +c5df9f2ebcab12959c4c3ba358c2dc88 \ No newline at end of file diff --git a/doc/html/inherit_graph_18.svg b/doc/html/inherit_graph_18.svg new file mode 100644 index 00000000..2b201d77 --- /dev/null +++ b/doc/html/inherit_graph_18.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PISet< PIString > + + + + + diff --git a/doc/html/inherit_graph_19.map b/doc/html/inherit_graph_19.map new file mode 100644 index 00000000..954f8f99 --- /dev/null +++ b/doc/html/inherit_graph_19.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_19.md5 b/doc/html/inherit_graph_19.md5 new file mode 100644 index 00000000..fe27e4cb --- /dev/null +++ b/doc/html/inherit_graph_19.md5 @@ -0,0 +1 @@ +d50056d80f8b73883e7d420861a95ae7 \ No newline at end of file diff --git a/doc/html/inherit_graph_19.svg b/doc/html/inherit_graph_19.svg new file mode 100644 index 00000000..869cb6d7 --- /dev/null +++ b/doc/html/inherit_graph_19.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PISet< T > + + + + + diff --git a/doc/html/inherit_graph_2.map b/doc/html/inherit_graph_2.map new file mode 100644 index 00000000..017ddc92 --- /dev/null +++ b/doc/html/inherit_graph_2.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_2.md5 b/doc/html/inherit_graph_2.md5 new file mode 100644 index 00000000..fa177a8f --- /dev/null +++ b/doc/html/inherit_graph_2.md5 @@ -0,0 +1 @@ +d1d86bf63567029164749144f1ab5d29 \ No newline at end of file diff --git a/doc/html/inherit_graph_2.svg b/doc/html/inherit_graph_2.svg new file mode 100644 index 00000000..d55c2aeb --- /dev/null +++ b/doc/html/inherit_graph_2.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIChar + + + + + diff --git a/doc/html/inherit_graph_20.map b/doc/html/inherit_graph_20.map new file mode 100644 index 00000000..d90991bc --- /dev/null +++ b/doc/html/inherit_graph_20.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_20.md5 b/doc/html/inherit_graph_20.md5 new file mode 100644 index 00000000..2ee038b2 --- /dev/null +++ b/doc/html/inherit_graph_20.md5 @@ -0,0 +1 @@ +d37e18fcc8099017fed410af1f0b3431 \ No newline at end of file diff --git a/doc/html/inherit_graph_20.svg b/doc/html/inherit_graph_20.svg new file mode 100644 index 00000000..2efacf07 --- /dev/null +++ b/doc/html/inherit_graph_20.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIStateMachine< Type + >::Rule + + + + + diff --git a/doc/html/inherit_graph_21.map b/doc/html/inherit_graph_21.map new file mode 100644 index 00000000..a659aa2c --- /dev/null +++ b/doc/html/inherit_graph_21.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_21.md5 b/doc/html/inherit_graph_21.md5 new file mode 100644 index 00000000..c5fbaf51 --- /dev/null +++ b/doc/html/inherit_graph_21.md5 @@ -0,0 +1 @@ +a27ba6a3bc85c845a22b3e3ced7ad324 \ No newline at end of file diff --git a/doc/html/inherit_graph_21.svg b/doc/html/inherit_graph_21.svg new file mode 100644 index 00000000..121a9022 --- /dev/null +++ b/doc/html/inherit_graph_21.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIStateMachine< Type + >::State + + + + + diff --git a/doc/html/inherit_graph_22.map b/doc/html/inherit_graph_22.map new file mode 100644 index 00000000..5549071c --- /dev/null +++ b/doc/html/inherit_graph_22.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_22.md5 b/doc/html/inherit_graph_22.md5 new file mode 100644 index 00000000..4f136331 --- /dev/null +++ b/doc/html/inherit_graph_22.md5 @@ -0,0 +1 @@ +798aad3d3ac39f444ed62d179c881379 \ No newline at end of file diff --git a/doc/html/inherit_graph_22.svg b/doc/html/inherit_graph_22.svg new file mode 100644 index 00000000..6ee0b913 --- /dev/null +++ b/doc/html/inherit_graph_22.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIString + + + + + diff --git a/doc/html/inherit_graph_23.map b/doc/html/inherit_graph_23.map new file mode 100644 index 00000000..890e4780 --- /dev/null +++ b/doc/html/inherit_graph_23.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_23.md5 b/doc/html/inherit_graph_23.md5 new file mode 100644 index 00000000..f41c4edf --- /dev/null +++ b/doc/html/inherit_graph_23.md5 @@ -0,0 +1 @@ +d99351d87ed2e44ac957865b18142427 \ No newline at end of file diff --git a/doc/html/inherit_graph_23.svg b/doc/html/inherit_graph_23.svg new file mode 100644 index 00000000..7ab8285b --- /dev/null +++ b/doc/html/inherit_graph_23.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIStringList + + + + + diff --git a/doc/html/inherit_graph_24.map b/doc/html/inherit_graph_24.map new file mode 100644 index 00000000..ccd9f79b --- /dev/null +++ b/doc/html/inherit_graph_24.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_24.md5 b/doc/html/inherit_graph_24.md5 new file mode 100644 index 00000000..51dcb9c1 --- /dev/null +++ b/doc/html/inherit_graph_24.md5 @@ -0,0 +1 @@ +f2b9d43f630e44ab8589acca9c7c5ede \ No newline at end of file diff --git a/doc/html/inherit_graph_24.svg b/doc/html/inherit_graph_24.svg new file mode 100644 index 00000000..690f5915 --- /dev/null +++ b/doc/html/inherit_graph_24.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PISystemTime + + + + + diff --git a/doc/html/inherit_graph_25.map b/doc/html/inherit_graph_25.map new file mode 100644 index 00000000..116f5ea2 --- /dev/null +++ b/doc/html/inherit_graph_25.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_25.md5 b/doc/html/inherit_graph_25.md5 new file mode 100644 index 00000000..4bbbb453 --- /dev/null +++ b/doc/html/inherit_graph_25.md5 @@ -0,0 +1 @@ +23ad4af016632152ceef0559489bcf2c \ No newline at end of file diff --git a/doc/html/inherit_graph_25.svg b/doc/html/inherit_graph_25.svg new file mode 100644 index 00000000..3bcabfc9 --- /dev/null +++ b/doc/html/inherit_graph_25.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PITimeMeasurer + + + + + diff --git a/doc/html/inherit_graph_26.map b/doc/html/inherit_graph_26.map new file mode 100644 index 00000000..0e630ef6 --- /dev/null +++ b/doc/html/inherit_graph_26.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_26.md5 b/doc/html/inherit_graph_26.md5 new file mode 100644 index 00000000..04dd0eb9 --- /dev/null +++ b/doc/html/inherit_graph_26.md5 @@ -0,0 +1 @@ +8483d5cfbf7fc60050a6b05d354d9184 \ No newline at end of file diff --git a/doc/html/inherit_graph_26.svg b/doc/html/inherit_graph_26.svg new file mode 100644 index 00000000..c3e8c03e --- /dev/null +++ b/doc/html/inherit_graph_26.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVariant + + + + + diff --git a/doc/html/inherit_graph_27.map b/doc/html/inherit_graph_27.map new file mode 100644 index 00000000..af23b562 --- /dev/null +++ b/doc/html/inherit_graph_27.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_27.md5 b/doc/html/inherit_graph_27.md5 new file mode 100644 index 00000000..f25d319a --- /dev/null +++ b/doc/html/inherit_graph_27.md5 @@ -0,0 +1 @@ +92dd796f18575f821fc3a6edcb5eea17 \ No newline at end of file diff --git a/doc/html/inherit_graph_27.svg b/doc/html/inherit_graph_27.svg new file mode 100644 index 00000000..848e10b6 --- /dev/null +++ b/doc/html/inherit_graph_27.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< __EHData > + + + + + diff --git a/doc/html/inherit_graph_28.map b/doc/html/inherit_graph_28.map new file mode 100644 index 00000000..bce802d6 --- /dev/null +++ b/doc/html/inherit_graph_28.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_28.md5 b/doc/html/inherit_graph_28.md5 new file mode 100644 index 00000000..84fc93c6 --- /dev/null +++ b/doc/html/inherit_graph_28.md5 @@ -0,0 +1 @@ +ad5141053efb69ef193dceac3d3601a5 \ No newline at end of file diff --git a/doc/html/inherit_graph_28.svg b/doc/html/inherit_graph_28.svg new file mode 100644 index 00000000..6ef60649 --- /dev/null +++ b/doc/html/inherit_graph_28.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< __EHFunc > + + + + + diff --git a/doc/html/inherit_graph_29.map b/doc/html/inherit_graph_29.map new file mode 100644 index 00000000..1402c461 --- /dev/null +++ b/doc/html/inherit_graph_29.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_29.md5 b/doc/html/inherit_graph_29.md5 new file mode 100644 index 00000000..c742f596 --- /dev/null +++ b/doc/html/inherit_graph_29.md5 @@ -0,0 +1 @@ +c9267012e44443c0fad183fee3446eeb \ No newline at end of file diff --git a/doc/html/inherit_graph_29.svg b/doc/html/inherit_graph_29.svg new file mode 100644 index 00000000..a32eaa07 --- /dev/null +++ b/doc/html/inherit_graph_29.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< _PITimerImp +_Pool * > + + + + + diff --git a/doc/html/inherit_graph_3.map b/doc/html/inherit_graph_3.map new file mode 100644 index 00000000..356f20fa --- /dev/null +++ b/doc/html/inherit_graph_3.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_3.md5 b/doc/html/inherit_graph_3.md5 new file mode 100644 index 00000000..74876a74 --- /dev/null +++ b/doc/html/inherit_graph_3.md5 @@ -0,0 +1 @@ +e569003fb67f1e6db4662bdf9cef3682 \ No newline at end of file diff --git a/doc/html/inherit_graph_3.svg b/doc/html/inherit_graph_3.svg new file mode 100644 index 00000000..bec16391 --- /dev/null +++ b/doc/html/inherit_graph_3.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PICollection + + + + + diff --git a/doc/html/inherit_graph_30.map b/doc/html/inherit_graph_30.map new file mode 100644 index 00000000..4907f94d --- /dev/null +++ b/doc/html/inherit_graph_30.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_30.md5 b/doc/html/inherit_graph_30.md5 new file mode 100644 index 00000000..400427dc --- /dev/null +++ b/doc/html/inherit_graph_30.md5 @@ -0,0 +1 @@ +27601fdf83bb6db5a6ea98f6ec4ea6c3 \ No newline at end of file diff --git a/doc/html/inherit_graph_30.svg b/doc/html/inherit_graph_30.svg new file mode 100644 index 00000000..cdbafd38 --- /dev/null +++ b/doc/html/inherit_graph_30.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Argument > + + + + + diff --git a/doc/html/inherit_graph_31.map b/doc/html/inherit_graph_31.map new file mode 100644 index 00000000..5ba87ba6 --- /dev/null +++ b/doc/html/inherit_graph_31.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_31.md5 b/doc/html/inherit_graph_31.md5 new file mode 100644 index 00000000..3f1ee9f5 --- /dev/null +++ b/doc/html/inherit_graph_31.md5 @@ -0,0 +1 @@ +4e5f4a37668849b97222f5a58fe604f4 \ No newline at end of file diff --git a/doc/html/inherit_graph_31.svg b/doc/html/inherit_graph_31.svg new file mode 100644 index 00000000..ca22a7e2 --- /dev/null +++ b/doc/html/inherit_graph_31.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Column > + + + + + diff --git a/doc/html/inherit_graph_32.map b/doc/html/inherit_graph_32.map new file mode 100644 index 00000000..1c72fb2a --- /dev/null +++ b/doc/html/inherit_graph_32.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_32.md5 b/doc/html/inherit_graph_32.md5 new file mode 100644 index 00000000..bd4561bf --- /dev/null +++ b/doc/html/inherit_graph_32.md5 @@ -0,0 +1 @@ +35b6716637dc5557ff0755af81c72166 \ No newline at end of file diff --git a/doc/html/inherit_graph_32.svg b/doc/html/inherit_graph_32.svg new file mode 100644 index 00000000..d9addf37 --- /dev/null +++ b/doc/html/inherit_graph_32.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< complexd > + + + + + diff --git a/doc/html/inherit_graph_33.map b/doc/html/inherit_graph_33.map new file mode 100644 index 00000000..26714723 --- /dev/null +++ b/doc/html/inherit_graph_33.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_33.md5 b/doc/html/inherit_graph_33.md5 new file mode 100644 index 00000000..b868fd42 --- /dev/null +++ b/doc/html/inherit_graph_33.md5 @@ -0,0 +1 @@ +b507ee15a025e0b43a88a7ed97415c6c \ No newline at end of file diff --git a/doc/html/inherit_graph_33.svg b/doc/html/inherit_graph_33.svg new file mode 100644 index 00000000..c2a9b810 --- /dev/null +++ b/doc/html/inherit_graph_33.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Condition > + + + + + diff --git a/doc/html/inherit_graph_34.map b/doc/html/inherit_graph_34.map new file mode 100644 index 00000000..fd9bd8f8 --- /dev/null +++ b/doc/html/inherit_graph_34.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_34.md5 b/doc/html/inherit_graph_34.md5 new file mode 100644 index 00000000..64b51588 --- /dev/null +++ b/doc/html/inherit_graph_34.md5 @@ -0,0 +1 @@ +8c54ccfe0290635e5366df20e5906aa0 \ No newline at end of file diff --git a/doc/html/inherit_graph_34.svg b/doc/html/inherit_graph_34.svg new file mode 100644 index 00000000..6b31e12c --- /dev/null +++ b/doc/html/inherit_graph_34.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Connection > + + + + + diff --git a/doc/html/inherit_graph_35.map b/doc/html/inherit_graph_35.map new file mode 100644 index 00000000..3074e687 --- /dev/null +++ b/doc/html/inherit_graph_35.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_35.md5 b/doc/html/inherit_graph_35.md5 new file mode 100644 index 00000000..f7d78de1 --- /dev/null +++ b/doc/html/inherit_graph_35.md5 @@ -0,0 +1 @@ +a3f8294986be699e66d14b237b7657a2 \ No newline at end of file diff --git a/doc/html/inherit_graph_35.svg b/doc/html/inherit_graph_35.svg new file mode 100644 index 00000000..1ae2bfad --- /dev/null +++ b/doc/html/inherit_graph_35.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< const PIObject * > + + + + + diff --git a/doc/html/inherit_graph_36.map b/doc/html/inherit_graph_36.map new file mode 100644 index 00000000..c05de523 --- /dev/null +++ b/doc/html/inherit_graph_36.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_36.md5 b/doc/html/inherit_graph_36.md5 new file mode 100644 index 00000000..b7cd2aa3 --- /dev/null +++ b/doc/html/inherit_graph_36.md5 @@ -0,0 +1 @@ +bf76c5cab26977759ff8bf45f6430d45 \ No newline at end of file diff --git a/doc/html/inherit_graph_36.svg b/doc/html/inherit_graph_36.svg new file mode 100644 index 00000000..72d31e4e --- /dev/null +++ b/doc/html/inherit_graph_36.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Define > + + + + + diff --git a/doc/html/inherit_graph_37.map b/doc/html/inherit_graph_37.map new file mode 100644 index 00000000..7ed52d59 --- /dev/null +++ b/doc/html/inherit_graph_37.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_37.md5 b/doc/html/inherit_graph_37.md5 new file mode 100644 index 00000000..cb309a69 --- /dev/null +++ b/doc/html/inherit_graph_37.md5 @@ -0,0 +1 @@ +7957c4d92460ecfd875e5559af44e668 \ No newline at end of file diff --git a/doc/html/inherit_graph_37.svg b/doc/html/inherit_graph_37.svg new file mode 100644 index 00000000..beda4c52 --- /dev/null +++ b/doc/html/inherit_graph_37.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Delimiter > + + + + + diff --git a/doc/html/inherit_graph_38.map b/doc/html/inherit_graph_38.map new file mode 100644 index 00000000..022c0073 --- /dev/null +++ b/doc/html/inherit_graph_38.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_38.md5 b/doc/html/inherit_graph_38.md5 new file mode 100644 index 00000000..bec1c454 --- /dev/null +++ b/doc/html/inherit_graph_38.md5 @@ -0,0 +1 @@ +b6f7e35945b1a66b91ea979ba6cbbda9 \ No newline at end of file diff --git a/doc/html/inherit_graph_38.svg b/doc/html/inherit_graph_38.svg new file mode 100644 index 00000000..41fbaa8d --- /dev/null +++ b/doc/html/inherit_graph_38.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< DeviceData * > + + + + + diff --git a/doc/html/inherit_graph_39.map b/doc/html/inherit_graph_39.map new file mode 100644 index 00000000..bcf091cb --- /dev/null +++ b/doc/html/inherit_graph_39.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_39.md5 b/doc/html/inherit_graph_39.md5 new file mode 100644 index 00000000..1d43517a --- /dev/null +++ b/doc/html/inherit_graph_39.md5 @@ -0,0 +1 @@ +4d0321ec927974df938b100b263b13c9 \ No newline at end of file diff --git a/doc/html/inherit_graph_39.svg b/doc/html/inherit_graph_39.svg new file mode 100644 index 00000000..128c13da --- /dev/null +++ b/doc/html/inherit_graph_39.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< double > + + + + + diff --git a/doc/html/inherit_graph_4.map b/doc/html/inherit_graph_4.map new file mode 100644 index 00000000..def59c72 --- /dev/null +++ b/doc/html/inherit_graph_4.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_4.md5 b/doc/html/inherit_graph_4.md5 new file mode 100644 index 00000000..d675a5d4 --- /dev/null +++ b/doc/html/inherit_graph_4.md5 @@ -0,0 +1 @@ +2e06246a1aed209250a05731f7d78778 \ No newline at end of file diff --git a/doc/html/inherit_graph_4.svg b/doc/html/inherit_graph_4.svg new file mode 100644 index 00000000..9c8e57fe --- /dev/null +++ b/doc/html/inherit_graph_4.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIConfig::Entry + + + + + diff --git a/doc/html/inherit_graph_40.map b/doc/html/inherit_graph_40.map new file mode 100644 index 00000000..f1577716 --- /dev/null +++ b/doc/html/inherit_graph_40.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_40.md5 b/doc/html/inherit_graph_40.md5 new file mode 100644 index 00000000..010cc6a1 --- /dev/null +++ b/doc/html/inherit_graph_40.md5 @@ -0,0 +1 @@ +378da3dc0324958a5bbbac8cd502b1c2 \ No newline at end of file diff --git a/doc/html/inherit_graph_40.svg b/doc/html/inherit_graph_40.svg new file mode 100644 index 00000000..acab0ac4 --- /dev/null +++ b/doc/html/inherit_graph_40.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Entity * > + + + + + diff --git a/doc/html/inherit_graph_41.map b/doc/html/inherit_graph_41.map new file mode 100644 index 00000000..942f458b --- /dev/null +++ b/doc/html/inherit_graph_41.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/inherit_graph_41.md5 b/doc/html/inherit_graph_41.md5 new file mode 100644 index 00000000..5cb553c1 --- /dev/null +++ b/doc/html/inherit_graph_41.md5 @@ -0,0 +1 @@ +90ff0f26dea29117466679f011bd56e2 \ No newline at end of file diff --git a/doc/html/inherit_graph_41.svg b/doc/html/inherit_graph_41.svg new file mode 100644 index 00000000..7fffbe7c --- /dev/null +++ b/doc/html/inherit_graph_41.svg @@ -0,0 +1,34 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Entry * > + + + + +Node2 + + +PIConfig::Branch + + + + +Node1->Node2 + + + + + diff --git a/doc/html/inherit_graph_42.map b/doc/html/inherit_graph_42.map new file mode 100644 index 00000000..842f06b8 --- /dev/null +++ b/doc/html/inherit_graph_42.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_42.md5 b/doc/html/inherit_graph_42.md5 new file mode 100644 index 00000000..8ec9de0e --- /dev/null +++ b/doc/html/inherit_graph_42.md5 @@ -0,0 +1 @@ +c31ba014022cec760a25a0541818573c \ No newline at end of file diff --git a/doc/html/inherit_graph_42.svg b/doc/html/inherit_graph_42.svg new file mode 100644 index 00000000..4e9e135e --- /dev/null +++ b/doc/html/inherit_graph_42.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Entry > + + + + + diff --git a/doc/html/inherit_graph_43.map b/doc/html/inherit_graph_43.map new file mode 100644 index 00000000..cba7f609 --- /dev/null +++ b/doc/html/inherit_graph_43.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_43.md5 b/doc/html/inherit_graph_43.md5 new file mode 100644 index 00000000..2bd57d96 --- /dev/null +++ b/doc/html/inherit_graph_43.md5 @@ -0,0 +1 @@ +7b8d2389459aa9c2a1fd6f2f7a2a6e5e \ No newline at end of file diff --git a/doc/html/inherit_graph_43.svg b/doc/html/inherit_graph_43.svg new file mode 100644 index 00000000..ffe630fb --- /dev/null +++ b/doc/html/inherit_graph_43.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Enum > + + + + + diff --git a/doc/html/inherit_graph_44.map b/doc/html/inherit_graph_44.map new file mode 100644 index 00000000..126d902e --- /dev/null +++ b/doc/html/inherit_graph_44.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_44.md5 b/doc/html/inherit_graph_44.md5 new file mode 100644 index 00000000..a3594c13 --- /dev/null +++ b/doc/html/inherit_graph_44.md5 @@ -0,0 +1 @@ +61a8f76db5469ec03ee2cec14d071928 \ No newline at end of file diff --git a/doc/html/inherit_graph_44.svg b/doc/html/inherit_graph_44.svg new file mode 100644 index 00000000..8ef252b4 --- /dev/null +++ b/doc/html/inherit_graph_44.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Enumerator > + + + + + diff --git a/doc/html/inherit_graph_45.map b/doc/html/inherit_graph_45.map new file mode 100644 index 00000000..2764acb0 --- /dev/null +++ b/doc/html/inherit_graph_45.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_45.md5 b/doc/html/inherit_graph_45.md5 new file mode 100644 index 00000000..55ecd292 --- /dev/null +++ b/doc/html/inherit_graph_45.md5 @@ -0,0 +1 @@ +802a6347391af83189159a2212a1ad8c \ No newline at end of file diff --git a/doc/html/inherit_graph_45.svg b/doc/html/inherit_graph_45.svg new file mode 100644 index 00000000..c865f6ef --- /dev/null +++ b/doc/html/inherit_graph_45.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Extractor * > + + + + + diff --git a/doc/html/inherit_graph_46.map b/doc/html/inherit_graph_46.map new file mode 100644 index 00000000..4ee94cab --- /dev/null +++ b/doc/html/inherit_graph_46.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_46.md5 b/doc/html/inherit_graph_46.md5 new file mode 100644 index 00000000..b752a77d --- /dev/null +++ b/doc/html/inherit_graph_46.md5 @@ -0,0 +1 @@ +a38c9fa50548e2741099d7dbb5cefa71 \ No newline at end of file diff --git a/doc/html/inherit_graph_46.svg b/doc/html/inherit_graph_46.svg new file mode 100644 index 00000000..58603aee --- /dev/null +++ b/doc/html/inherit_graph_46.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Group > + + + + + diff --git a/doc/html/inherit_graph_47.map b/doc/html/inherit_graph_47.map new file mode 100644 index 00000000..c6545519 --- /dev/null +++ b/doc/html/inherit_graph_47.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_47.md5 b/doc/html/inherit_graph_47.md5 new file mode 100644 index 00000000..ef18795b --- /dev/null +++ b/doc/html/inherit_graph_47.md5 @@ -0,0 +1 @@ +cec3dae7601d65bcffa5f3461953f03a \ No newline at end of file diff --git a/doc/html/inherit_graph_47.svg b/doc/html/inherit_graph_47.svg new file mode 100644 index 00000000..98ab1b41 --- /dev/null +++ b/doc/html/inherit_graph_47.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< int > + + + + + diff --git a/doc/html/inherit_graph_48.map b/doc/html/inherit_graph_48.map new file mode 100644 index 00000000..85828728 --- /dev/null +++ b/doc/html/inherit_graph_48.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_48.md5 b/doc/html/inherit_graph_48.md5 new file mode 100644 index 00000000..8f4406f3 --- /dev/null +++ b/doc/html/inherit_graph_48.md5 @@ -0,0 +1 @@ +51634f101ee75528eae56a9106d9c4ad \ No newline at end of file diff --git a/doc/html/inherit_graph_48.svg b/doc/html/inherit_graph_48.svg new file mode 100644 index 00000000..069878c5 --- /dev/null +++ b/doc/html/inherit_graph_48.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Macro > + + + + + diff --git a/doc/html/inherit_graph_49.map b/doc/html/inherit_graph_49.map new file mode 100644 index 00000000..4ade2b00 --- /dev/null +++ b/doc/html/inherit_graph_49.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_49.md5 b/doc/html/inherit_graph_49.md5 new file mode 100644 index 00000000..77bc2ef5 --- /dev/null +++ b/doc/html/inherit_graph_49.md5 @@ -0,0 +1 @@ +85cb71fc7bb627aeff9678809e414c71 \ No newline at end of file diff --git a/doc/html/inherit_graph_49.svg b/doc/html/inherit_graph_49.svg new file mode 100644 index 00000000..8594efd0 --- /dev/null +++ b/doc/html/inherit_graph_49.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Member > + + + + + diff --git a/doc/html/inherit_graph_5.map b/doc/html/inherit_graph_5.map new file mode 100644 index 00000000..897f816d --- /dev/null +++ b/doc/html/inherit_graph_5.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_5.md5 b/doc/html/inherit_graph_5.md5 new file mode 100644 index 00000000..08eab0a0 --- /dev/null +++ b/doc/html/inherit_graph_5.md5 @@ -0,0 +1 @@ +3adff8b82ea98b1463f4950609df8fd7 \ No newline at end of file diff --git a/doc/html/inherit_graph_5.svg b/doc/html/inherit_graph_5.svg new file mode 100644 index 00000000..63d04b61 --- /dev/null +++ b/doc/html/inherit_graph_5.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PICout + + + + + diff --git a/doc/html/inherit_graph_50.map b/doc/html/inherit_graph_50.map new file mode 100644 index 00000000..246f03ed --- /dev/null +++ b/doc/html/inherit_graph_50.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_50.md5 b/doc/html/inherit_graph_50.md5 new file mode 100644 index 00000000..32a2e4e9 --- /dev/null +++ b/doc/html/inherit_graph_50.md5 @@ -0,0 +1 @@ +6c705c14f628477de0be0383d19faf54 \ No newline at end of file diff --git a/doc/html/inherit_graph_50.svg b/doc/html/inherit_graph_50.svg new file mode 100644 index 00000000..ecd19ba3 --- /dev/null +++ b/doc/html/inherit_graph_50.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< node > + + + + + diff --git a/doc/html/inherit_graph_51.map b/doc/html/inherit_graph_51.map new file mode 100644 index 00000000..c7ead78a --- /dev/null +++ b/doc/html/inherit_graph_51.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_51.md5 b/doc/html/inherit_graph_51.md5 new file mode 100644 index 00000000..8c922b33 --- /dev/null +++ b/doc/html/inherit_graph_51.md5 @@ -0,0 +1 @@ +76f70cc6450c839938f753d98a9e75f2 \ No newline at end of file diff --git a/doc/html/inherit_graph_51.svg b/doc/html/inherit_graph_51.svg new file mode 100644 index 00000000..2a96d66d --- /dev/null +++ b/doc/html/inherit_graph_51.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PeerInfo > + + + + + diff --git a/doc/html/inherit_graph_52.map b/doc/html/inherit_graph_52.map new file mode 100644 index 00000000..05063904 --- /dev/null +++ b/doc/html/inherit_graph_52.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_52.md5 b/doc/html/inherit_graph_52.md5 new file mode 100644 index 00000000..730db10c --- /dev/null +++ b/doc/html/inherit_graph_52.md5 @@ -0,0 +1 @@ +1ebfb695299fe487b307fc3bd6322d9a \ No newline at end of file diff --git a/doc/html/inherit_graph_52.svg b/doc/html/inherit_graph_52.svg new file mode 100644 index 00000000..de330838 --- /dev/null +++ b/doc/html/inherit_graph_52.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PICodeInfo +::EnumeratorInfo > + + + + + diff --git a/doc/html/inherit_graph_53.map b/doc/html/inherit_graph_53.map new file mode 100644 index 00000000..6340091a --- /dev/null +++ b/doc/html/inherit_graph_53.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_53.md5 b/doc/html/inherit_graph_53.md5 new file mode 100644 index 00000000..d6730eb6 --- /dev/null +++ b/doc/html/inherit_graph_53.md5 @@ -0,0 +1 @@ +a6201b158ea1548c7e7fec186ea51597 \ No newline at end of file diff --git a/doc/html/inherit_graph_53.svg b/doc/html/inherit_graph_53.svg new file mode 100644 index 00000000..580b7b9e --- /dev/null +++ b/doc/html/inherit_graph_53.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PICodeInfo +::FunctionInfo > + + + + + diff --git a/doc/html/inherit_graph_54.map b/doc/html/inherit_graph_54.map new file mode 100644 index 00000000..a228d185 --- /dev/null +++ b/doc/html/inherit_graph_54.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_54.md5 b/doc/html/inherit_graph_54.md5 new file mode 100644 index 00000000..6cf469f7 --- /dev/null +++ b/doc/html/inherit_graph_54.md5 @@ -0,0 +1 @@ +14802bb3defd0d40066b8590830e4378 \ No newline at end of file diff --git a/doc/html/inherit_graph_54.svg b/doc/html/inherit_graph_54.svg new file mode 100644 index 00000000..ad01d751 --- /dev/null +++ b/doc/html/inherit_graph_54.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PICodeInfo +::TypeInfo > + + + + + diff --git a/doc/html/inherit_graph_55.map b/doc/html/inherit_graph_55.map new file mode 100644 index 00000000..aea04520 --- /dev/null +++ b/doc/html/inherit_graph_55.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_55.md5 b/doc/html/inherit_graph_55.md5 new file mode 100644 index 00000000..52bb15d8 --- /dev/null +++ b/doc/html/inherit_graph_55.md5 @@ -0,0 +1 @@ +845b26be2a6a3eda2d69c84df2147cbb \ No newline at end of file diff --git a/doc/html/inherit_graph_55.svg b/doc/html/inherit_graph_55.svg new file mode 100644 index 00000000..ba5517a9 --- /dev/null +++ b/doc/html/inherit_graph_55.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIConnection * > + + + + + diff --git a/doc/html/inherit_graph_56.map b/doc/html/inherit_graph_56.map new file mode 100644 index 00000000..ae1a0fa0 --- /dev/null +++ b/doc/html/inherit_graph_56.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_56.md5 b/doc/html/inherit_graph_56.md5 new file mode 100644 index 00000000..b30f4515 --- /dev/null +++ b/doc/html/inherit_graph_56.md5 @@ -0,0 +1 @@ +0a6c850a1fe4a010fed520bc87caeb02 \ No newline at end of file diff --git a/doc/html/inherit_graph_56.svg b/doc/html/inherit_graph_56.svg new file mode 100644 index 00000000..5da75b79 --- /dev/null +++ b/doc/html/inherit_graph_56.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIDiagnostics * > + + + + + diff --git a/doc/html/inherit_graph_57.map b/doc/html/inherit_graph_57.map new file mode 100644 index 00000000..dda1771d --- /dev/null +++ b/doc/html/inherit_graph_57.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_57.md5 b/doc/html/inherit_graph_57.md5 new file mode 100644 index 00000000..172cf7bf --- /dev/null +++ b/doc/html/inherit_graph_57.md5 @@ -0,0 +1 @@ +54806d18231aacf3c21aa3e8f840a1f1 \ No newline at end of file diff --git a/doc/html/inherit_graph_57.svg b/doc/html/inherit_graph_57.svg new file mode 100644 index 00000000..1d0a88b3 --- /dev/null +++ b/doc/html/inherit_graph_57.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIEthernet * > + + + + + diff --git a/doc/html/inherit_graph_58.map b/doc/html/inherit_graph_58.map new file mode 100644 index 00000000..f32d1b45 --- /dev/null +++ b/doc/html/inherit_graph_58.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/inherit_graph_58.md5 b/doc/html/inherit_graph_58.md5 new file mode 100644 index 00000000..c4093bf4 --- /dev/null +++ b/doc/html/inherit_graph_58.md5 @@ -0,0 +1 @@ +46f51a8b072d1b5be4198b980003289e \ No newline at end of file diff --git a/doc/html/inherit_graph_58.svg b/doc/html/inherit_graph_58.svg new file mode 100644 index 00000000..e1674fd5 --- /dev/null +++ b/doc/html/inherit_graph_58.svg @@ -0,0 +1,35 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIEthernet +::Interface > + + + + +Node2 + + +PIEthernet::InterfaceList + + + + +Node1->Node2 + + + + + diff --git a/doc/html/inherit_graph_59.map b/doc/html/inherit_graph_59.map new file mode 100644 index 00000000..38b53f9d --- /dev/null +++ b/doc/html/inherit_graph_59.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_59.md5 b/doc/html/inherit_graph_59.md5 new file mode 100644 index 00000000..88e6ae90 --- /dev/null +++ b/doc/html/inherit_graph_59.md5 @@ -0,0 +1 @@ +edc540fc90cbecbb72fe6d146611a2f4 \ No newline at end of file diff --git a/doc/html/inherit_graph_59.svg b/doc/html/inherit_graph_59.svg new file mode 100644 index 00000000..4a7f62d7 --- /dev/null +++ b/doc/html/inherit_graph_59.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIEvaluatorTypes +::Element > + + + + + diff --git a/doc/html/inherit_graph_6.map b/doc/html/inherit_graph_6.map new file mode 100644 index 00000000..71b5825f --- /dev/null +++ b/doc/html/inherit_graph_6.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_6.md5 b/doc/html/inherit_graph_6.md5 new file mode 100644 index 00000000..441889cf --- /dev/null +++ b/doc/html/inherit_graph_6.md5 @@ -0,0 +1 @@ +3cbd2d31444cf69f81dc8969a6372700 \ No newline at end of file diff --git a/doc/html/inherit_graph_6.svg b/doc/html/inherit_graph_6.svg new file mode 100644 index 00000000..c89381ed --- /dev/null +++ b/doc/html/inherit_graph_6.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIEthernet::Interface + + + + + diff --git a/doc/html/inherit_graph_60.map b/doc/html/inherit_graph_60.map new file mode 100644 index 00000000..f1ef9bd4 --- /dev/null +++ b/doc/html/inherit_graph_60.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_60.md5 b/doc/html/inherit_graph_60.md5 new file mode 100644 index 00000000..b609cfa2 --- /dev/null +++ b/doc/html/inherit_graph_60.md5 @@ -0,0 +1 @@ +008c3b6bb2d7a5dc24f0418e53005f8b \ No newline at end of file diff --git a/doc/html/inherit_graph_60.svg b/doc/html/inherit_graph_60.svg new file mode 100644 index 00000000..a8efefa9 --- /dev/null +++ b/doc/html/inherit_graph_60.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIEvaluatorTypes +::Function > + + + + + diff --git a/doc/html/inherit_graph_61.map b/doc/html/inherit_graph_61.map new file mode 100644 index 00000000..08b88395 --- /dev/null +++ b/doc/html/inherit_graph_61.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_61.md5 b/doc/html/inherit_graph_61.md5 new file mode 100644 index 00000000..fb769020 --- /dev/null +++ b/doc/html/inherit_graph_61.md5 @@ -0,0 +1 @@ +981a44dc7391133c38c8ed51a4360298 \ No newline at end of file diff --git a/doc/html/inherit_graph_61.svg b/doc/html/inherit_graph_61.svg new file mode 100644 index 00000000..b946af04 --- /dev/null +++ b/doc/html/inherit_graph_61.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIEvaluatorTypes +::Instruction > + + + + + diff --git a/doc/html/inherit_graph_62.map b/doc/html/inherit_graph_62.map new file mode 100644 index 00000000..f317d7a7 --- /dev/null +++ b/doc/html/inherit_graph_62.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_62.md5 b/doc/html/inherit_graph_62.md5 new file mode 100644 index 00000000..6bd58293 --- /dev/null +++ b/doc/html/inherit_graph_62.md5 @@ -0,0 +1 @@ +690a903dfa5fc35c7cea1d5ae001b21d \ No newline at end of file diff --git a/doc/html/inherit_graph_62.svg b/doc/html/inherit_graph_62.svg new file mode 100644 index 00000000..120e858a --- /dev/null +++ b/doc/html/inherit_graph_62.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIEvaluatorTypes +::Variable > + + + + + diff --git a/doc/html/inherit_graph_63.map b/doc/html/inherit_graph_63.map new file mode 100644 index 00000000..913b4d1b --- /dev/null +++ b/doc/html/inherit_graph_63.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_63.md5 b/doc/html/inherit_graph_63.md5 new file mode 100644 index 00000000..6036aca4 --- /dev/null +++ b/doc/html/inherit_graph_63.md5 @@ -0,0 +1 @@ +5d3b2243a6553325d918a43974841d4c \ No newline at end of file diff --git a/doc/html/inherit_graph_63.svg b/doc/html/inherit_graph_63.svg new file mode 100644 index 00000000..5bbe1704 --- /dev/null +++ b/doc/html/inherit_graph_63.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIIODevice * > + + + + + diff --git a/doc/html/inherit_graph_64.map b/doc/html/inherit_graph_64.map new file mode 100644 index 00000000..1ddde373 --- /dev/null +++ b/doc/html/inherit_graph_64.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_64.md5 b/doc/html/inherit_graph_64.md5 new file mode 100644 index 00000000..0f1cda10 --- /dev/null +++ b/doc/html/inherit_graph_64.md5 @@ -0,0 +1 @@ +6f9a39f1dd22bbb24641e98473e177d5 \ No newline at end of file diff --git a/doc/html/inherit_graph_64.svg b/doc/html/inherit_graph_64.svg new file mode 100644 index 00000000..dd497a6e --- /dev/null +++ b/doc/html/inherit_graph_64.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIIODevice +::DeviceMode > + + + + + diff --git a/doc/html/inherit_graph_65.map b/doc/html/inherit_graph_65.map new file mode 100644 index 00000000..d587ff79 --- /dev/null +++ b/doc/html/inherit_graph_65.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_65.md5 b/doc/html/inherit_graph_65.md5 new file mode 100644 index 00000000..2c498da3 --- /dev/null +++ b/doc/html/inherit_graph_65.md5 @@ -0,0 +1 @@ +8319a8cbc6db0802281d0116c8b42af4 \ No newline at end of file diff --git a/doc/html/inherit_graph_65.svg b/doc/html/inherit_graph_65.svg new file mode 100644 index 00000000..7917a8fc --- /dev/null +++ b/doc/html/inherit_graph_65.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIMathVectord > + + + + + diff --git a/doc/html/inherit_graph_66.map b/doc/html/inherit_graph_66.map new file mode 100644 index 00000000..6af6261f --- /dev/null +++ b/doc/html/inherit_graph_66.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_66.md5 b/doc/html/inherit_graph_66.md5 new file mode 100644 index 00000000..63040175 --- /dev/null +++ b/doc/html/inherit_graph_66.md5 @@ -0,0 +1 @@ +3f909d55cb4db7b044c43deb28a8314f \ No newline at end of file diff --git a/doc/html/inherit_graph_66.svg b/doc/html/inherit_graph_66.svg new file mode 100644 index 00000000..4d8e8f1d --- /dev/null +++ b/doc/html/inherit_graph_66.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIObject * > + + + + + diff --git a/doc/html/inherit_graph_67.map b/doc/html/inherit_graph_67.map new file mode 100644 index 00000000..795d111f --- /dev/null +++ b/doc/html/inherit_graph_67.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_67.md5 b/doc/html/inherit_graph_67.md5 new file mode 100644 index 00000000..d4493a5b --- /dev/null +++ b/doc/html/inherit_graph_67.md5 @@ -0,0 +1 @@ +16c037202ba42bf7deca7c3e0a6af005 \ No newline at end of file diff --git a/doc/html/inherit_graph_67.svg b/doc/html/inherit_graph_67.svg new file mode 100644 index 00000000..a1674f6d --- /dev/null +++ b/doc/html/inherit_graph_67.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIPair< PIByte +Array, ullong > > + + + + + diff --git a/doc/html/inherit_graph_68.map b/doc/html/inherit_graph_68.map new file mode 100644 index 00000000..35f7caaa --- /dev/null +++ b/doc/html/inherit_graph_68.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_68.md5 b/doc/html/inherit_graph_68.md5 new file mode 100644 index 00000000..8456f77d --- /dev/null +++ b/doc/html/inherit_graph_68.md5 @@ -0,0 +1 @@ +91a56056cec7bc83be1d925d475fc29e \ No newline at end of file diff --git a/doc/html/inherit_graph_68.svg b/doc/html/inherit_graph_68.svg new file mode 100644 index 00000000..28c2ca59 --- /dev/null +++ b/doc/html/inherit_graph_68.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIProtocol * > + + + + + diff --git a/doc/html/inherit_graph_69.map b/doc/html/inherit_graph_69.map new file mode 100644 index 00000000..d9f920a0 --- /dev/null +++ b/doc/html/inherit_graph_69.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_69.md5 b/doc/html/inherit_graph_69.md5 new file mode 100644 index 00000000..e9230ada --- /dev/null +++ b/doc/html/inherit_graph_69.md5 @@ -0,0 +1 @@ +3fa7c0e633e9de9955785c333859ea07 \ No newline at end of file diff --git a/doc/html/inherit_graph_69.svg b/doc/html/inherit_graph_69.svg new file mode 100644 index 00000000..57f13ce2 --- /dev/null +++ b/doc/html/inherit_graph_69.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIStateMachine +::Rule > + + + + + diff --git a/doc/html/inherit_graph_7.map b/doc/html/inherit_graph_7.map new file mode 100644 index 00000000..c2eb704c --- /dev/null +++ b/doc/html/inherit_graph_7.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_7.md5 b/doc/html/inherit_graph_7.md5 new file mode 100644 index 00000000..ae78527b --- /dev/null +++ b/doc/html/inherit_graph_7.md5 @@ -0,0 +1 @@ +197985ed7d63011a36be70ef7ccb638e \ No newline at end of file diff --git a/doc/html/inherit_graph_7.svg b/doc/html/inherit_graph_7.svg new file mode 100644 index 00000000..b00adc27 --- /dev/null +++ b/doc/html/inherit_graph_7.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIEvaluator + + + + + diff --git a/doc/html/inherit_graph_70.map b/doc/html/inherit_graph_70.map new file mode 100644 index 00000000..e728c149 --- /dev/null +++ b/doc/html/inherit_graph_70.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_70.md5 b/doc/html/inherit_graph_70.md5 new file mode 100644 index 00000000..9e6e9bfd --- /dev/null +++ b/doc/html/inherit_graph_70.md5 @@ -0,0 +1 @@ +f503a6eae12245f8dd27aa3af74f6020 \ No newline at end of file diff --git a/doc/html/inherit_graph_70.svg b/doc/html/inherit_graph_70.svg new file mode 100644 index 00000000..bb1977fc --- /dev/null +++ b/doc/html/inherit_graph_70.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIStateMachine +::State > + + + + + diff --git a/doc/html/inherit_graph_71.map b/doc/html/inherit_graph_71.map new file mode 100644 index 00000000..762fd636 --- /dev/null +++ b/doc/html/inherit_graph_71.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_71.md5 b/doc/html/inherit_graph_71.md5 new file mode 100644 index 00000000..c290112f --- /dev/null +++ b/doc/html/inherit_graph_71.md5 @@ -0,0 +1 @@ +693e9d4a2527af2fdd57bf96fcba9adb \ No newline at end of file diff --git a/doc/html/inherit_graph_71.svg b/doc/html/inherit_graph_71.svg new file mode 100644 index 00000000..3455fee4 --- /dev/null +++ b/doc/html/inherit_graph_71.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIString > + + + + + diff --git a/doc/html/inherit_graph_72.map b/doc/html/inherit_graph_72.map new file mode 100644 index 00000000..c5ac8437 --- /dev/null +++ b/doc/html/inherit_graph_72.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_72.md5 b/doc/html/inherit_graph_72.md5 new file mode 100644 index 00000000..2a828841 --- /dev/null +++ b/doc/html/inherit_graph_72.md5 @@ -0,0 +1 @@ +4a4a43617a15687a7e950d5456a693d9 \ No newline at end of file diff --git a/doc/html/inherit_graph_72.svg b/doc/html/inherit_graph_72.svg new file mode 100644 index 00000000..62e51fe7 --- /dev/null +++ b/doc/html/inherit_graph_72.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIUSB::Configuration > + + + + + diff --git a/doc/html/inherit_graph_73.map b/doc/html/inherit_graph_73.map new file mode 100644 index 00000000..43151f84 --- /dev/null +++ b/doc/html/inherit_graph_73.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_73.md5 b/doc/html/inherit_graph_73.md5 new file mode 100644 index 00000000..75f2a02d --- /dev/null +++ b/doc/html/inherit_graph_73.md5 @@ -0,0 +1 @@ +ef140149307b6d7dbe1b1c2da6e575ff \ No newline at end of file diff --git a/doc/html/inherit_graph_73.svg b/doc/html/inherit_graph_73.svg new file mode 100644 index 00000000..0a2a8b1f --- /dev/null +++ b/doc/html/inherit_graph_73.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIUSB::Endpoint > + + + + + diff --git a/doc/html/inherit_graph_74.map b/doc/html/inherit_graph_74.map new file mode 100644 index 00000000..6ed1c2fa --- /dev/null +++ b/doc/html/inherit_graph_74.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_74.md5 b/doc/html/inherit_graph_74.md5 new file mode 100644 index 00000000..9bf14c9c --- /dev/null +++ b/doc/html/inherit_graph_74.md5 @@ -0,0 +1 @@ +096651eccde45028edf76076b73fa6d2 \ No newline at end of file diff --git a/doc/html/inherit_graph_74.svg b/doc/html/inherit_graph_74.svg new file mode 100644 index 00000000..e48fb5d0 --- /dev/null +++ b/doc/html/inherit_graph_74.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIUSB::Interface > + + + + + diff --git a/doc/html/inherit_graph_75.map b/doc/html/inherit_graph_75.map new file mode 100644 index 00000000..9485829c --- /dev/null +++ b/doc/html/inherit_graph_75.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_75.md5 b/doc/html/inherit_graph_75.md5 new file mode 100644 index 00000000..46f401e0 --- /dev/null +++ b/doc/html/inherit_graph_75.md5 @@ -0,0 +1 @@ +8bf4b258cf3b096e5f909c82a89777f7 \ No newline at end of file diff --git a/doc/html/inherit_graph_75.svg b/doc/html/inherit_graph_75.svg new file mode 100644 index 00000000..4c86e76b --- /dev/null +++ b/doc/html/inherit_graph_75.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIVariant > + + + + + diff --git a/doc/html/inherit_graph_76.map b/doc/html/inherit_graph_76.map new file mode 100644 index 00000000..0ac66285 --- /dev/null +++ b/doc/html/inherit_graph_76.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_76.md5 b/doc/html/inherit_graph_76.md5 new file mode 100644 index 00000000..f5893574 --- /dev/null +++ b/doc/html/inherit_graph_76.md5 @@ -0,0 +1 @@ +9a6e7f5f8cfcb1b27fcc13d3ed06523a \ No newline at end of file diff --git a/doc/html/inherit_graph_76.svg b/doc/html/inherit_graph_76.svg new file mode 100644 index 00000000..a16ed25b --- /dev/null +++ b/doc/html/inherit_graph_76.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIVector +< double > > + + + + + diff --git a/doc/html/inherit_graph_77.map b/doc/html/inherit_graph_77.map new file mode 100644 index 00000000..bb1f0c07 --- /dev/null +++ b/doc/html/inherit_graph_77.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_77.md5 b/doc/html/inherit_graph_77.md5 new file mode 100644 index 00000000..beaf7c2c --- /dev/null +++ b/doc/html/inherit_graph_77.md5 @@ -0,0 +1 @@ +299796daae6f1fdc9700863a843e30af \ No newline at end of file diff --git a/doc/html/inherit_graph_77.svg b/doc/html/inherit_graph_77.svg new file mode 100644 index 00000000..496e0125 --- /dev/null +++ b/doc/html/inherit_graph_77.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIVector +< PeerInfo * > > + + + + + diff --git a/doc/html/inherit_graph_78.map b/doc/html/inherit_graph_78.map new file mode 100644 index 00000000..94553658 --- /dev/null +++ b/doc/html/inherit_graph_78.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_78.md5 b/doc/html/inherit_graph_78.md5 new file mode 100644 index 00000000..48da43a1 --- /dev/null +++ b/doc/html/inherit_graph_78.md5 @@ -0,0 +1 @@ +09510d30d87bc5d00e2e82004aebbd65 \ No newline at end of file diff --git a/doc/html/inherit_graph_78.svg b/doc/html/inherit_graph_78.svg new file mode 100644 index 00000000..06b2d248 --- /dev/null +++ b/doc/html/inherit_graph_78.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIVector +< PIIODevice * > > + + + + + diff --git a/doc/html/inherit_graph_79.map b/doc/html/inherit_graph_79.map new file mode 100644 index 00000000..1153bb9c --- /dev/null +++ b/doc/html/inherit_graph_79.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_79.md5 b/doc/html/inherit_graph_79.md5 new file mode 100644 index 00000000..d47b7429 --- /dev/null +++ b/doc/html/inherit_graph_79.md5 @@ -0,0 +1 @@ +e2b46fd51c0bed48d7295d1e0b51425f \ No newline at end of file diff --git a/doc/html/inherit_graph_79.svg b/doc/html/inherit_graph_79.svg new file mode 100644 index 00000000..55cb3c43 --- /dev/null +++ b/doc/html/inherit_graph_79.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIVector +< PIPacketExtractor * > > + + + + + diff --git a/doc/html/inherit_graph_8.map b/doc/html/inherit_graph_8.map new file mode 100644 index 00000000..f79d11f4 --- /dev/null +++ b/doc/html/inherit_graph_8.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_8.md5 b/doc/html/inherit_graph_8.md5 new file mode 100644 index 00000000..ffec3082 --- /dev/null +++ b/doc/html/inherit_graph_8.md5 @@ -0,0 +1 @@ +c0535e6bcc26b794c3235346a915f26e \ No newline at end of file diff --git a/doc/html/inherit_graph_8.svg b/doc/html/inherit_graph_8.svg new file mode 100644 index 00000000..c4f0850e --- /dev/null +++ b/doc/html/inherit_graph_8.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIFlags< Attribute > + + + + + diff --git a/doc/html/inherit_graph_80.map b/doc/html/inherit_graph_80.map new file mode 100644 index 00000000..36281e57 --- /dev/null +++ b/doc/html/inherit_graph_80.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_80.md5 b/doc/html/inherit_graph_80.md5 new file mode 100644 index 00000000..5c13d62d --- /dev/null +++ b/doc/html/inherit_graph_80.md5 @@ -0,0 +1 @@ +bcd83deb2b418a5fb0db5ed61c20d471 \ No newline at end of file diff --git a/doc/html/inherit_graph_80.svg b/doc/html/inherit_graph_80.svg new file mode 100644 index 00000000..676bcf65 --- /dev/null +++ b/doc/html/inherit_graph_80.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< PIVector +< Type > > + + + + + diff --git a/doc/html/inherit_graph_81.map b/doc/html/inherit_graph_81.map new file mode 100644 index 00000000..7fa13114 --- /dev/null +++ b/doc/html/inherit_graph_81.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_81.md5 b/doc/html/inherit_graph_81.md5 new file mode 100644 index 00000000..e2f06839 --- /dev/null +++ b/doc/html/inherit_graph_81.md5 @@ -0,0 +1 @@ +9ef4452ab053a4e3415eb13aa807c123 \ No newline at end of file diff --git a/doc/html/inherit_graph_81.svg b/doc/html/inherit_graph_81.svg new file mode 100644 index 00000000..b9db9da3 --- /dev/null +++ b/doc/html/inherit_graph_81.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< RemoteClient > + + + + + diff --git a/doc/html/inherit_graph_82.map b/doc/html/inherit_graph_82.map new file mode 100644 index 00000000..0cd87af3 --- /dev/null +++ b/doc/html/inherit_graph_82.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_82.md5 b/doc/html/inherit_graph_82.md5 new file mode 100644 index 00000000..a37a8e9a --- /dev/null +++ b/doc/html/inherit_graph_82.md5 @@ -0,0 +1 @@ +dbd523e9958d799740a7a6e2e921bc3f \ No newline at end of file diff --git a/doc/html/inherit_graph_82.svg b/doc/html/inherit_graph_82.svg new file mode 100644 index 00000000..2b3daf09 --- /dev/null +++ b/doc/html/inherit_graph_82.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Sender * > + + + + + diff --git a/doc/html/inherit_graph_83.map b/doc/html/inherit_graph_83.map new file mode 100644 index 00000000..a993b4e4 --- /dev/null +++ b/doc/html/inherit_graph_83.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_83.md5 b/doc/html/inherit_graph_83.md5 new file mode 100644 index 00000000..f4e8236f --- /dev/null +++ b/doc/html/inherit_graph_83.md5 @@ -0,0 +1 @@ +3ba7babd31f7a69db5e89c2f60b27961 \ No newline at end of file diff --git a/doc/html/inherit_graph_83.svg b/doc/html/inherit_graph_83.svg new file mode 100644 index 00000000..5556f3e0 --- /dev/null +++ b/doc/html/inherit_graph_83.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< SOCKET > + + + + + diff --git a/doc/html/inherit_graph_84.map b/doc/html/inherit_graph_84.map new file mode 100644 index 00000000..ce97bb32 --- /dev/null +++ b/doc/html/inherit_graph_84.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_84.md5 b/doc/html/inherit_graph_84.md5 new file mode 100644 index 00000000..c8a59091 --- /dev/null +++ b/doc/html/inherit_graph_84.md5 @@ -0,0 +1 @@ +d2510cf9d12b18605b075bfab3269ec2 \ No newline at end of file diff --git a/doc/html/inherit_graph_84.svg b/doc/html/inherit_graph_84.svg new file mode 100644 index 00000000..6f4793d5 --- /dev/null +++ b/doc/html/inherit_graph_84.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< T > + + + + + diff --git a/doc/html/inherit_graph_85.map b/doc/html/inherit_graph_85.map new file mode 100644 index 00000000..2dc98648 --- /dev/null +++ b/doc/html/inherit_graph_85.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_85.md5 b/doc/html/inherit_graph_85.md5 new file mode 100644 index 00000000..9c983674 --- /dev/null +++ b/doc/html/inherit_graph_85.md5 @@ -0,0 +1 @@ +c0e107eb4389d57f00bb0db99aeb5a16 \ No newline at end of file diff --git a/doc/html/inherit_graph_85.svg b/doc/html/inherit_graph_85.svg new file mode 100644 index 00000000..ba4de27e --- /dev/null +++ b/doc/html/inherit_graph_85.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Tab > + + + + + diff --git a/doc/html/inherit_graph_86.map b/doc/html/inherit_graph_86.map new file mode 100644 index 00000000..351723c7 --- /dev/null +++ b/doc/html/inherit_graph_86.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_86.md5 b/doc/html/inherit_graph_86.md5 new file mode 100644 index 00000000..6a836b8d --- /dev/null +++ b/doc/html/inherit_graph_86.md5 @@ -0,0 +1 @@ +27494d6c06607ec98be669308c467d79 \ No newline at end of file diff --git a/doc/html/inherit_graph_86.svg b/doc/html/inherit_graph_86.svg new file mode 100644 index 00000000..feeaddca --- /dev/null +++ b/doc/html/inherit_graph_86.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Type > + + + + + diff --git a/doc/html/inherit_graph_87.map b/doc/html/inherit_graph_87.map new file mode 100644 index 00000000..93464ba1 --- /dev/null +++ b/doc/html/inherit_graph_87.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_87.md5 b/doc/html/inherit_graph_87.md5 new file mode 100644 index 00000000..a84eef79 --- /dev/null +++ b/doc/html/inherit_graph_87.md5 @@ -0,0 +1 @@ +1cf32746d7a38ccd4b934ba5c9b82f1d \ No newline at end of file diff --git a/doc/html/inherit_graph_87.svg b/doc/html/inherit_graph_87.svg new file mode 100644 index 00000000..4c84e359 --- /dev/null +++ b/doc/html/inherit_graph_87.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Typedef > + + + + + diff --git a/doc/html/inherit_graph_88.map b/doc/html/inherit_graph_88.map new file mode 100644 index 00000000..e288cb74 --- /dev/null +++ b/doc/html/inherit_graph_88.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_88.md5 b/doc/html/inherit_graph_88.md5 new file mode 100644 index 00000000..ff6d1d8f --- /dev/null +++ b/doc/html/inherit_graph_88.md5 @@ -0,0 +1 @@ +7ea6ca17f235721f6e649a4c752b6cd3 \ No newline at end of file diff --git a/doc/html/inherit_graph_88.svg b/doc/html/inherit_graph_88.svg new file mode 100644 index 00000000..b03c3931 --- /dev/null +++ b/doc/html/inherit_graph_88.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< uchar > + + + + + diff --git a/doc/html/inherit_graph_89.map b/doc/html/inherit_graph_89.map new file mode 100644 index 00000000..d30fe9e2 --- /dev/null +++ b/doc/html/inherit_graph_89.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_89.md5 b/doc/html/inherit_graph_89.md5 new file mode 100644 index 00000000..f69c9eef --- /dev/null +++ b/doc/html/inherit_graph_89.md5 @@ -0,0 +1 @@ +dac102efd32e036f5329964323bc5c1e \ No newline at end of file diff --git a/doc/html/inherit_graph_89.svg b/doc/html/inherit_graph_89.svg new file mode 100644 index 00000000..bf5bc88f --- /dev/null +++ b/doc/html/inherit_graph_89.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIVector< Variable > + + + + + diff --git a/doc/html/inherit_graph_9.map b/doc/html/inherit_graph_9.map new file mode 100644 index 00000000..c0c6fd8a --- /dev/null +++ b/doc/html/inherit_graph_9.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_9.md5 b/doc/html/inherit_graph_9.md5 new file mode 100644 index 00000000..05caf5d4 --- /dev/null +++ b/doc/html/inherit_graph_9.md5 @@ -0,0 +1 @@ +ca151dc12777026b4bf62fbf8ef24919 \ No newline at end of file diff --git a/doc/html/inherit_graph_9.svg b/doc/html/inherit_graph_9.svg new file mode 100644 index 00000000..083aa2d1 --- /dev/null +++ b/doc/html/inherit_graph_9.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +PIFlags< Enum > + + + + + diff --git a/doc/html/inherit_graph_90.map b/doc/html/inherit_graph_90.map new file mode 100644 index 00000000..22a3238e --- /dev/null +++ b/doc/html/inherit_graph_90.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/inherit_graph_90.md5 b/doc/html/inherit_graph_90.md5 new file mode 100644 index 00000000..2a570b68 --- /dev/null +++ b/doc/html/inherit_graph_90.md5 @@ -0,0 +1 @@ +fbbcc884973d52b42cb54b15c60a521c \ No newline at end of file diff --git a/doc/html/inherit_graph_90.svg b/doc/html/inherit_graph_90.svg new file mode 100644 index 00000000..c232579d --- /dev/null +++ b/doc/html/inherit_graph_90.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node1 + + +TransferFunction + + + + + diff --git a/doc/html/inherits.html b/doc/html/inherits.html new file mode 100644 index 00000000..da1fe08f --- /dev/null +++ b/doc/html/inherits.html @@ -0,0 +1,310 @@ + + + + + + +PIP: Class Hierarchy + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
Class Hierarchy
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + diff --git a/doc/html/jquery.js b/doc/html/jquery.js new file mode 100644 index 00000000..516483e4 --- /dev/null +++ b/doc/html/jquery.js @@ -0,0 +1,72 @@ +/* + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType; +if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/* + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1 +},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av); +ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length; +if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b +})}})(window); +/* + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/* + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/* + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null; +p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/* + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' + + +
+ +
+
PICoutManipulators Namespace Reference
+
+
+ +

Namespace contains enums controlled PICout. +More...

+
+ + + + + + + + + + + + + +

+Enumerations

enum  PICoutSpecialChar {
+  Null, +NewLine, +Tab, +Esc, +
+  Quote +
+ }
 Enum contains special characters. More...
 
enum  PICoutAction {
+  Flush, +Backspace, +ShowCursor, +HideCursor, +
+  ClearScreen, +SaveContol, +RestoreControl +
+ }
 Enum contains immediate action. More...
 
enum  PICoutControl {
+  AddNone = 0x0, +AddSpaces = 0x1, +AddNewLine = 0x2, +AddQuotes = 0x4, +
+  AddAll = 0xFFFFFFFF +
+ }
 Enum contains control of PICout. More...
 
enum  PICoutFormat {
+  Bin = 0x01, +Oct = 0x02, +Dec = 0x04, +Hex = 0x08, +
+  Bold = 0x10 +, Underline = 0x80, +Blink = 0x100, +Black = 0x400, +
+  Red = 0x800, +Green = 0x1000, +Blue = 0x2000, +Yellow = 0x4000, +
+  Magenta = 0x8000, +Cyan = 0x10000, +White = 0x20000, +BackBlack = 0x40000, +
+  BackRed = 0x80000, +BackGreen = 0x100000, +BackBlue = 0x200000, +BackYellow = 0x400000, +
+  BackMagenta = 0x800000, +BackCyan = 0x1000000, +BackWhite = 0x2000000, +Default = 0x4000000 +
+ }
 Enum contains output format. More...
 
+

Detailed Description

+

Namespace contains enums controlled PICout.

+

Enumeration Type Documentation

+ +
+
+ +

Enum contains special characters.

+ + + + + + +
Enumerator
Null  +

Null-character, '\0'

+
NewLine  +

New line character, '\n'

+
Tab  +

Tab character, '\t'

+
Esc  +

Escape character, '\e'

+
Quote  +

Quote character, '"'

+
+ +
+
+ +
+
+ +

Enum contains immediate action.

+ + + + + + + + +
Enumerator
Flush  +

Flush the output

+
Backspace  +

Remove last symbol

+
ShowCursor  +

Show cursor

+
HideCursor  +

Hide cursor

+
ClearScreen  +

Clear the screen

+
SaveContol  +

Save control flags, equivalent to saveControl()

+
RestoreControl  +

Restore control flags, equivalent to restoreControl()

+
+ +
+
+ +
+
+ +

Enum contains control of PICout.

+ + + + + + +
Enumerator
AddNone  +

No controls

+
AddSpaces  +

Spaces will be appear after each output

+
AddNewLine  +

New line will be appear after all output

+
AddQuotes  +

Each string will be quoted

+
AddAll  +

All controls

+
+ +
+
+ +
+
+ +

Enum contains output format.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
Bin  +

Binary representation of integers

+
Oct  +

Octal representation of integers

+
Dec  +

Decimal representation of integers

+
Hex  +

Hexadecimal representation of integers

+
Bold  +

Bold

+
Underline  +

Underline

+
Blink  +

Blink

+
Black  +

Black font

+
Red  +

Red font

+
Green  +

Green font

+
Blue  +

Blue font

+
Yellow  +

Yellow font

+
Magenta  +

Magenta font

+
Cyan  +

Cyan font

+
White  +

White font

+
BackBlack  +

Black background

+
BackRed  +

Red background

+
BackGreen  +

Green background

+
BackBlue  +

Blue background

+
BackYellow  +

Yellow background

+
BackMagenta  +

Magenta background

+
BackCyan  +

Cyan background

+
BackWhite  +

White background

+
Default  +

Default format

+
+ +
+
+ + + + + + diff --git a/doc/html/namespacemembers.html b/doc/html/namespacemembers.html new file mode 100644 index 00000000..a235d917 --- /dev/null +++ b/doc/html/namespacemembers.html @@ -0,0 +1,359 @@ + + + + + + +PIP: Namespace Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- f -

+ + +

- g -

+ + +

- h -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- q -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- u -

+ + +

- w -

+ + +

- y -

+
+
+ + + + diff --git a/doc/html/namespacemembers_enum.html b/doc/html/namespacemembers_enum.html new file mode 100644 index 00000000..932316ef --- /dev/null +++ b/doc/html/namespacemembers_enum.html @@ -0,0 +1,139 @@ + + + + + + +PIP: Namespace Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + +
+
+ +
+
+
+ + + + + + diff --git a/doc/html/namespacemembers_eval.html b/doc/html/namespacemembers_eval.html new file mode 100644 index 00000000..26d42e5b --- /dev/null +++ b/doc/html/namespacemembers_eval.html @@ -0,0 +1,342 @@ + + + + + + +PIP: Namespace Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+  + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- f -

+ + +

- g -

+ + +

- h -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- q -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- u -

+ + +

- w -

+ + +

- y -

+
+
+ + + + diff --git a/doc/html/namespaces.html b/doc/html/namespaces.html new file mode 100644 index 00000000..cd4bd0f1 --- /dev/null +++ b/doc/html/namespaces.html @@ -0,0 +1,127 @@ + + + + + + +PIP: Namespace List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
Namespace List
+
+
+
Here is a list of all documented namespaces with brief descriptions:
+ + +
 NPICoutManipulatorsNamespace contains enums controlled PICout
+
+
+
+ + + + diff --git a/doc/html/namespaces.js b/doc/html/namespaces.js new file mode 100644 index 00000000..95050807 --- /dev/null +++ b/doc/html/namespaces.js @@ -0,0 +1,4 @@ +var namespaces = +[ + [ "PICoutManipulators", "namespace_p_i_cout_manipulators.html", null ] +]; \ No newline at end of file diff --git a/doc/html/nav_f.png b/doc/html/nav_f.png new file mode 100644 index 00000000..bc41fcc3 Binary files /dev/null and b/doc/html/nav_f.png differ diff --git a/doc/html/nav_g.png b/doc/html/nav_g.png new file mode 100644 index 00000000..8c6c13ef Binary files /dev/null and b/doc/html/nav_g.png differ diff --git a/doc/html/nav_h.png b/doc/html/nav_h.png new file mode 100644 index 00000000..05610f72 Binary files /dev/null and b/doc/html/nav_h.png differ diff --git a/doc/html/navtree.css b/doc/html/navtree.css new file mode 100644 index 00000000..56b5a219 --- /dev/null +++ b/doc/html/navtree.css @@ -0,0 +1,143 @@ +#nav-tree .children_ul { + margin:0; + padding:4px; +} + +#nav-tree ul { + list-style:none outside none; + margin:0px; + padding:0px; +} + +#nav-tree li { + white-space:nowrap; + margin:0px; + padding:0px; +} + +#nav-tree .plus { + margin:0px; +} + +#nav-tree .selected { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +#nav-tree img { + margin:0px; + padding:0px; + border:0px; + vertical-align: middle; +} + +#nav-tree a { + text-decoration:none; + padding:0px; + margin:0px; + outline:none; +} + +#nav-tree .label { + margin:0px; + padding:0px; + font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +#nav-tree .label a { + padding:2px; +} + +#nav-tree .selected a { + text-decoration:none; + color:#fff; +} + +#nav-tree .children_ul { + margin:0px; + padding:0px; +} + +#nav-tree .item { + margin:0px; + padding:0px; +} + +#nav-tree { + padding: 0px 0px; + background-color: #FAFAFF; + font-size:14px; + overflow:auto; +} + +#doc-content { + overflow:auto; + display:block; + padding:0px; + margin:0px; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#side-nav { + padding:0 6px 0 0; + margin: 0px; + display:block; + position: absolute; + left: 0px; + width: 250px; +} + +.ui-resizable .ui-resizable-handle { + display:block; +} + +.ui-resizable-e { + background:url("ftv2splitbar.png") repeat scroll right center transparent; + cursor:e-resize; + height:100%; + right:0; + top:0; + width:6px; +} + +.ui-resizable-handle { + display:none; + font-size:0.1px; + position:absolute; + z-index:1; +} + +#nav-tree-contents { + margin: 6px 0px 0px 0px; +} + +#nav-tree { + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #FAFAFC; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#nav-sync { + position:absolute; + top:5px; + right:24px; + z-index:0; +} + +#nav-sync img { + opacity:0.3; +} + +#nav-sync img:hover { + opacity:0.9; +} + +@media print +{ + #nav-tree { display: none; } + div.ui-resizable-handle { display: none; position: relative; } +} + diff --git a/doc/html/navtree.js b/doc/html/navtree.js new file mode 100644 index 00000000..40b193a6 --- /dev/null +++ b/doc/html/navtree.js @@ -0,0 +1,581 @@ +var NAVTREE = +[ + [ "PIP", "index.html", [ + [ "What is PIP", "index.html", null ], + [ "Getting started", "using_basic.html", null ], + [ "Advanced using", "using_advanced.html", null ], + [ "Deprecated List", "deprecated.html", null ], + [ "Namespaces", null, [ + [ "Namespace List", "namespaces.html", "namespaces" ], + [ "Namespace Members", "namespacemembers.html", [ + [ "All", "namespacemembers.html", null ], + [ "Enumerations", "namespacemembers_enum.html", null ], + [ "Enumerator", "namespacemembers_eval.html", null ] + ] ] + ] ], + [ "Classes", null, [ + [ "Class List", "annotated.html", "annotated" ], + [ "Class Index", "classes.html", null ], + [ "Class Hierarchy", "hierarchy.html", "hierarchy" ], + [ "Class Members", "functions.html", [ + [ "All", "functions.html", "functions_dup" ], + [ "Functions", "functions_func.html", "functions_func" ], + [ "Variables", "functions_vars.html", null ], + [ "Typedefs", "functions_type.html", null ], + [ "Enumerations", "functions_enum.html", null ], + [ "Enumerator", "functions_eval.html", null ], + [ "Related Functions", "functions_rela.html", null ] + ] ] + ] ], + [ "Files", null, [ + [ "File List", "files.html", "files" ], + [ "File Members", "globals.html", [ + [ "All", "globals.html", null ], + [ "Functions", "globals_func.html", null ], + [ "Variables", "globals_vars.html", null ], + [ "Macros", "globals_defs.html", null ] + ] ] + ] ] + ] ] +]; + +var NAVTREEINDEX = +[ +"annotated.html", +"class_p_i_connection.html#aa547b4a4e64e9adf0c7c45171160bded", +"class_p_i_ethernet_1_1_interface_list.html#a2b206fa34041a17fd220dedb8f7f5b23", +"class_p_i_state_machine.html#aee180e7f75ece9aef1c3d8a94095ed21", +"class_p_i_timer.html#afbe09c4d09f0dc897045037c1042cd70", +"pibytearray_8h.html#a6c4c55eac2a9c3f087e4f86ae8d76104", +"pivector_8h.html" +]; + +var SYNCONMSG = 'click to disable panel synchronisation'; +var SYNCOFFMSG = 'click to enable panel synchronisation'; +var navTreeSubIndices = new Array(); + +function getData(varName) +{ + var i = varName.lastIndexOf('/'); + var n = i>=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/\-/g,'_')); +} + +function stripPath(uri) +{ + return uri.substring(uri.lastIndexOf('/')+1); +} + +function stripPath2(uri) +{ + var i = uri.lastIndexOf('/'); + var s = uri.substring(i+1); + var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; +} + +function hashValue() +{ + return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); +} + +function hashUrl() +{ + return '#'+hashValue(); +} + +function pathName() +{ + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); +} + +function localStorageSupported() +{ + try { + return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + } + catch(e) { + return false; + } +} + + +function storeLink(link) +{ + if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { + window.localStorage.setItem('navpath',link); + } +} + +function deleteLink() +{ + if (localStorageSupported()) { + window.localStorage.setItem('navpath',''); + } +} + +function cachedLink() +{ + if (localStorageSupported()) { + return window.localStorage.getItem('navpath'); + } else { + return ''; + } +} + +function getScript(scriptName,func,show) +{ + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + if ($.browser.msie && $.browser.version<=8) { + // script.onload does not work with older versions of IE + script.onreadystatechange = function() { + if (script.readyState=='complete' || script.readyState=='loaded') { + func(); if (show) showRoot(); + } + } + } + head.appendChild(script); +} + +function createIndent(o,domNode,node,level) +{ + var level=-1; + var n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + var imgNode = document.createElement("img"); + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.width = 16; + imgNode.height = 22; + imgNode.border = 0; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.src = node.relpath+"ftv2pnode.png"; + node.expanded = false; + } else { + expandNode(o, node, false, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + imgNode.src = node.relpath+"ftv2pnode.png"; + } else { + var span = document.createElement("span"); + span.style.display = 'inline-block'; + span.style.width = 16*(level+1)+'px'; + span.style.height = '22px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } +} + +var animationInProgress = false; + +function gotoAnchor(anchor,aname,updateLocation) +{ + var pos, docContent = $('#doc-content'); + var ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || + ancParent.hasClass('fieldname') || + ancParent.hasClass('fieldtype') || + ancParent.is(':header')) + { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + var dist = Math.abs(Math.min( + pos-docContent.offset().top, + docContent[0].scrollHeight- + docContent.height()-docContent.scrollTop())); + animationInProgress=true; + docContent.animate({ + scrollTop: pos + docContent.scrollTop() - docContent.offset().top + },Math.max(50,Math.min(500,dist)),function(){ + if (updateLocation) window.location.href=aname; + animationInProgress=false; + }); + } +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + node.expanded = false; + a.appendChild(node.label); + if (link) { + var url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + var aname = '#'+link.split('#')[1]; + var srcPage = stripPath(pathName()); + var targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : "javascript:void(0)"; + a.onclick = function(){ + storeLink(link); + if (!$(a).parent().parent().hasClass('selected')) + { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + $(a).parent().parent().addClass('selected'); + $(a).parent().parent().attr('id','selected'); + } + var anchor = $(aname); + gotoAnchor(anchor,aname,true); + }; + } else { + a.href = url; + a.onclick = function() { storeLink(link); } + } + } else { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() { + if (!node.childrenUL) { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + (function (){ // retry until we can scroll to the selected item + try { + var navtree=$('#nav-tree'); + navtree.scrollTo('#selected',0,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); +} + +function expandNode(o, node, imm, showRoot) +{ + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + expandNode(o, node, imm, showRoot); + }, showRoot); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } if (imm || ($.browser.msie && $.browser.version>8)) { + // somehow slideDown jumps to the start of tree for IE9 :-( + $(node.getChildrenUL()).show(); + } else { + $(node.getChildrenUL()).slideDown("fast"); + } + if (node.isLast) { + node.plus_img.src = node.relpath+"ftv2mlastnode.png"; + } else { + node.plus_img.src = node.relpath+"ftv2mnode.png"; + } + node.expanded = true; + } + } +} + +function glowEffect(n,duration) +{ + n.addClass('glow').delay(duration).queue(function(next){ + $(this).removeClass('glow');next(); + }); +} + +function highlightAnchor() +{ + var aname = hashUrl(); + var anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft'){ + var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname'){ + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype'){ + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } + gotoAnchor(anchor,aname,false); +} + +function selectAndHighlight(hash,n) +{ + var a; + if (hash) { + var link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + $('#nav-sync').css('top','30px'); + } else { + $('#nav-sync').css('top','5px'); + } + showRoot(); +} + +function showNode(o, node, index, hash) +{ + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + showNode(o,node,index,hash); + },true); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + if (node.isLast) { + node.plus_img.src = node.relpath+"ftv2mlastnode.png"; + } else { + node.plus_img.src = node.relpath+"ftv2mnode.png"; + } + node.expanded = true; + var n = node.children[o.breadcrumbs[index]]; + if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); + else hash=''; + } + if (hash.match(/^#l\d+$/)) { + var anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + var url=root+hash; + var i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function(){ + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + },true); + } +} + +function showSyncOff(n,relpath) +{ + n.html(''); +} + +function showSyncOn(n,relpath) +{ + n.html(''); +} + +function toggleSyncButton(relpath) +{ + var navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } +} + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + o.node.expanded = false; + o.node.isLast = true; + o.node.plus_img = document.createElement("img"); + o.node.plus_img.src = relpath+"ftv2pnode.png"; + o.node.plus_img.width = 16; + o.node.plus_img.height = 22; + + if (localStorageSupported()) { + var navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + navSync.click(function(){ toggleSyncButton(relpath); }); + } + + $(window).load(function(){ + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + }); + + $(window).bind('hashchange', function(){ + if (window.location.hash && window.location.hash.length>1){ + var a; + if ($(location).attr('hash')){ + var clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/ + + + + + +PIP: Related Pages + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
Related Pages
+
+
+
Here is a list of all related documentation pages:
+
+
+ + + + diff --git a/doc/html/pibinarylog_8h.html b/doc/html/pibinarylog_8h.html new file mode 100644 index 00000000..d9b08043 --- /dev/null +++ b/doc/html/pibinarylog_8h.html @@ -0,0 +1,137 @@ + + + + + + +PIP: src/io/pibinarylog.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pibinarylog.h File Reference
+
+
+ +

Binary log. +More...

+ + + + + +

+Classes

class  PIBinaryLog
 Class for read and write binary data to logfile, and playback this data in realtime. More...
 
+

Detailed Description

+

Binary log.

+
+
+ + + + diff --git a/doc/html/pibinarylog_8h.js b/doc/html/pibinarylog_8h.js new file mode 100644 index 00000000..28cc2d79 --- /dev/null +++ b/doc/html/pibinarylog_8h.js @@ -0,0 +1,4 @@ +var pibinarylog_8h = +[ + [ "PIBinaryLog", "class_p_i_binary_log.html", "class_p_i_binary_log" ] +]; \ No newline at end of file diff --git a/doc/html/pibytearray_8h.html b/doc/html/pibytearray_8h.html new file mode 100644 index 00000000..39a0097e --- /dev/null +++ b/doc/html/pibytearray_8h.html @@ -0,0 +1,312 @@ + + + + + + +PIP: src/core/pibytearray.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pibytearray.h File Reference
+
+
+ +

Byte array. +More...

+ + + + + + + + +

+Classes

class  PIByteArray
 Byte array. More...
 
struct  PIByteArray::RawData
 Help struct to store/restore custom blocks of data to/from PIByteArray. More...
 
+ + + + +

+Macros

+#define PIP_BYTEARRAY_STREAM_ANY_TYPE
 This macro allow stream template operators for write and read any type from byte array. Use it with attention!
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+std::ostream & operator<< (std::ostream &s, const PIByteArray &ba)
 Output to std::ostream operator.
 
+PICout operator<< (PICout s, const PIByteArray &ba)
 Output to PICout operator.
 
+PIByteArrayoperator<< (PIByteArray &s, uchar v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const short v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const int v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const long &v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const llong &v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const ushort v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const uint v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const ulong &v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const ullong &v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const float v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const double &v)
 Store operator.
 
+PIByteArrayoperator<< (PIByteArray &s, const PIByteArray &v)
 Store operator, see Attention for details.
 
+PIByteArrayoperator<< (PIByteArray &s, const PIByteArray::RawData &v)
 Store operator, see Attention for details.
 
+template<typename Type0 , typename Type1 >
PIByteArrayoperator<< (PIByteArray &s, const PIPair< Type0, Type1 > &v)
 Store operator.
 
+template<typename T >
PIByteArrayoperator<< (PIByteArray &s, const PIVector< T > &v)
 Store operator.
 
+template<typename T >
PIByteArrayoperator<< (PIByteArray &s, const PIList< T > &v)
 Store operator.
 
+template<typename T >
PIByteArrayoperator<< (PIByteArray &s, const PIDeque< T > &v)
 Store operator.
 
+PIByteArrayoperator>> (PIByteArray &s, uchar &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, short &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, int &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, long &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, llong &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, ushort &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, uint &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, ulong &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, ullong &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, float &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, double &v)
 Restore operator.
 
+PIByteArrayoperator>> (PIByteArray &s, PIByteArray &v)
 Restore operator, see Attention for details.
 
+PIByteArrayoperator>> (PIByteArray &s, PIByteArray::RawData v)
 Restore operator, see Attention for details.
 
+template<typename Type0 , typename Type1 >
PIByteArrayoperator>> (PIByteArray &s, PIPair< Type0, Type1 > &v)
 Restore operator.
 
+template<typename T >
PIByteArrayoperator>> (PIByteArray &s, PIVector< T > &v)
 Restore operator.
 
+template<typename T >
PIByteArrayoperator>> (PIByteArray &s, PIList< T > &v)
 Restore operator.
 
+template<typename T >
PIByteArrayoperator>> (PIByteArray &s, PIDeque< T > &v)
 Restore operator.
 
+bool operator== (PIByteArray &f, PIByteArray &s)
 Byte arrays compare operator.
 
+bool operator!= (PIByteArray &f, PIByteArray &s)
 Byte arrays compare operator.
 
+

Detailed Description

+

Byte array.

+
+
+ + + + diff --git a/doc/html/pibytearray_8h.js b/doc/html/pibytearray_8h.js new file mode 100644 index 00000000..fe3d5c1d --- /dev/null +++ b/doc/html/pibytearray_8h.js @@ -0,0 +1,44 @@ +var pibytearray_8h = +[ + [ "PIByteArray", "class_p_i_byte_array.html", "class_p_i_byte_array" ], + [ "RawData", "struct_p_i_byte_array_1_1_raw_data.html", "struct_p_i_byte_array_1_1_raw_data" ], + [ "PIP_BYTEARRAY_STREAM_ANY_TYPE", "pibytearray_8h.html#ab8da61a42f0f76ae84a347c4a9217b31", null ], + [ "operator<<", "pibytearray_8h.html#ab1e23cf01f90071f1239fcfc17c8ed3d", null ], + [ "operator<<", "pibytearray_8h.html#a32613363dcf56aac9f693c135fff6f89", null ], + [ "operator<<", "pibytearray_8h.html#ae4152fca25c857d502396fc477dd5b4e", null ], + [ "operator<<", "pibytearray_8h.html#a27cb4295a655c80c9223e2af2843ac14", null ], + [ "operator<<", "pibytearray_8h.html#ab8951385e7eda4d8d6925b2a519624ae", null ], + [ "operator<<", "pibytearray_8h.html#a750963c1940bf98afb59c6d5ee745f57", null ], + [ "operator<<", "pibytearray_8h.html#a34e8e853e5ed6beccd359e6cdbbd79ee", null ], + [ "operator<<", "pibytearray_8h.html#ab5772ffd8c729df606daef9af4bab33f", null ], + [ "operator<<", "pibytearray_8h.html#ad4fedc65364715baf41b635174c5fe8a", null ], + [ "operator<<", "pibytearray_8h.html#ac808ed51ef9536275a6133abfde4bb83", null ], + [ "operator<<", "pibytearray_8h.html#ab44ea6a59afa51508ff2901d41b627f0", null ], + [ "operator<<", "pibytearray_8h.html#a2a485f703e44ccea18c8638c7c4c5889", null ], + [ "operator<<", "pibytearray_8h.html#a499da27a6b5a3474fff8cda6c723886a", null ], + [ "operator<<", "pibytearray_8h.html#a959efd617590b844d4dccf73c3565f95", null ], + [ "operator<<", "pibytearray_8h.html#a65a8de355c00ee10f723c0c4a108adcd", null ], + [ "operator<<", "pibytearray_8h.html#a96190dee065ee5b78285ca129e2adb1d", null ], + [ "operator<<", "pibytearray_8h.html#adbbbcf8bf5e3b56e3a114df299fe7c7f", null ], + [ "operator<<", "pibytearray_8h.html#a068a0bcfbe5b9d2fa4b778ba968f44db", null ], + [ "operator<<", "pibytearray_8h.html#a9b9678e9c4c372565e933d2e3ea99407", null ], + [ "operator>>", "pibytearray_8h.html#ab13b3356e12200d943eca6fb5914fff3", null ], + [ "operator>>", "pibytearray_8h.html#ab169b593f262836b81ef0f1e85742bb5", null ], + [ "operator>>", "pibytearray_8h.html#a9193853f9065d13faa500d7402011e95", null ], + [ "operator>>", "pibytearray_8h.html#a2936831420330a89c932b9378bcb531a", null ], + [ "operator>>", "pibytearray_8h.html#ac2f7009be50024c741ba1e34e2520105", null ], + [ "operator>>", "pibytearray_8h.html#a6d7b09e8e0ae58e2a0660a95f5297d62", null ], + [ "operator>>", "pibytearray_8h.html#a6c4c55eac2a9c3f087e4f86ae8d76104", null ], + [ "operator>>", "pibytearray_8h.html#a562da0ccdeabb8269757e25955bb3da5", null ], + [ "operator>>", "pibytearray_8h.html#a51721eb920f53d0c919eec52cf10cd52", null ], + [ "operator>>", "pibytearray_8h.html#a908c8071a8eee9fb7a3752bee614333a", null ], + [ "operator>>", "pibytearray_8h.html#a4f8b92d20e45ebe4e3bac6e2ccedf9f0", null ], + [ "operator>>", "pibytearray_8h.html#aa77ecc852d4e3ba6e4fbe7a7258cfb87", null ], + [ "operator>>", "pibytearray_8h.html#afb2b51047b10d19aced414fec7744dd2", null ], + [ "operator>>", "pibytearray_8h.html#ab2b77a56ba810e64d937dc4f33438310", null ], + [ "operator>>", "pibytearray_8h.html#a3ad45b3c81b974189a6c9ab5193e24d5", null ], + [ "operator>>", "pibytearray_8h.html#a35c4ea115bdcb4627fd9fa635d1c681a", null ], + [ "operator>>", "pibytearray_8h.html#a6cee541d60566eef92585f50aa9ec436", null ], + [ "operator==", "pibytearray_8h.html#a30e1b305b0f9bdcfc1d1e9c970e82d5d", null ], + [ "operator!=", "pibytearray_8h.html#a9db13625502ec190fa40b4155ad136eb", null ] +]; \ No newline at end of file diff --git a/doc/html/pichar_8h.html b/doc/html/pichar_8h.html new file mode 100644 index 00000000..415a4d37 --- /dev/null +++ b/doc/html/pichar_8h.html @@ -0,0 +1,217 @@ + + + + + + +PIP: src/core/pichar.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pichar.h File Reference
+
+
+ +

Unicode char. +More...

+ + + + + +

+Classes

class  PIChar
 Unicode char. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

__PICONTAINERS_SIMPLE_TYPE__ (PIChar) inline std
 Output operator to std::ostream.
 
+PICout operator<< (PICout s, const PIChar &v)
 Output operator to PICout.
 
+PIByteArrayoperator<< (PIByteArray &s, const PIChar &v)
 Write operator to PIByteArray.
 
+PIByteArrayoperator>> (PIByteArray &s, PIChar &v)
 Read operator from PIByteArray.
 
+bool operator== (const char v, const PIChar &c)
 Compare operator.
 
+bool operator> (const char v, const PIChar &c)
 Compare operator.
 
+bool operator< (const char v, const PIChar &c)
 Compare operator.
 
+bool operator>= (const char v, const PIChar &c)
 Compare operator.
 
+bool operator<= (const char v, const PIChar &c)
 Compare operator.
 
+bool operator== (const char *v, const PIChar &c)
 Compare operator.
 
+bool operator> (const char *v, const PIChar &c)
 Compare operator.
 
+bool operator< (const char *v, const PIChar &c)
 Compare operator.
 
+bool operator>= (const char *v, const PIChar &c)
 Compare operator.
 
+bool operator<= (const char *v, const PIChar &c)
 Compare operator.
 
+bool operator== (const int v, const PIChar &c)
 Compare operator.
 
+bool operator> (const int v, const PIChar &c)
 Compare operator.
 
+bool operator< (const int v, const PIChar &c)
 Compare operator.
 
+bool operator>= (const int v, const PIChar &c)
 Compare operator.
 
+bool operator<= (const int v, const PIChar &c)
 Compare operator.
 
+

Detailed Description

+

Unicode char.

+
+
+ + + + diff --git a/doc/html/pichar_8h.js b/doc/html/pichar_8h.js new file mode 100644 index 00000000..ef5c6d53 --- /dev/null +++ b/doc/html/pichar_8h.js @@ -0,0 +1,23 @@ +var pichar_8h = +[ + [ "PIChar", "class_p_i_char.html", "class_p_i_char" ], + [ "__PICONTAINERS_SIMPLE_TYPE__", "pichar_8h.html#a98c24b190dd598cdebc2e1c884631b13", null ], + [ "operator<<", "pichar_8h.html#abadc4164b551872ca8d636998a638792", null ], + [ "operator<<", "pichar_8h.html#a43cad479313327c089e30ae490e01c24", null ], + [ "operator>>", "pichar_8h.html#a697daa3db190238c3cad29b288821ae0", null ], + [ "operator==", "pichar_8h.html#aef66e1b5e541cb78e83ee5097c24fb66", null ], + [ "operator>", "pichar_8h.html#a87f2cf00cfaf54f2c45e4529d8267523", null ], + [ "operator<", "pichar_8h.html#aac63033d050dd251820843b8d3108182", null ], + [ "operator>=", "pichar_8h.html#ab4990ff3eadcbc5aab844bc6758c5b8b", null ], + [ "operator<=", "pichar_8h.html#a13c44bf8680ec528f13a014e23668b93", null ], + [ "operator==", "pichar_8h.html#a4254ee10c37d8222dd82d834920ed3b8", null ], + [ "operator>", "pichar_8h.html#a5dc6be462318915b8d938a816c018ea9", null ], + [ "operator<", "pichar_8h.html#a767104c71a066ca079cb71e950bfb5ff", null ], + [ "operator>=", "pichar_8h.html#aed3f8114f5a468d2af576f6570cc3efa", null ], + [ "operator<=", "pichar_8h.html#a7fd16bab079996ca2397d3d1f99d01de", null ], + [ "operator==", "pichar_8h.html#a1dbcb604177557289791346d2dafc6c4", null ], + [ "operator>", "pichar_8h.html#a53cbd5dfc0e96fdd0d58bffc256d9157", null ], + [ "operator<", "pichar_8h.html#adece64ba925cbd59a9fa218251556fd5", null ], + [ "operator>=", "pichar_8h.html#ae178de75f712e81d893a87fbd4d6c5a4", null ], + [ "operator<=", "pichar_8h.html#a15d502867a42b6495e8ce0586824e389", null ] +]; \ No newline at end of file diff --git a/doc/html/picli_8h.html b/doc/html/picli_8h.html new file mode 100644 index 00000000..a77bd266 --- /dev/null +++ b/doc/html/picli_8h.html @@ -0,0 +1,137 @@ + + + + + + +PIP: src/core/picli.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
picli.h File Reference
+
+
+ +

Command-Line parser. +More...

+ + + + + +

+Classes

class  PICLI
 Command-line arguments parser. More...
 
+

Detailed Description

+

Command-Line parser.

+
+
+ + + + diff --git a/doc/html/picodeinfo_8h.html b/doc/html/picodeinfo_8h.html new file mode 100644 index 00000000..d2af6f8a --- /dev/null +++ b/doc/html/picodeinfo_8h.html @@ -0,0 +1,128 @@ + + + + + + +PIP: src/code/picodeinfo.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
picodeinfo.h File Reference
+
+
+ +

C++ code info structs. +More...

+

Detailed Description

+

C++ code info structs.

+
+
+ + + + diff --git a/doc/html/picodeparser_8h.html b/doc/html/picodeparser_8h.html new file mode 100644 index 00000000..bd9c1c86 --- /dev/null +++ b/doc/html/picodeparser_8h.html @@ -0,0 +1,128 @@ + + + + + + +PIP: src/code/picodeparser.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
picodeparser.h File Reference
+
+
+ +

C++ code parser. +More...

+

Detailed Description

+

C++ code parser.

+
+
+ + + + diff --git a/doc/html/picollection_8h.html b/doc/html/picollection_8h.html new file mode 100644 index 00000000..5a38414f --- /dev/null +++ b/doc/html/picollection_8h.html @@ -0,0 +1,137 @@ + + + + + + +PIP: src/core/picollection.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
picollection.h File Reference
+
+
+ +

Custom elements collection. +More...

+ + + + + +

+Classes

class  PICollection
 Interface to discover element groups. More...
 
+

Detailed Description

+

Custom elements collection.

+
+
+ + + + diff --git a/doc/html/picollection_8h.js b/doc/html/picollection_8h.js new file mode 100644 index 00000000..c71b6a03 --- /dev/null +++ b/doc/html/picollection_8h.js @@ -0,0 +1,6 @@ +var picollection_8h = +[ + [ "PICollection", "class_p_i_collection.html", "class_p_i_collection" ], + [ "ADD_TO_COLLECTION", "picollection_8h.html#a450e8ac720c8b0f6223ad2bf42f83ae2", null ], + [ "ADD_NEW_TO_COLLECTION", "picollection_8h.html#a78cc4937360f5e286cdd8baf403edfec", null ] +]; \ No newline at end of file diff --git a/doc/html/piconfig.png b/doc/html/piconfig.png new file mode 100644 index 00000000..c6697501 Binary files /dev/null and b/doc/html/piconfig.png differ diff --git a/doc/html/piconfig_8h.html b/doc/html/piconfig_8h.html new file mode 100644 index 00000000..036311dd --- /dev/null +++ b/doc/html/piconfig_8h.html @@ -0,0 +1,196 @@ + + + + + + +PIP: src/io/piconfig.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
piconfig.h File Reference
+
+
+ +

Configuration file. +More...

+ + + + + + + + + + + +

+Classes

class  PIConfig
 Configuration file. More...
 
class  PIConfig::Branch
 Branch is a list of entries of configuration file More...
 
class  PIConfig::Entry
 Entry of configuration file More...
 
+ + + + + +

+Functions

template<typename T >
readDeviceSetting (const PIString &name, const T &def, const PIConfig::Entry *em, const PIConfig::Entry *ep)
 Service function. useful for configuring devices. More...
 
+

Detailed Description

+

Configuration file.

+

Function Documentation

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
T readDeviceSetting (const PIStringname,
const T & def,
const PIConfig::Entryem,
const PIConfig::Entryep 
)
+
+ +

Service function. useful for configuring devices.

+

Function takes entry name "name", default value "def" and two PIConfig::Entry sections: "em" and their parent "ep". If there is no parent ep = 0. If "ep" is not null and entry "name" exists in "ep" function returns this value. Else returns value of entry "name" in section "em" or "def" if entry doesn`t exists.
+ This function useful to read settings from configuration file in implementation PIIODevice::configureDevice() function

+ +
+
+
+
+ + + + diff --git a/doc/html/piconfig_8h.js b/doc/html/piconfig_8h.js new file mode 100644 index 00000000..efbdff29 --- /dev/null +++ b/doc/html/piconfig_8h.js @@ -0,0 +1,7 @@ +var piconfig_8h = +[ + [ "PIConfig", "class_p_i_config.html", "class_p_i_config" ], + [ "Branch", "class_p_i_config_1_1_branch.html", null ], + [ "Entry", "class_p_i_config_1_1_entry.html", "class_p_i_config_1_1_entry" ], + [ "readDeviceSetting", "piconfig_8h.html#add5b851e98d22dd4d7482a8e509113dc", null ] +]; \ No newline at end of file diff --git a/doc/html/piconnection.png b/doc/html/piconnection.png new file mode 100644 index 00000000..8971ab76 Binary files /dev/null and b/doc/html/piconnection.png differ diff --git a/doc/html/piconnection_8h.html b/doc/html/piconnection_8h.html new file mode 100644 index 00000000..e11d27b3 --- /dev/null +++ b/doc/html/piconnection_8h.html @@ -0,0 +1,137 @@ + + + + + + +PIP: src/io/piconnection.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
piconnection.h File Reference
+
+
+ +

Complex I/O point. +More...

+ + + + + +

+Classes

class  PIConnection
 Complex Input/Output point. More...
 
+

Detailed Description

+

Complex I/O point.

+
+
+ + + + diff --git a/doc/html/piconnection_8h.js b/doc/html/piconnection_8h.js new file mode 100644 index 00000000..98979742 --- /dev/null +++ b/doc/html/piconnection_8h.js @@ -0,0 +1,4 @@ +var piconnection_8h = +[ + [ "PIConnection", "class_p_i_connection.html", "class_p_i_connection" ] +]; \ No newline at end of file diff --git a/doc/html/piconnection_conf.png b/doc/html/piconnection_conf.png new file mode 100644 index 00000000..c42eb7de Binary files /dev/null and b/doc/html/piconnection_conf.png differ diff --git a/doc/html/piconnection_filters.png b/doc/html/piconnection_filters.png new file mode 100644 index 00000000..17072759 Binary files /dev/null and b/doc/html/piconnection_filters.png differ diff --git a/doc/html/piconnection_senders.png b/doc/html/piconnection_senders.png new file mode 100644 index 00000000..a63a96ef Binary files /dev/null and b/doc/html/piconnection_senders.png differ diff --git a/doc/html/piconsole_8h.html b/doc/html/piconsole_8h.html new file mode 100644 index 00000000..67bcfd74 --- /dev/null +++ b/doc/html/piconsole_8h.html @@ -0,0 +1,137 @@ + + + + + + +PIP: src/system/piconsole.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
piconsole.h File Reference
+
+
+ +

Console output class. +More...

+ + + + + +

+Classes

class  PIConsole
 Console output class. More...
 
+

Detailed Description

+

Console output class.

+
+
+ + + + diff --git a/doc/html/piconsole_8h.js b/doc/html/piconsole_8h.js new file mode 100644 index 00000000..1995db86 --- /dev/null +++ b/doc/html/piconsole_8h.js @@ -0,0 +1,4 @@ +var piconsole_8h = +[ + [ "PIConsole", "class_p_i_console.html", "class_p_i_console" ] +]; \ No newline at end of file diff --git a/doc/html/piconsole_layout.png b/doc/html/piconsole_layout.png new file mode 100644 index 00000000..ad74a90e Binary files /dev/null and b/doc/html/piconsole_layout.png differ diff --git a/doc/html/picontainers_8h.html b/doc/html/picontainers_8h.html new file mode 100644 index 00000000..5a50b187 --- /dev/null +++ b/doc/html/picontainers_8h.html @@ -0,0 +1,318 @@ + + + + + + +PIP: src/containers/picontainers.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
picontainers.h File Reference
+
+
+ +

Generic containers. +More...

+ + + + + + + + + + + + + + + + + +

+Macros

#define piForeach(i, c)
 Macro for iterate any container. More...
 
#define piForeachC(i, c)
 Macro for iterate any container only for read. More...
 
#define piForeachR(i, c)
 Macro for iterate any container with reverse direction. More...
 
#define piForeachCR(i, c)
 Macro for iterate any container only for read with reverse direction. More...
 
#define piBreak
 Macro for break from any piForeach* loop. More...
 
+

Detailed Description

+

Generic containers.

+

Queue container.

+

This file declare all containers and useful macros to use them

+

This file declare PIQueue

+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define piForeach( i,
 
)
+
+ +

Macro for iterate any container.

+

Use this macros instead of standard "for" to get read/write access to each element of container. Pass direction is direct
+Example:

+
vec << 1 << 2 << 3;
+
piForeach (int & i, vec)
+
cout << i << ", ";
+
// 1, 2, 3,
+
piForeach (int & i, vec)
+
i++;
+
piForeach (int & i, vec)
+
cout << i << ", ";
+
// 2, 3, 4,
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define piForeachC( i,
 
)
+
+ +

Macro for iterate any container only for read.

+

Use this macros instead of standard "for" to get read access to each element of container. Pass direction is direct
+Example:

+
vec << 1 << 2 << 3;
+
piForeachC (int & i, vec)
+
cout << i << ", ";
+
// 1, 2, 3,
+
piForeachC (int & i, vec)
+
i++; // ERROR! const iterator
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define piForeachR( i,
 
)
+
+ +

Macro for iterate any container with reverse direction.

+

Use this macros instead of standard "for" to get read/write access to each element of container. Pass direction is reverse
+Example:

+
vec << 1 << 2 << 3;
+
piForeachR (int & i, vec)
+
cout << i << ", ";
+
// 3, 2, 1,
+
piForeachR (int & i, vec)
+
i++;
+
piForeachR (int & i, vec)
+
cout << i << ", ";
+
// 4, 3, 2,
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define piForeachCR( i,
 
)
+
+ +

Macro for iterate any container only for read with reverse direction.

+

Use this macros instead of standard "for" to get read access to each element of container. Pass direction is reverse
+Example:

+
vec << 1 << 2 << 3;
+
piForeachCR (int & i, vec)
+
cout << i << ", ";
+
// 3, 2, 1,
+
piForeachCR (int & i, vec)
+
i++; // ERROR! const iterator
+
+
+
+ +
+
+ + + + +
#define piBreak
+
+ +

Macro for break from any piForeach* loop.

+
Warning
C++ ordinary "break" doesn`t work inside piForeach* loops! Always use "piBreak" instead!
+ +
+
+
+
+ + + + diff --git a/doc/html/picontainers_8h.js b/doc/html/picontainers_8h.js new file mode 100644 index 00000000..48eb6369 --- /dev/null +++ b/doc/html/picontainers_8h.js @@ -0,0 +1,8 @@ +var picontainers_8h = +[ + [ "piForeach", "picontainers_8h.html#aa579232460ca92efa5c1befd41d923ba", null ], + [ "piForeachC", "picontainers_8h.html#a807914d038e5a193d2e36b4b82b6df96", null ], + [ "piForeachR", "picontainers_8h.html#a0e968bf591ab05721d5ef2ce201e09ed", null ], + [ "piForeachCR", "picontainers_8h.html#ad2685d4ca04df1f2154844e5984b41d8", null ], + [ "piBreak", "picontainers_8h.html#aa315501e5bd9c279ad09fd39dccdea4d", null ] +]; \ No newline at end of file diff --git a/doc/html/picrc_8h.html b/doc/html/picrc_8h.html new file mode 100644 index 00000000..56cfded5 --- /dev/null +++ b/doc/html/picrc_8h.html @@ -0,0 +1,128 @@ + + + + + + +PIP: src/math/picrc.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
picrc.h File Reference
+
+
+ +

CRC checksum calculator. +More...

+

Detailed Description

+

CRC checksum calculator.

+
+
+ + + + diff --git a/doc/html/pideque_8h.html b/doc/html/pideque_8h.html new file mode 100644 index 00000000..ca19dcdc --- /dev/null +++ b/doc/html/pideque_8h.html @@ -0,0 +1,129 @@ + + + + + + +PIP: src/containers/pideque.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
pideque.h File Reference
+
+
+ +

Dynamic array of any type. +More...

+

Detailed Description

+

Dynamic array of any type.

+

This file declares PIDeque

+
+
+ + + + diff --git a/doc/html/pidiagnostics_8h.html b/doc/html/pidiagnostics_8h.html new file mode 100644 index 00000000..9324d8a8 --- /dev/null +++ b/doc/html/pidiagnostics_8h.html @@ -0,0 +1,137 @@ + + + + + + +PIP: src/io/pidiagnostics.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pidiagnostics.h File Reference
+
+
+ +

Connection quality diagnostics. +More...

+ + + + + +

+Classes

class  PIDiagnostics
 Connection quality diagnostics. More...
 
+

Detailed Description

+

Connection quality diagnostics.

+
+
+ + + + diff --git a/doc/html/piethernet_8h.html b/doc/html/piethernet_8h.html new file mode 100644 index 00000000..5f7ace4b --- /dev/null +++ b/doc/html/piethernet_8h.html @@ -0,0 +1,143 @@ + + + + + + +PIP: src/io/piethernet.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
piethernet.h File Reference
+
+
+ +

Ethernet device. +More...

+ + + + + + + + + + + +

+Classes

class  PIEthernet
 Ethernet device. More...
 
struct  PIEthernet::Interface
 Network interface descriptor. More...
 
class  PIEthernet::InterfaceList
 Array of Interface with some features. More...
 
+

Detailed Description

+

Ethernet device.

+
+
+ + + + diff --git a/doc/html/piethernet_8h.js b/doc/html/piethernet_8h.js new file mode 100644 index 00000000..46aecd42 --- /dev/null +++ b/doc/html/piethernet_8h.js @@ -0,0 +1,6 @@ +var piethernet_8h = +[ + [ "PIEthernet", "class_p_i_ethernet.html", "class_p_i_ethernet" ], + [ "Interface", "struct_p_i_ethernet_1_1_interface.html", "struct_p_i_ethernet_1_1_interface" ], + [ "InterfaceList", "class_p_i_ethernet_1_1_interface_list.html", "class_p_i_ethernet_1_1_interface_list" ] +]; \ No newline at end of file diff --git a/doc/html/pievaluator_8h.html b/doc/html/pievaluator_8h.html new file mode 100644 index 00000000..344354ad --- /dev/null +++ b/doc/html/pievaluator_8h.html @@ -0,0 +1,137 @@ + + + + + + +PIP: src/math/pievaluator.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pievaluator.h File Reference
+
+
+ +

Mathematic expressions calculator. +More...

+ + + + + +

+Classes

class  PIEvaluator
 This class provide mathematical evaluations of custom expression. More...
 
+

Detailed Description

+

Mathematic expressions calculator.

+
+
+ + + + diff --git a/doc/html/pievaluator_8h.js b/doc/html/pievaluator_8h.js new file mode 100644 index 00000000..8bcad13a --- /dev/null +++ b/doc/html/pievaluator_8h.js @@ -0,0 +1,4 @@ +var pievaluator_8h = +[ + [ "PIEvaluator", "class_p_i_evaluator.html", "class_p_i_evaluator" ] +]; \ No newline at end of file diff --git a/doc/html/pifile_8h.html b/doc/html/pifile_8h.html new file mode 100644 index 00000000..1ffb3b25 --- /dev/null +++ b/doc/html/pifile_8h.html @@ -0,0 +1,137 @@ + + + + + + +PIP: src/io/pifile.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pifile.h File Reference
+
+
+ +

Local file. +More...

+ + + + + +

+Classes

class  PIFile
 Local file. More...
 
+

Detailed Description

+

Local file.

+
+
+ + + + diff --git a/doc/html/piincludes_8h.html b/doc/html/piincludes_8h.html new file mode 100644 index 00000000..d38ea5a4 --- /dev/null +++ b/doc/html/piincludes_8h.html @@ -0,0 +1,960 @@ + + + + + + +PIP: src/core/piincludes.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
piincludes.h File Reference
+
+
+ +

Global includes of PIP. +More...

+ + + + + + + + +

+Classes

class  PIFlags< Enum >
 This class used as container for bit flags. More...
 
class  PICout
 Class for formatted output similar std::cout. More...
 
+ + + + +

+Namespaces

 PICoutManipulators
 Namespace contains enums controlled PICout.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

+#define PIP_VERSION   ((PIP_VERSION_MAJOR << 16) | (PIP_VERSION_MINOR < 8) | PIP_VERSION_REVISION)
 Version of PIP in hex - 0x##(Major)##(Minor)##(Revision)
 
+#define PIP_VERSION_MAJOR
 Major value of PIP version.
 
+#define PIP_VERSION_MINOR
 Minor value of PIP version.
 
+#define PIP_VERSION_REVISION
 Revision value of PIP version.
 
+#define PIP_VERSION_SUFFIX
 Suffix of PIP version.
 
+#define PIP_DEBUG
 Macro is defined when compile-time debug is enabled.
 
+#define WINDOWS
 Macro is defined when host is any Windows.
 
+#define QNX
 Macro is defined when host is QNX.
 
+#define FREE_BSD
 Macro is defined when host is FreeBSD.
 
+#define MAC_OS
 Macro is defined when host is Mac OS.
 
+#define ANDROID
 Macro is defined when host is Android.
 
+#define LINUX
 Macro is defined when host is any Linux.
 
+#define CC_GCC
 Macro is defined when compiler is GCC or MinGW.
 
+#define HAS_LOCALE
 Macro is defined when PIP is decided that host is support language.
 
+#define CC_VC
 Macro is defined when compiler is Visual Studio.
 
+#define CC_OTHER
 Macro is defined when compiler is unknown.
 
+#define PIP_TIMER_RT
 Macro is defined when PIP use "rt" library for timers implementation.
 
+#define PIP_CONTAINERS_STL
 Define this macro to use STL implementation of containers, else PIP implementation will be used.
 
+#define CC_OTHER
 Macro is defined when compiler is unknown.
 
+#define FOREVER   for (;;)
 Macro used for infinite loop.
 
+#define FOREVER_WAIT   FOREVER msleep(1);
 Macro used for infinite wait.
 
+#define WAIT_FOREVER   FOREVER msleep(1);
 Macro used for infinite wait.
 
+#define piCout
 Macro used for conditional (piDebug) output to PICout.
 
+ + + + + + + + + + + + + +

+Enumerations

enum  PICoutManipulators::PICoutSpecialChar {
+  PICoutManipulators::Null, +PICoutManipulators::NewLine, +PICoutManipulators::Tab, +PICoutManipulators::Esc, +
+  PICoutManipulators::Quote +
+ }
 Enum contains special characters. More...
 
enum  PICoutManipulators::PICoutAction {
+  PICoutManipulators::Flush, +PICoutManipulators::Backspace, +PICoutManipulators::ShowCursor, +PICoutManipulators::HideCursor, +
+  PICoutManipulators::ClearScreen, +PICoutManipulators::SaveContol, +PICoutManipulators::RestoreControl +
+ }
 Enum contains immediate action. More...
 
enum  PICoutManipulators::PICoutControl {
+  PICoutManipulators::AddNone = 0x0, +PICoutManipulators::AddSpaces = 0x1, +PICoutManipulators::AddNewLine = 0x2, +PICoutManipulators::AddQuotes = 0x4, +
+  PICoutManipulators::AddAll = 0xFFFFFFFF +
+ }
 Enum contains control of PICout. More...
 
enum  PICoutManipulators::PICoutFormat {
+  PICoutManipulators::Bin = 0x01, +PICoutManipulators::Oct = 0x02, +PICoutManipulators::Dec = 0x04, +PICoutManipulators::Hex = 0x08, +
+  PICoutManipulators::Bold = 0x10 +, PICoutManipulators::Underline = 0x80, +PICoutManipulators::Blink = 0x100, +PICoutManipulators::Black = 0x400, +
+  PICoutManipulators::Red = 0x800, +PICoutManipulators::Green = 0x1000, +PICoutManipulators::Blue = 0x2000, +PICoutManipulators::Yellow = 0x4000, +
+  PICoutManipulators::Magenta = 0x8000, +PICoutManipulators::Cyan = 0x10000, +PICoutManipulators::White = 0x20000, +PICoutManipulators::BackBlack = 0x40000, +
+  PICoutManipulators::BackRed = 0x80000, +PICoutManipulators::BackGreen = 0x100000, +PICoutManipulators::BackBlue = 0x200000, +PICoutManipulators::BackYellow = 0x400000, +
+  PICoutManipulators::BackMagenta = 0x800000, +PICoutManipulators::BackCyan = 0x1000000, +PICoutManipulators::BackWhite = 0x2000000, +PICoutManipulators::Default = 0x4000000 +
+ }
 Enum contains output format. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
void piSwap (T &f, T &s)
 Templated function for swap two values. More...
 
template<typename T >
void piSwapBinary (T &f, T &s)
 Templated function for swap two values without "=". More...
 
template<typename T >
int piRound (const T &v)
 Templated function return round of float falue. More...
 
template<typename T >
int piFloor (const T &v)
 Templated function return floor of float falue. More...
 
template<typename T >
int piCeil (const T &v)
 Templated function return ceil of float falue. More...
 
template<typename T >
piAbs (const T &v)
 Templated function return absolute of numeric falue. More...
 
template<typename T >
piMin (const T &f, const T &s)
 Templated function return minimum of two values. More...
 
template<typename T >
piMin (const T &f, const T &s, const T &t)
 Templated function return minimum of tree values. More...
 
template<typename T >
piMax (const T &f, const T &s)
 Templated function return maximum of two values. More...
 
template<typename T >
piMax (const T &f, const T &s, const T &t)
 Templated function return maximum of tree values. More...
 
template<typename T >
piClamp (const T &v, const T &min, const T &max)
 Templated function return clamped value. More...
 
+void piLetobe (void *data, int size)
 Function inverse byte order in memory block.
 
+template<typename T >
void piLetobe (T *v)
 Templated function that inverse byte order of value "v".
 
template<typename T >
piLetobe (const T &v)
 Templated function that returns "v" with inversed byte order. More...
 
ushort letobe_s (ushort v)
 Use piLetobe() instead of this function. More...
 
uint letobe_i (uint v)
 Use piLetobe() instead of this function. More...
 
+PIString errorString ()
 Return readable error description in format "code <number> - <description>".
 
+PIString PIPVersion ()
 Return readable version of PIP.
 
+ + + + +

+Variables

+bool piDebug
 global variable enabling output to piCout
 
+

Detailed Description

+

Global includes of PIP.

+

This file include all needed system headers, STL and declare many useful macros and functions

+

Function Documentation

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void piSwap (T & f,
T & s 
)
+
+inline
+
+ +

Templated function for swap two values.

+

Example:
+

int v1 = 1, v2 = 2;
+
piCout << v1 << v2; // 1 2
+
piSwap<int>(v1, v2);
+
piCout << v1 << v2; // 2 1
+
+
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void piSwapBinary (T & f,
T & s 
)
+
+inline
+
+ +

Templated function for swap two values without "=".

+

Example:
+

+
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
int piRound (const T & v)
+
+inline
+
+ +

Templated function return round of float falue.

+

Round is the nearest integer value
+There are some macros:

    +
  • piRoundf for "float"
  • +
  • piRoundd for "double"
  • +
+

Example:

piCout << piRoundf(0.6f) << piRoundd(0.2); // 1 0
+
piCout << piRoundf(-0.6f) << piRoundd(-0.2); // -1 0
+
+
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
int piFloor (const T & v)
+
+inline
+
+ +

Templated function return floor of float falue.

+

Floor is the largest integer that is not greater than value
+There are some macros:

    +
  • piFloorf for "float"
  • +
  • piFloord for "double"
  • +
+

Example:

piCout << piFloorf(0.6f) << piFloorf(0.2); // 0 0
+
piCout << piFloorf(-0.6f) << piFloorf(-0.2f); // -1 -1
+
+
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
int piCeil (const T & v)
+
+inline
+
+ +

Templated function return ceil of float falue.

+

Ceil is the smallest integer that is not less than value
+There are some macros:

    +
  • piCeilf for "float"
  • +
  • piCeild for "double"
  • +
+

Example:

piCout << piCeilf(0.6f) << piCeilf(0.2); // 1 1
+
piCout << piCeilf(-0.6f) << piCeilf(-0.2f); // 0 0
+
+
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
T piAbs (const T & v)
+
+inline
+
+ +

Templated function return absolute of numeric falue.

+

Absolute is the positive or equal 0 value
+There are some macros:

    +
  • piAbss for "short"
  • +
  • piAbsi for "int"
  • +
  • piAbsl for "long"
  • +
  • piAbsll for "llong"
  • +
  • piAbsf for "float"
  • +
  • piAbsd for "double"
  • +
+

Example:

piCout << piAbsi(5) << piAbsi(-11); // 5 11
+
piCout << piAbsf(-0.6f) << piAbsf(-0.2f); // 0.6 0.2
+
+
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
T piMin (const T & f,
const T & s 
)
+
+inline
+
+ +

Templated function return minimum of two values.

+

There are some macros:

    +
  • piMins for "short"
  • +
  • piMini for "int"
  • +
  • piMinl for "long"
  • +
  • piMinll for "llong"
  • +
  • piMinf for "float"
  • +
  • piMind for "double"
  • +
+

Example:

piCout << piMini(5, 1); // 1
+
piCout << piMinf(-0.6f, -0.2f); // -0.6
+
+
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
T piMin (const T & f,
const T & s,
const T & t 
)
+
+inline
+
+ +

Templated function return minimum of tree values.

+

There are some macros:

    +
  • piMins for "short"
  • +
  • piMini for "int"
  • +
  • piMinl for "long"
  • +
  • piMinll for "llong"
  • +
  • piMinf for "float"
  • +
  • piMind for "double"
  • +
+

Example:

piCout << piMini(5, 1, -1); // -1
+
piCout << piMinf(-0.6f, -0.2f, 1.f); // -0.6
+
+
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
T piMax (const T & f,
const T & s 
)
+
+inline
+
+ +

Templated function return maximum of two values.

+

There are some macros:

    +
  • piMaxs for "short"
  • +
  • piMaxi for "int"
  • +
  • piMaxl for "long"
  • +
  • piMaxll for "llong"
  • +
  • piMaxf for "float"
  • +
  • piMaxd for "double"
  • +
+

Example:

piCout << piMaxi(5, 1); // 5
+
piCout << piMaxf(-0.6f, -0.2f); // -0.2
+
+
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
T piMax (const T & f,
const T & s,
const T & t 
)
+
+inline
+
+ +

Templated function return maximum of tree values.

+

There are some macros:

    +
  • piMaxs for "short"
  • +
  • piMaxi for "int"
  • +
  • piMaxl for "long"
  • +
  • piMaxll for "llong"
  • +
  • piMaxf for "float"
  • +
  • piMaxd for "double"
  • +
+

Example:

piCout << piMaxi(5, 1, -1); // 5
+
piCout << piMaxf(-0.6f, -0.2f, 1.f); // 1
+
+
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
T piClamp (const T & v,
const T & min,
const T & max 
)
+
+inline
+
+ +

Templated function return clamped value.

+

Clamped is the not greater than "max" and not lesser than "min" value
+There are some macros:

    +
  • piClamps for "short"
  • +
  • piClampi for "int"
  • +
  • piClampl for "long"
  • +
  • piClampll for "llong"
  • +
  • piClampf for "float"
  • +
  • piClampd for "double"
  • +
+

Example:

piCout << piClampf(-5, -3, 2); // -3
+
piCout << piClampf(1, -3, 2); // 1
+
piCout << piClampf(5, -3, 2); // 2
+
+
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
T piLetobe (const T & v)
+
+inline
+
+ +

Templated function that returns "v" with inversed byte order.

+

This function used to convert values between little and big endian
+There are some macros:

    +
  • piLetobes for "ushort"
  • +
  • piLetobei for "uint"
  • +
  • piLetobel for "ulong"
  • +
  • piLetobell for "ullong"
  • +
+

Example:

+
+
+ +
+
+ + + + + + + + +
ushort letobe_s (ushort v)
+
+ +

Use piLetobe() instead of this function.

+
Deprecated:
+ +
+
+ +
+
+ + + + + + + + +
uint letobe_i (uint v)
+
+ +

Use piLetobe() instead of this function.

+
Deprecated:
+ +
+
+
+
+ + + + diff --git a/doc/html/piincludes_8h.js b/doc/html/piincludes_8h.js new file mode 100644 index 00000000..da9ba9a9 --- /dev/null +++ b/doc/html/piincludes_8h.js @@ -0,0 +1,97 @@ +var piincludes_8h = +[ + [ "PIFlags", "class_p_i_flags.html", "class_p_i_flags" ], + [ "PICout", "class_p_i_cout.html", "class_p_i_cout" ], + [ "PIP_VERSION", "piincludes_8h.html#acbb7adb82bd5dd3060e2ad0eb604b1bf", null ], + [ "PIP_VERSION_MAJOR", "piincludes_8h.html#a8883b51de92fb8a549d8e78d3db33e59", null ], + [ "PIP_VERSION_MINOR", "piincludes_8h.html#a6feaccd6b29e1709448f9adbae63cfef", null ], + [ "PIP_VERSION_REVISION", "piincludes_8h.html#a1eab67c2ab5528a13d5a071678a08bc6", null ], + [ "PIP_VERSION_SUFFIX", "piincludes_8h.html#aa7382f8ef6d40b57db8a29a3ae810feb", null ], + [ "PIP_DEBUG", "piincludes_8h.html#a7a5fe60328e1cb0dc0f508506afb4ae9", null ], + [ "WINDOWS", "piincludes_8h.html#a987b73d7cc6da72732af75c5d7872d29", null ], + [ "QNX", "piincludes_8h.html#a167ea11947b8e4a492b2366ca250dbc0", null ], + [ "FREE_BSD", "piincludes_8h.html#a436564e12a6f982e63f9a76357146ad6", null ], + [ "MAC_OS", "piincludes_8h.html#a92897222c2229040c842e33404deea72", null ], + [ "ANDROID", "piincludes_8h.html#a84b6d92b7538d9eb6d3cc527c0450558", null ], + [ "LINUX", "piincludes_8h.html#a157a956e14c5c44b3f73ef23a4776f64", null ], + [ "CC_GCC", "piincludes_8h.html#ac1b21a2fcec2c0b8a3c5a463d9296979", null ], + [ "HAS_LOCALE", "piincludes_8h.html#ad5c40e21f5f16ceeb1b98ee2de82a612", null ], + [ "CC_VC", "piincludes_8h.html#a9e439bece2ee7f7fef34febe9b317a8f", null ], + [ "CC_OTHER", "piincludes_8h.html#a572d4f1b7fe8cb972e492e9d7fd83cd5", null ], + [ "PIP_TIMER_RT", "piincludes_8h.html#ab866c362b595e2b327a450f6593f639a", null ], + [ "PIP_CONTAINERS_STL", "piincludes_8h.html#a3806a9aff68b7e2620f37a79e12fb850", null ], + [ "CC_OTHER", "piincludes_8h.html#a572d4f1b7fe8cb972e492e9d7fd83cd5", null ], + [ "FOREVER", "piincludes_8h.html#a75c828ed6c02fcd44084e67a032e422c", null ], + [ "FOREVER_WAIT", "piincludes_8h.html#a39da857669ed22c419a967d5c9acae77", null ], + [ "WAIT_FOREVER", "piincludes_8h.html#ac89d2c332821be06166c210249b671e7", null ], + [ "piCout", "piincludes_8h.html#ad21862cbba89aead064fbef4c825030e", null ], + [ "piCoutObj", "piincludes_8h.html#a722b67a967e55918f6921de66ecffce9", null ], + [ "PICoutSpecialChar", "piincludes_8h.html#a66678520ac7701c016e3e90e17a7dfa2", [ + [ "Null", "piincludes_8h.html#a66678520ac7701c016e3e90e17a7dfa2a29235e52395eb8951ae13b4136252432", null ], + [ "NewLine", "piincludes_8h.html#a66678520ac7701c016e3e90e17a7dfa2a85451af3cb792587c99d576ae3807a67", null ], + [ "Tab", "piincludes_8h.html#a66678520ac7701c016e3e90e17a7dfa2a9d183ab2eef93987077269cad1047bcb", null ], + [ "Esc", "piincludes_8h.html#a66678520ac7701c016e3e90e17a7dfa2ac32518c74b162effc95d1afff37b4a81", null ], + [ "Quote", "piincludes_8h.html#a66678520ac7701c016e3e90e17a7dfa2adb05a3816f5bd55128af99263b94e15e", null ] + ] ], + [ "PICoutAction", "piincludes_8h.html#a38d041a4e2de4ca6af939837475e9387", [ + [ "Flush", "piincludes_8h.html#a38d041a4e2de4ca6af939837475e9387ab830c1a561e2cabe9e7b937a05d04c9f", null ], + [ "Backspace", "piincludes_8h.html#a38d041a4e2de4ca6af939837475e9387a0c59680927066a05eddf8e3ee61c802d", null ], + [ "ShowCursor", "piincludes_8h.html#a38d041a4e2de4ca6af939837475e9387a03c25915c04fbc819d7267022e49844a", null ], + [ "HideCursor", "piincludes_8h.html#a38d041a4e2de4ca6af939837475e9387add30539d8cc3ea1f1dcc49a0d864f877", null ], + [ "ClearScreen", "piincludes_8h.html#a38d041a4e2de4ca6af939837475e9387a811e1fa9e5deb33af8bcef5186b482bb", null ], + [ "SaveContol", "piincludes_8h.html#a38d041a4e2de4ca6af939837475e9387ab016f563340e366b6685045e028f2b0f", null ], + [ "RestoreControl", "piincludes_8h.html#a38d041a4e2de4ca6af939837475e9387a79f6f33c2e149fb3903625c855292600", null ] + ] ], + [ "PICoutControl", "piincludes_8h.html#a98e765b109cfa5b09ec3b111c449ac87", [ + [ "AddNone", "piincludes_8h.html#a98e765b109cfa5b09ec3b111c449ac87a9744aa2b16aabc01f70ef53e8a7db7f8", null ], + [ "AddSpaces", "piincludes_8h.html#a98e765b109cfa5b09ec3b111c449ac87ae5fee52fe6ad0dae9a5b953ff3e40152", null ], + [ "AddNewLine", "piincludes_8h.html#a98e765b109cfa5b09ec3b111c449ac87a14809fb1b24466983535797f6ed5971c", null ], + [ "AddQuotes", "piincludes_8h.html#a98e765b109cfa5b09ec3b111c449ac87a383bc0cbaca2fb5d5cd98a1e9c3f59ca", null ], + [ "AddAll", "piincludes_8h.html#a98e765b109cfa5b09ec3b111c449ac87a51c3de43daff16e88090f6ccc3eb30b2", null ] + ] ], + [ "PICoutFormat", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2a", [ + [ "Bin", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa29a58835892a21d07f3b0dc97ef4f44e", null ], + [ "Oct", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aaad2a72f3b7eada2a8360bdcf11cbfb80", null ], + [ "Dec", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa2169666f4b740a04e641ab8c6ca438f0", null ], + [ "Hex", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aadc3f097ce8d6fafc80018c2df3afe2b5", null ], + [ "Bold", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa527c1b697df8b9dd74ba337663375149", null ], + [ "Underline", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa221437253ff3dc9de5d3762117f5c329", null ], + [ "Blink", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa8b0945213fe7cca2148bd54938fa16c3", null ], + [ "Black", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa405fba724b4f9bb57486ef4a328c23ec", null ], + [ "Red", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa26422e0754e279717e30f36fc9355d39", null ], + [ "Green", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aaf1abd54dd4e1ce4d273e72bf705b276f", null ], + [ "Blue", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa26854a71d7f1dd9439e0114d3961c1e4", null ], + [ "Yellow", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aac9ad26d78d153d33986dd243d79e6704", null ], + [ "Magenta", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa7b9abda5e906d86c86d0e48c68608f4f", null ], + [ "Cyan", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aac1ccdb56cc6bfa3cbe21d9edce17bed4", null ], + [ "White", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aaec78b8c3f9b9c708d6c5a60021c0df51", null ], + [ "BackBlack", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa1f0b497e6f2135f149808e108f25b1d4", null ], + [ "BackRed", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa25a764174c876db1fdfa053435624d12", null ], + [ "BackGreen", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa0056f6bdb9e774d1c251baf736545741", null ], + [ "BackBlue", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aaecc0d0c7be125b3368906502c0e0b355", null ], + [ "BackYellow", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa0ed38ef4734192d2772e0e07bd389dec", null ], + [ "BackMagenta", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa21b89f914b3f779f5eefe70a99270471", null ], + [ "BackCyan", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa585ef724bf93605bbaa3a7e582e9669b", null ], + [ "BackWhite", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa5534e933dca8208950b17034672a1ca7", null ], + [ "Default", "piincludes_8h.html#a4d8fa322c1a8b3fa285759056aae1b2aa651156cbea6768802eb95176611da012", null ] + ] ], + [ "piSwap", "piincludes_8h.html#acdace86016235bb97019f0691fb0b2ce", null ], + [ "piSwapBinary", "piincludes_8h.html#a077c15d518abc4962091fa666c4bedda", null ], + [ "piRound", "piincludes_8h.html#a983fb6261220848dead0db5ffba95071", null ], + [ "piFloor", "piincludes_8h.html#ab9e59a89deba3a70f6a7ce9e746eadc6", null ], + [ "piCeil", "piincludes_8h.html#a4956481d8bee1a43e62ce8b1489b72b0", null ], + [ "piAbs", "piincludes_8h.html#a69a3e3d862d6b51feaca8d27686dd876", null ], + [ "piMin", "piincludes_8h.html#afc6d1b1ff01ad00cda9d0df5e8dbf85f", null ], + [ "piMin", "piincludes_8h.html#a342413b3c07aed06a22289a9e0daaead", null ], + [ "piMax", "piincludes_8h.html#a3b04f3381ca3235a4fe575b4867263c6", null ], + [ "piMax", "piincludes_8h.html#a291a707199f16a78fe41d79a9b89bc00", null ], + [ "piClamp", "piincludes_8h.html#a9269f3c0357a9c7e33c8c5f346c47309", null ], + [ "piLetobe", "piincludes_8h.html#abc830007b90d3beea81c0773811dbc9e", null ], + [ "piLetobe", "piincludes_8h.html#a1de16289b486990a4af21b1faad08e0e", null ], + [ "piLetobe", "piincludes_8h.html#a142038da46a86ef1fc1ab52f57c21010", null ], + [ "letobe_s", "piincludes_8h.html#aec6bba617007bb4636bbef74038cd09a", null ], + [ "letobe_i", "piincludes_8h.html#a2107d4b68fdcfc213defacffefbc6d03", null ], + [ "errorString", "piincludes_8h.html#a0570da4d19817e08dcdd2490308c77c5", null ], + [ "PIPVersion", "piincludes_8h.html#aeb9599e6d2eecbf56d0bf78ec7d07ddf", null ], + [ "piDebug", "piincludes_8h.html#a4f24177400b625bdd603032fa6e2e14a", null ] +]; \ No newline at end of file diff --git a/doc/html/piinit_8h.html b/doc/html/piinit_8h.html new file mode 100644 index 00000000..c535418e --- /dev/null +++ b/doc/html/piinit_8h.html @@ -0,0 +1,128 @@ + + + + + + +PIP: src/core/piinit.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
piinit.h File Reference
+
+
+ +

Initialization. +More...

+

Detailed Description

+

Initialization.

+
+
+ + + + diff --git a/doc/html/piiodevice_8h.html b/doc/html/piiodevice_8h.html new file mode 100644 index 00000000..aa16f211 --- /dev/null +++ b/doc/html/piiodevice_8h.html @@ -0,0 +1,137 @@ + + + + + + +PIP: src/io/piiodevice.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
piiodevice.h File Reference
+
+
+ +

Abstract input/output device. +More...

+ + + + + +

+Classes

class  PIIODevice
 Base class for input/output classes. More...
 
+

Detailed Description

+

Abstract input/output device.

+
+
+ + + + diff --git a/doc/html/piiodevice_8h.js b/doc/html/piiodevice_8h.js new file mode 100644 index 00000000..b43f4261 --- /dev/null +++ b/doc/html/piiodevice_8h.js @@ -0,0 +1,6 @@ +var piiodevice_8h = +[ + [ "PIIODevice", "class_p_i_i_o_device.html", "class_p_i_i_o_device" ], + [ "REGISTER_DEVICE", "piiodevice_8h.html#a672a05d4391737b8fecd4524f1a47bda", null ], + [ "PIIODEVICE", "piiodevice_8h.html#a5adabd429443716b75771317ec43301b", null ] +]; \ No newline at end of file diff --git a/doc/html/pikbdlistener_8h.html b/doc/html/pikbdlistener_8h.html new file mode 100644 index 00000000..65d0150b --- /dev/null +++ b/doc/html/pikbdlistener_8h.html @@ -0,0 +1,137 @@ + + + + + + +PIP: src/system/pikbdlistener.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pikbdlistener.h File Reference
+
+
+ +

Keyboard console input listener. +More...

+ + + + + +

+Classes

class  PIKbdListener
 Keyboard console input listener. More...
 
+

Detailed Description

+

Keyboard console input listener.

+
+
+ + + + diff --git a/doc/html/pikbdlistener_8h.js b/doc/html/pikbdlistener_8h.js new file mode 100644 index 00000000..07ffc64a --- /dev/null +++ b/doc/html/pikbdlistener_8h.js @@ -0,0 +1,4 @@ +var pikbdlistener_8h = +[ + [ "PIKbdListener", "class_p_i_kbd_listener.html", "class_p_i_kbd_listener" ] +]; \ No newline at end of file diff --git a/doc/html/pimap_8h.html b/doc/html/pimap_8h.html new file mode 100644 index 00000000..fac8c132 --- /dev/null +++ b/doc/html/pimap_8h.html @@ -0,0 +1,129 @@ + + + + + + +PIP: src/containers/pimap.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
pimap.h File Reference
+
+
+ +

Associative array with custom types of key and value. +More...

+

Detailed Description

+

Associative array with custom types of key and value.

+

This file declares PIMap

+
+
+ + + + diff --git a/doc/html/pimath_8h.html b/doc/html/pimath_8h.html new file mode 100644 index 00000000..41d9b4a2 --- /dev/null +++ b/doc/html/pimath_8h.html @@ -0,0 +1,294 @@ + + + + + + +PIP: src/math/pimath.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pimath.h File Reference
+
+
+ +

Many mathematical functions and classes. +More...

+ + + + + +

+Classes

struct  TransferFunction
 Differential evaluations. More...
 
+ + + + + + + + + + + + + +

+Macros

#define PIMV_FOR(v, s)   for (uint v = s; v < Size; ++v)
 Vector templated. More...
 
#define PIMM_FOR(r, c)   for (uint c = 0; c < Cols; ++c) { for (uint r = 0; r < Rows; ++r) {
 Matrix templated. More...
 
#define PIMV_FOR(v, s)   for (uint v = s; v < size_; ++v)
 Vector templated. More...
 
#define PIMM_FOR(c, r)   for (uint c = 0; c < cols_; ++c) { for (uint r = 0; r < rows_; ++r) {
 Matrix templated. More...
 
+ + + + + + + + + + + + + + + + + +

+Functions

+template<uint CR, uint Rows0, uint Cols1, typename Type >
PIMathMatrixT< Rows0, Cols1, Type > operator* (const PIMathMatrixT< Rows0, CR, Type > &fm, const PIMathMatrixT< CR, Cols1, Type > &sm)
 Multiply matrices {Rows0 x CR} on {CR x Cols1}, result is {Rows0 x Cols1}.
 
+template<uint Cols, uint Rows, typename Type >
PIMathVectorT< Cols, Type > operator* (const PIMathMatrixT< Rows, Cols, Type > &fm, const PIMathVectorT< Rows, Type > &sv)
 Multiply matrix {Rows x Cols} on vector {Rows}, result is vector {Cols}.
 
+template<typename Type >
PIMathMatrix< Type > operator* (const PIMathMatrix< Type > &fm, const PIMathMatrix< Type > &sm)
 Multiply matrices {CR x Rows0} on {Cols1 x CR}, result is {Cols1 x Rows0}.
 
+template<typename Type >
PIMathVector< Type > operator* (const PIMathMatrix< Type > &fm, const PIMathVector< Type > &sv)
 Multiply matrix {Cols x Rows} on vector {Cols}, result is vector {Rows}.
 
+

Detailed Description

+

Many mathematical functions and classes.

+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define PIMV_FOR( v,
 
)   for (uint v = s; v < Size; ++v)
+
+ +

Vector templated.

+

Vector.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define PIMM_FOR( r,
 
)   for (uint c = 0; c < Cols; ++c) { for (uint r = 0; r < Rows; ++r) {
+
+ +

Matrix templated.

+

Matrix.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define PIMV_FOR( v,
 
)   for (uint v = s; v < size_; ++v)
+
+ +

Vector templated.

+

Vector.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define PIMM_FOR( c,
 
)   for (uint c = 0; c < cols_; ++c) { for (uint r = 0; r < rows_; ++r) {
+
+ +

Matrix templated.

+

Matrix.

+ +
+
+
+
+ + + + diff --git a/doc/html/pimath_8h.js b/doc/html/pimath_8h.js new file mode 100644 index 00000000..332a8211 --- /dev/null +++ b/doc/html/pimath_8h.js @@ -0,0 +1,12 @@ +var pimath_8h = +[ + [ "TransferFunction", "struct_transfer_function.html", null ], + [ "PIMV_FOR", "pimath_8h.html#a2701c7bffde31ab4a96bf4d7fdb6866f", null ], + [ "PIMM_FOR", "pimath_8h.html#a119d2152ee2bf3edef4d9e5a641405f7", null ], + [ "PIMV_FOR", "pimath_8h.html#a2701c7bffde31ab4a96bf4d7fdb6866f", null ], + [ "PIMM_FOR", "pimath_8h.html#a14d1a9088eff4d1065094ba1cabf395d", null ], + [ "operator*", "pimath_8h.html#a861b7fa852296cb48167d9e9ada87cef", null ], + [ "operator*", "pimath_8h.html#a9acadcce78833d8dd628e779e6269da9", null ], + [ "operator*", "pimath_8h.html#a86f4f85192137ca8ac9730333dd109a9", null ], + [ "operator*", "pimath_8h.html#a6362a90d4cb1ff0ae43649d50e9b4ec3", null ] +]; \ No newline at end of file diff --git a/doc/html/pimutex_8h.html b/doc/html/pimutex_8h.html new file mode 100644 index 00000000..c1467d0a --- /dev/null +++ b/doc/html/pimutex_8h.html @@ -0,0 +1,137 @@ + + + + + + +PIP: src/thread/pimutex.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pimutex.h File Reference
+
+
+ +

Mutex. +More...

+ + + + + +

+Classes

class  PIMutex
 Mutex. More...
 
+

Detailed Description

+

Mutex.

+
+
+ + + + diff --git a/doc/html/piobject_8h.html b/doc/html/piobject_8h.html new file mode 100644 index 00000000..94dd66eb --- /dev/null +++ b/doc/html/piobject_8h.html @@ -0,0 +1,138 @@ + + + + + + +PIP: src/core/piobject.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
piobject.h File Reference
+
+
+ +

Base object. +More...

+ + + + + +

+Classes

class  PIObject
 This is base class for any classes which use events -> handlers mechanism. More...
 
+

Detailed Description

+

Base object.

+

This file declare PIObject class and associated macros

+
+
+ + + + diff --git a/doc/html/piobject_8h.js b/doc/html/piobject_8h.js new file mode 100644 index 00000000..74a81046 --- /dev/null +++ b/doc/html/piobject_8h.js @@ -0,0 +1,44 @@ +var piobject_8h = +[ + [ "PIObject", "class_p_i_object.html", "class_p_i_object" ], + [ "PIOBJECT", "piobject_8h.html#affa62b02040517a34b3f173d804e487f", null ], + [ "PIOBJECT_PARENT", "piobject_8h.html#a4ce1840f79eac65344a4c5823f5034d4", null ], + [ "EVENT_HANDLER0", "piobject_8h.html#ab605cf0454d34cc72c65bfed2abd696a", null ], + [ "EVENT_HANDLER1", "piobject_8h.html#a56defa004e9b7efb2db50b3a43ca7225", null ], + [ "EVENT_HANDLER2", "piobject_8h.html#abb64b696544ee4ee8715add9747c1293", null ], + [ "EVENT_HANDLER3", "piobject_8h.html#af90eced49fbdb43f5fc631fa7e7a44fb", null ], + [ "EVENT_HANDLER4", "piobject_8h.html#ae8a8499ba07a4cc16c0b15c51b197d9f", null ], + [ "EVENT_HANDLER", "piobject_8h.html#ae92ae8e64fbb4c6fa7d87cc1e93d55c0", null ], + [ "EVENT_VHANDLER0", "piobject_8h.html#a338377c8ec10707dd26a168b8aef5c31", null ], + [ "EVENT_VHANDLER1", "piobject_8h.html#abf138848427466a7ae91ada5876f926d", null ], + [ "EVENT_VHANDLER2", "piobject_8h.html#ad0ba4a14c77b8d968dc13918f9b2d384", null ], + [ "EVENT_VHANDLER3", "piobject_8h.html#a4f47b429ac594cebdca1567e1b9a1021", null ], + [ "EVENT_VHANDLER4", "piobject_8h.html#a96b2461314db11f3b68942bcd4b9d13d", null ], + [ "EVENT_VHANDLER", "piobject_8h.html#a26a0e3181ebb2a90c11e9a7eb906a99e", null ], + [ "EVENT0", "piobject_8h.html#a4fa760299649bc8aeaa0dcf4d605be70", null ], + [ "EVENT1", "piobject_8h.html#a7083e0b630c70def2ce05d60d70a45b9", null ], + [ "EVENT2", "piobject_8h.html#a91d380b7235ad11b4830c4c2e8860618", null ], + [ "EVENT3", "piobject_8h.html#a685a85b0791e73158dc0173b4e18dd00", null ], + [ "EVENT4", "piobject_8h.html#a59032ae5e0b94cdfb52be1f24d5e8252", null ], + [ "EVENT", "piobject_8h.html#a7877e997621e1161f058fce90febd464", null ], + [ "CONNECTU", "piobject_8h.html#ac86f9567fcbe10d7e49685e0a01b8427", null ], + [ "CONNECT0", "piobject_8h.html#a38e74a7ce99df00a10517f5ce4aa66c5", null ], + [ "CONNECT1", "piobject_8h.html#a36132851189bb01db4957595111a28db", null ], + [ "CONNECT2", "piobject_8h.html#a850bbf4e8361a106c99da4c46f684247", null ], + [ "CONNECT3", "piobject_8h.html#ab45dbd69bde3cde22d4aba27ed585407", null ], + [ "CONNECT4", "piobject_8h.html#a34e41d730c07354e07333def3d854019", null ], + [ "CONNECT", "piobject_8h.html#a65528c74adc6691eac2c7a2f39328064", null ], + [ "WEAK_CONNECT0", "piobject_8h.html#aaaba5b68617a43903056bc175b8cd162", null ], + [ "WEAK_CONNECT1", "piobject_8h.html#a37d80492e781bf82b9c22c56977da81e", null ], + [ "WEAK_CONNECT2", "piobject_8h.html#a34134cc70172ef5a8d38ba8eb0db327d", null ], + [ "WEAK_CONNECT3", "piobject_8h.html#a601eb7e6e4c3c1a2ba741abbaf271fed", null ], + [ "WEAK_CONNECT4", "piobject_8h.html#a483ad0828f2c221308d95fd07ba1ee6e", null ], + [ "WEAK_CONNECT", "piobject_8h.html#a52fc22658e025b4c15c8a2454d81b289", null ], + [ "DISCONNECT0", "piobject_8h.html#aed7fd8edaccbbca33c51417ca43ac32a", null ], + [ "DISCONNECT1", "piobject_8h.html#ae030e8deb226c636d2df22076391f12c", null ], + [ "DISCONNECT2", "piobject_8h.html#a8f0609bfd7dfcd4512d76480bc114dab", null ], + [ "DISCONNECT3", "piobject_8h.html#af2789f99d1916f231fc579f00370fa6f", null ], + [ "DISCONNECT4", "piobject_8h.html#aedf429d3192da764163c1377cad310e3", null ], + [ "DISCONNECT", "piobject_8h.html#a587604e6f3570c0fc32794384d4d0d1f", null ], + [ "HANDLER", "piobject_8h.html#a3f7b0da6b28ced23e1deee48dde17c98", null ] +]; \ No newline at end of file diff --git a/doc/html/pip.qhp b/doc/html/pip.qhp new file mode 100644 index 00000000..b786aa15 Binary files /dev/null and b/doc/html/pip.qhp differ diff --git a/doc/html/pipacketextractor_8h.html b/doc/html/pipacketextractor_8h.html new file mode 100644 index 00000000..7de9a058 --- /dev/null +++ b/doc/html/pipacketextractor_8h.html @@ -0,0 +1,137 @@ + + + + + + +PIP: src/io/pipacketextractor.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pipacketextractor.h File Reference
+
+
+ +

Packets extractor. +More...

+ + + + + +

+Classes

class  PIPacketExtractor
 Packets extractor. More...
 
+

Detailed Description

+

Packets extractor.

+
+
+ + + + diff --git a/doc/html/pipacketextractor_8h.js b/doc/html/pipacketextractor_8h.js new file mode 100644 index 00000000..5719f2ba --- /dev/null +++ b/doc/html/pipacketextractor_8h.js @@ -0,0 +1,4 @@ +var pipacketextractor_8h = +[ + [ "PIPacketExtractor", "class_p_i_packet_extractor.html", "class_p_i_packet_extractor" ] +]; \ No newline at end of file diff --git a/doc/html/pipeer_8h.html b/doc/html/pipeer_8h.html new file mode 100644 index 00000000..d9fbc7a3 --- /dev/null +++ b/doc/html/pipeer_8h.html @@ -0,0 +1,128 @@ + + + + + + +PIP: src/io/pipeer.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
pipeer.h File Reference
+
+
+ +

Peering net node. +More...

+

Detailed Description

+

Peering net node.

+
+
+ + + + diff --git a/doc/html/piprocess_8h.html b/doc/html/piprocess_8h.html new file mode 100644 index 00000000..4188e263 --- /dev/null +++ b/doc/html/piprocess_8h.html @@ -0,0 +1,136 @@ + + + + + + +PIP: src/system/piprocess.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
piprocess.h File Reference
+
+
+ +

Process. +More...

+ + + + +

+Classes

class  PIProcess
 
+

Detailed Description

+

Process.

+
+
+ + + + diff --git a/doc/html/piprotocol_8h.html b/doc/html/piprotocol_8h.html new file mode 100644 index 00000000..b2557095 --- /dev/null +++ b/doc/html/piprotocol_8h.html @@ -0,0 +1,136 @@ + + + + + + +PIP: src/io/piprotocol.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
piprotocol.h File Reference
+
+
+ +

Highly configurable from file I/O channel. +More...

+ + + + +

+Classes

class  PIProtocol
 
+

Detailed Description

+

Highly configurable from file I/O channel.

+
+
+ + + + diff --git a/doc/html/piprotocol_8h.js b/doc/html/piprotocol_8h.js new file mode 100644 index 00000000..bfecd6a7 --- /dev/null +++ b/doc/html/piprotocol_8h.js @@ -0,0 +1,4 @@ +var piprotocol_8h = +[ + [ "PIProtocol", "class_p_i_protocol.html", "class_p_i_protocol" ] +]; \ No newline at end of file diff --git a/doc/html/piserial_8h.html b/doc/html/piserial_8h.html new file mode 100644 index 00000000..89895fe7 --- /dev/null +++ b/doc/html/piserial_8h.html @@ -0,0 +1,137 @@ + + + + + + +PIP: src/io/piserial.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
piserial.h File Reference
+
+
+ +

Serial device. +More...

+ + + + + +

+Classes

class  PISerial
 Serial device. More...
 
+

Detailed Description

+

Serial device.

+
+
+ + + + diff --git a/doc/html/piserial_8h.js b/doc/html/piserial_8h.js new file mode 100644 index 00000000..cbd25c7d --- /dev/null +++ b/doc/html/piserial_8h.js @@ -0,0 +1,4 @@ +var piserial_8h = +[ + [ "PISerial", "class_p_i_serial.html", "class_p_i_serial" ] +]; \ No newline at end of file diff --git a/doc/html/piset_8h.html b/doc/html/piset_8h.html new file mode 100644 index 00000000..c97910b1 --- /dev/null +++ b/doc/html/piset_8h.html @@ -0,0 +1,138 @@ + + + + + + +PIP: src/containers/piset.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
piset.h File Reference
+
+
+ +

Set container. +More...

+ + + + + +

+Classes

class  PISet< T >
 Set of any type. More...
 
+

Detailed Description

+

Set container.

+

This file declare PISet

+
+
+ + + + diff --git a/doc/html/pisignals_8h.html b/doc/html/pisignals_8h.html new file mode 100644 index 00000000..3c48fa54 --- /dev/null +++ b/doc/html/pisignals_8h.html @@ -0,0 +1,128 @@ + + + + + + +PIP: src/system/pisignals.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
pisignals.h File Reference
+
+
+ +

System signals. +More...

+

Detailed Description

+

System signals.

+
+
+ + + + diff --git a/doc/html/pistack_8h.html b/doc/html/pistack_8h.html new file mode 100644 index 00000000..11c2a29e --- /dev/null +++ b/doc/html/pistack_8h.html @@ -0,0 +1,129 @@ + + + + + + +PIP: src/containers/pistack.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
pistack.h File Reference
+
+
+ +

Stack container. +More...

+

Detailed Description

+

Stack container.

+

This file declare PIStack

+
+
+ + + + diff --git a/doc/html/pistatemachine_8h.html b/doc/html/pistatemachine_8h.html new file mode 100644 index 00000000..48e531a1 --- /dev/null +++ b/doc/html/pistatemachine_8h.html @@ -0,0 +1,143 @@ + + + + + + +PIP: src/core/pistatemachine.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pistatemachine.h File Reference
+
+
+ +

Base class for custom state machine. +More...

+ + + + + + + + + + + +

+Classes

class  PIStateMachine< Type >
 Base class for custom state machine. More...
 
struct  PIStateMachine< Type >::Rule
 Rule of transition between states of machine More...
 
struct  PIStateMachine< Type >::State
 State of machine More...
 
+

Detailed Description

+

Base class for custom state machine.

+
+
+ + + + diff --git a/doc/html/pistring_8h.html b/doc/html/pistring_8h.html new file mode 100644 index 00000000..66815cac --- /dev/null +++ b/doc/html/pistring_8h.html @@ -0,0 +1,201 @@ + + + + + + +PIP: src/core/pistring.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pistring.h File Reference
+
+
+ +

String. +More...

+ + + + + + + + +

+Classes

class  PIString
 String class. More...
 
class  PIStringList
 Strings array class. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+std::ostream & operator<< (std::ostream &s, const PIString &v)
 Output operator to std::ostream (cout)
 
+std::istream & operator>> (std::istream &s, PIString &v)
 Input operator from std::istream (cin)
 
+PICout operator<< (PICout s, const PIString &v)
 Output operator to PICout.
 
+PIByteArrayoperator<< (PIByteArray &s, const PIString &v)
 Output operator to PIByteArray.
 
+PIByteArrayoperator>> (PIByteArray &s, PIString &v)
 Input operator from PIByteArray.
 
+PIString operator+ (const PIString &str, const PIString &f)
 Return concatenated string.
 
+PIString operator+ (const PIString &f, const char *str)
 Return concatenated string.
 
+PIString operator+ (const PIString &f, const string &str)
 Return concatenated string.
 
+PIString operator+ (const char *str, const PIString &f)
 Return concatenated string.
 
+PIString operator+ (const string &str, const PIString &f)
 Return concatenated string.
 
+PIByteArrayoperator<< (PIByteArray &s, const PIStringList &v)
 Output operator to PIByteArray.
 
+PIByteArrayoperator>> (PIByteArray &s, PIStringList &v)
 Input operator from PIByteArray.
 
+std::ostream & operator<< (std::ostream &s, const PIStringList &v)
 Output operator to std::ostream (cout)
 
+PICout operator<< (PICout s, const PIStringList &v)
 Output operator to PICout.
 
+

Detailed Description

+

String.

+

This file declare string and string list classes

+
+
+ + + + diff --git a/doc/html/pistring_8h.js b/doc/html/pistring_8h.js new file mode 100644 index 00000000..25032b3e --- /dev/null +++ b/doc/html/pistring_8h.js @@ -0,0 +1,19 @@ +var pistring_8h = +[ + [ "PIString", "class_p_i_string.html", "class_p_i_string" ], + [ "PIStringList", "class_p_i_string_list.html", "class_p_i_string_list" ], + [ "operator<<", "pistring_8h.html#af86ed54c2bd0e7590db4ca3b6845f50f", null ], + [ "operator>>", "pistring_8h.html#a92a7c6060c9a5cea05fc97d6faea53a2", null ], + [ "operator<<", "pistring_8h.html#ab789440b8ebd894dfd628161254f057a", null ], + [ "operator<<", "pistring_8h.html#adaf9cbdf9ef8f318a08ff773a54a3d6c", null ], + [ "operator>>", "pistring_8h.html#a6cd37806e2577611e4a22dc2031fc166", null ], + [ "operator+", "pistring_8h.html#ab542a906081915a23c5e71e4d272be61", null ], + [ "operator+", "pistring_8h.html#a3c9fd9112bf9bf8add42aa4a1232f02c", null ], + [ "operator+", "pistring_8h.html#a7feead55bd8c6f9c91da7575870bbb4a", null ], + [ "operator+", "pistring_8h.html#ac6c5f17dfacd8deb8db814c69390667e", null ], + [ "operator+", "pistring_8h.html#acb64f0a2a7b71219db76b5d5f498515c", null ], + [ "operator<<", "pistring_8h.html#a08f09ee06ada0b3aab326f1c888daf4c", null ], + [ "operator>>", "pistring_8h.html#a410bed597b49992e265e0941feca5cb8", null ], + [ "operator<<", "pistring_8h.html#ab2ace08e93a4de6b184b29bf3d690467", null ], + [ "operator<<", "pistring_8h.html#a169bfa237f50a26895592fe63e2bccf1", null ] +]; \ No newline at end of file diff --git a/doc/html/pithread_8h.html b/doc/html/pithread_8h.html new file mode 100644 index 00000000..e9a5c25c --- /dev/null +++ b/doc/html/pithread_8h.html @@ -0,0 +1,138 @@ + + + + + + +PIP: src/thread/pithread.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pithread.h File Reference
+
+
+ +

Thread. +More...

+ + + + + +

+Classes

class  PIThread
 Thread class. More...
 
+

Detailed Description

+

Thread.

+

This file declare thread class and some wait functions

+
+
+ + + + diff --git a/doc/html/pithread_8h.js b/doc/html/pithread_8h.js new file mode 100644 index 00000000..a2a390e1 --- /dev/null +++ b/doc/html/pithread_8h.js @@ -0,0 +1,4 @@ +var pithread_8h = +[ + [ "PIThread", "class_p_i_thread.html", "class_p_i_thread" ] +]; \ No newline at end of file diff --git a/doc/html/pitime_8h.html b/doc/html/pitime_8h.html new file mode 100644 index 00000000..a822f3c8 --- /dev/null +++ b/doc/html/pitime_8h.html @@ -0,0 +1,272 @@ + + + + + + +PIP: src/core/pitime.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pitime.h File Reference
+
+
+ +

Time structs. +More...

+ + + + + + + + +

+Classes

class  PISystemTime
 System time. More...
 
class  PITimeMeasurer
 Time measurements. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+void msleep (int msecs)
 Sleep for "msecs" milliseconds.
 
void piUSleep (int usecs)
 Precise sleep for "usecs" microseconds. More...
 
void piMSleep (double msecs)
 Precise sleep for "msecs" milliseconds. More...
 
void piSleep (double secs)
 Precise sleep for "secs" seconds. More...
 
+PICout operator<< (PICout s, const PISystemTime &v)
 Output operator to PICout.
 
+PIByteArrayoperator<< (PIByteArray &s, const PISystemTime &v)
 Output operator to PIByteArray.
 
+PIByteArrayoperator>> (PIByteArray &s, PISystemTime &v)
 Input operator from PIByteArray.
 
PISystemTime currentSystemTime ()
 Returns current system time. More...
 
+

Detailed Description

+

Time structs.

+

Function Documentation

+ +
+
+ + + + + + + + +
void piUSleep (int usecs)
+
+ +

Precise sleep for "usecs" microseconds.

+

This function consider "usleep" offset on QNX/Linux/Mac, which is calculated with pip_sys_test program. If there is correct offset value in system config, this function wait exactly "usecs" microseconds.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void piMSleep (double msecs)
+
+inline
+
+ +

Precise sleep for "msecs" milliseconds.

+

This function exec piUSleep (msecs * 1000).

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void piSleep (double secs)
+
+inline
+
+ +

Precise sleep for "secs" seconds.

+

This function exec piUSleep (msecs * 1000000).

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
PISystemTime currentSystemTime ()
+
+inline
+
+ +

Returns current system time.

+
Deprecated:
Use PISystemTime::current() instead
+ +
+
+
+
+ + + + diff --git a/doc/html/pitime_8h.js b/doc/html/pitime_8h.js new file mode 100644 index 00000000..dff03127 --- /dev/null +++ b/doc/html/pitime_8h.js @@ -0,0 +1,13 @@ +var pitime_8h = +[ + [ "PISystemTime", "class_p_i_system_time.html", "class_p_i_system_time" ], + [ "PITimeMeasurer", "class_p_i_time_measurer.html", "class_p_i_time_measurer" ], + [ "msleep", "pitime_8h.html#a242b1482cf8e5f7a8c5d087a2d2b5e3b", null ], + [ "piUSleep", "pitime_8h.html#a905b80a2477dd23f7b2cade100c64385", null ], + [ "piMSleep", "pitime_8h.html#a10862d1267284ae224b51ad95f90c931", null ], + [ "piSleep", "pitime_8h.html#a6c5fbd8c6c0e339600675ce646bb635f", null ], + [ "operator<<", "pitime_8h.html#a6d0138248acb706f616018e64bbc64c6", null ], + [ "operator<<", "pitime_8h.html#a43f469a88331d5bf809f97f77a12e019", null ], + [ "operator>>", "pitime_8h.html#ad563e018cb30fbced03966997b2fc65a", null ], + [ "currentSystemTime", "pitime_8h.html#abcad1d713a692c67abf44720aff77abc", null ] +]; \ No newline at end of file diff --git a/doc/html/pitimer_8h.html b/doc/html/pitimer_8h.html new file mode 100644 index 00000000..cc472a38 --- /dev/null +++ b/doc/html/pitimer_8h.html @@ -0,0 +1,137 @@ + + + + + + +PIP: src/thread/pitimer.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pitimer.h File Reference
+
+
+ +

Timer. +More...

+ + + + + +

+Classes

class  PITimer
 Timer. More...
 
+

Detailed Description

+

Timer.

+
+
+ + + + diff --git a/doc/html/pitimer_8h.js b/doc/html/pitimer_8h.js new file mode 100644 index 00000000..79cd39a9 --- /dev/null +++ b/doc/html/pitimer_8h.js @@ -0,0 +1,4 @@ +var pitimer_8h = +[ + [ "PITimer", "class_p_i_timer.html", "class_p_i_timer" ] +]; \ No newline at end of file diff --git a/doc/html/piusb_8h.html b/doc/html/piusb_8h.html new file mode 100644 index 00000000..27b5bcd1 --- /dev/null +++ b/doc/html/piusb_8h.html @@ -0,0 +1,128 @@ + + + + + + +PIP: src/io/piusb.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
piusb.h File Reference
+
+
+ +

USB device. +More...

+

Detailed Description

+

USB device.

+
+
+ + + + diff --git a/doc/html/pivariant_8h.html b/doc/html/pivariant_8h.html new file mode 100644 index 00000000..14fd0a41 --- /dev/null +++ b/doc/html/pivariant_8h.html @@ -0,0 +1,138 @@ + + + + + + +PIP: src/core/pivariant.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pivariant.h File Reference
+
+
+ +

Variant type. +More...

+ + + + + +

+Classes

class  PIVariant
 Variant type. More...
 
+

Detailed Description

+

Variant type.

+

This file declares PIVariant

+
+
+ + + + diff --git a/doc/html/pivariant_8h.js b/doc/html/pivariant_8h.js new file mode 100644 index 00000000..3ebe7dec --- /dev/null +++ b/doc/html/pivariant_8h.js @@ -0,0 +1,4 @@ +var pivariant_8h = +[ + [ "PIVariant", "class_p_i_variant.html", "class_p_i_variant" ] +]; \ No newline at end of file diff --git a/doc/html/pivector_8h.html b/doc/html/pivector_8h.html new file mode 100644 index 00000000..23f2262a --- /dev/null +++ b/doc/html/pivector_8h.html @@ -0,0 +1,138 @@ + + + + + + +PIP: src/containers/pivector.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
pivector.h File Reference
+
+
+ +

Dynamic array of any type. +More...

+ + + + + +

+Classes

class  PIVector< T >
 Dynamic array of any type. More...
 
+

Detailed Description

+

Dynamic array of any type.

+

This file declares PIVector

+
+
+ + + + diff --git a/doc/html/pivector_8h.js b/doc/html/pivector_8h.js new file mode 100644 index 00000000..98025cb5 --- /dev/null +++ b/doc/html/pivector_8h.js @@ -0,0 +1,4 @@ +var pivector_8h = +[ + [ "PIVector", "class_p_i_vector.html", "class_p_i_vector" ] +]; \ No newline at end of file diff --git a/doc/html/resize.js b/doc/html/resize.js new file mode 100644 index 00000000..304fcb6b --- /dev/null +++ b/doc/html/resize.js @@ -0,0 +1,97 @@ +var cookie_namespace = 'doxygen'; +var sidenav,navtree,content,header; + +function readCookie(cookie) +{ + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) + { + var index = document.cookie.indexOf(myCookie); + if (index != -1) + { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) + { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; + } + } + return 0; +} + +function writeCookie(cookie, val, expiration) +{ + if (val==undefined) return; + if (expiration == null) + { + var date = new Date(); + date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week + expiration = date.toGMTString(); + } + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; +} + +function resizeWidth() +{ + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+"px"}); + writeCookie('width',sidenavWidth, null); +} + +function restoreWidth(navWidth) +{ + var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+6+"px"}); + sidenav.css({width:navWidth + "px"}); +} + +function resizeHeight() +{ + var headerHeight = header.outerHeight(); + var footerHeight = footer.outerHeight(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + content.css({height:windowHeight + "px"}); + navtree.css({height:windowHeight + "px"}); + sidenav.css({height:windowHeight + "px",top: headerHeight+"px"}); +} + +function initResizable() +{ + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(window).resize(function() { resizeHeight(); }); + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(document).bind('touchmove',function(e){ + var device = navigator.userAgent.toLowerCase(); + var ios = device.match(/(iphone|ipod|ipad)/); + if (ios) { + try { + var target = e.target; + while (target) { + if ($(target).css('-webkit-overflow-scrolling')=='touch') return; + target = target.parentNode; + } + e.preventDefault(); + } catch(err) { + e.preventDefault(); + } + } + }); +} + + diff --git a/doc/html/struct_p_i_byte_array_1_1_raw_data-members.html b/doc/html/struct_p_i_byte_array_1_1_raw_data-members.html new file mode 100644 index 00000000..7a36aace --- /dev/null +++ b/doc/html/struct_p_i_byte_array_1_1_raw_data-members.html @@ -0,0 +1,131 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
PIByteArray::RawData Member List
+
+
+ +

This is the complete list of members for PIByteArray::RawData, including all inherited members.

+ + + + + +
operator<<(PIByteArray &s, const PIByteArray::RawData &v)PIByteArray::RawDatafriend
operator>>(PIByteArray &s, PIByteArray::RawData v)PIByteArray::RawDatafriend
RawData(void *data=0, int size=0)PIByteArray::RawDatainline
RawData(const void *data, const int size)PIByteArray::RawDatainline
+
+ + + + diff --git a/doc/html/struct_p_i_byte_array_1_1_raw_data.html b/doc/html/struct_p_i_byte_array_1_1_raw_data.html new file mode 100644 index 00000000..f2cd2eda --- /dev/null +++ b/doc/html/struct_p_i_byte_array_1_1_raw_data.html @@ -0,0 +1,157 @@ + + + + + + +PIP: PIByteArray::RawData Struct Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
PIByteArray::RawData Struct Reference
+
+
+ +

Help struct to store/restore custom blocks of data to/from PIByteArray. + More...

+ + + + + + + + +

+Public Member Functions

RawData (void *data=0, int size=0)
 Constructs data block.
 
RawData (const void *data, const int size)
 Constructs data block.
 
+ + + + + + + +

+Friends

+PIByteArrayoperator<< (PIByteArray &s, const PIByteArray::RawData &v)
 Store operator, see Attention for details.
 
+PIByteArrayoperator>> (PIByteArray &s, PIByteArray::RawData v)
 Restore operator, see Attention for details.
 
+

Detailed Description

+

Help struct to store/restore custom blocks of data to/from PIByteArray.

+
+
+ + + + diff --git a/doc/html/struct_p_i_byte_array_1_1_raw_data.js b/doc/html/struct_p_i_byte_array_1_1_raw_data.js new file mode 100644 index 00000000..90b2dace --- /dev/null +++ b/doc/html/struct_p_i_byte_array_1_1_raw_data.js @@ -0,0 +1,7 @@ +var struct_p_i_byte_array_1_1_raw_data = +[ + [ "RawData", "struct_p_i_byte_array_1_1_raw_data.html#a57c5b593f88843f43a2644b742f10838", null ], + [ "RawData", "struct_p_i_byte_array_1_1_raw_data.html#a35220a8724f8a8a803380ae6f4653ae1", null ], + [ "operator<<", "struct_p_i_byte_array_1_1_raw_data.html#a0473accc805030f209813084ae135f40", null ], + [ "operator>>", "struct_p_i_byte_array_1_1_raw_data.html#ab6da5d995b37fa429d0f3e1288b78393", null ] +]; \ No newline at end of file diff --git a/doc/html/struct_p_i_ethernet_1_1_interface-members.html b/doc/html/struct_p_i_ethernet_1_1_interface-members.html new file mode 100644 index 00000000..55a14d2e --- /dev/null +++ b/doc/html/struct_p_i_ethernet_1_1_interface-members.html @@ -0,0 +1,141 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ + + + + + diff --git a/doc/html/struct_p_i_ethernet_1_1_interface.html b/doc/html/struct_p_i_ethernet_1_1_interface.html new file mode 100644 index 00000000..06b660f9 --- /dev/null +++ b/doc/html/struct_p_i_ethernet_1_1_interface.html @@ -0,0 +1,197 @@ + + + + + + +PIP: PIEthernet::Interface Struct Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
PIEthernet::Interface Struct Reference
+
+
+ +

Network interface descriptor. + More...

+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+bool isActive () const
 Returns if interface is active.
 
+bool isRunning () const
 Returns if interface is running.
 
+bool isBroadcast () const
 Returns if interface support broadcast.
 
+bool isMulticast () const
 Returns if interface support multicast.
 
+bool isLoopback () const
 Returns if interface is loopback.
 
+bool isPTP () const
 Returns if interface is point-to-point.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+int index
 System index.
 
+PIString name
 System name.
 
+PIString mac
 MAC address in format "hh:hh:hh:hh:hh:hh" or empty if there is no MAC address.
 
+PIString address
 IP address in format "i.i.i.i" or empty if there is no IP address.
 
+PIString netmask
 Netmask of IP address in format "i.i.i.i" or empty if there is no netmask.
 
+PIString broadcast
 Broadcast address in format "i.i.i.i" or empty if there is no broadcast address.
 
+PIString ptp
 Point-to-point address or empty if there is no point-to-point address.
 
+InterfaceFlags flags
 Flags of interface.
 
+

Detailed Description

+

Network interface descriptor.

+
+
+ + + + diff --git a/doc/html/struct_p_i_ethernet_1_1_interface.js b/doc/html/struct_p_i_ethernet_1_1_interface.js new file mode 100644 index 00000000..a348b428 --- /dev/null +++ b/doc/html/struct_p_i_ethernet_1_1_interface.js @@ -0,0 +1,17 @@ +var struct_p_i_ethernet_1_1_interface = +[ + [ "isActive", "struct_p_i_ethernet_1_1_interface.html#ab76d86b68f0da23428ea8ecee802354a", null ], + [ "isRunning", "struct_p_i_ethernet_1_1_interface.html#a5f603624bc1046421bdc75b25e6f1e78", null ], + [ "isBroadcast", "struct_p_i_ethernet_1_1_interface.html#af331db850efe21a7793bbf813f71c0b4", null ], + [ "isMulticast", "struct_p_i_ethernet_1_1_interface.html#adbfab446dc998e260231b2e7b90f5b29", null ], + [ "isLoopback", "struct_p_i_ethernet_1_1_interface.html#a469b2d721c49354fe43117cf75950920", null ], + [ "isPTP", "struct_p_i_ethernet_1_1_interface.html#a04ba0d64139f4dc46561a4a4962edbf8", null ], + [ "index", "struct_p_i_ethernet_1_1_interface.html#adabd5e847a09e6d81e5a4f7f8a33d6cc", null ], + [ "name", "struct_p_i_ethernet_1_1_interface.html#a9994b57e884e2ac345520f5743957a88", null ], + [ "mac", "struct_p_i_ethernet_1_1_interface.html#a115e97cf7fb6306138c722fdf0d0d711", null ], + [ "address", "struct_p_i_ethernet_1_1_interface.html#aa753498f5a63938b9218b3ccbd8a01bc", null ], + [ "netmask", "struct_p_i_ethernet_1_1_interface.html#ac20887e6c3e2052f67f057d85d99fca6", null ], + [ "broadcast", "struct_p_i_ethernet_1_1_interface.html#a840af238c8f0ec3216b7978d4a896ef8", null ], + [ "ptp", "struct_p_i_ethernet_1_1_interface.html#a7255bb721c0f03b4465eefa422e984da", null ], + [ "flags", "struct_p_i_ethernet_1_1_interface.html#a327b42e5652b8dfd680a3eddec948237", null ] +]; \ No newline at end of file diff --git a/doc/html/struct_p_i_state_machine_1_1_rule-members.html b/doc/html/struct_p_i_state_machine_1_1_rule-members.html new file mode 100644 index 00000000..bfc9d148 --- /dev/null +++ b/doc/html/struct_p_i_state_machine_1_1_rule-members.html @@ -0,0 +1,136 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
PIStateMachine< Type >::Rule Member List
+
+
+ +

This is the complete list of members for PIStateMachine< Type >::Rule, including all inherited members.

+ + + + + + + + + + +
addCondition(const PIString &name, int times=1)PIStateMachine< Type >::Ruleinline
autoTransitionPIStateMachine< Type >::Rule
conditionsPIStateMachine< Type >::Rule
fromPIStateMachine< Type >::Rule
handlerPIStateMachine< Type >::Rule
resetAllConditionsPIStateMachine< Type >::Rule
Rule()PIStateMachine< Type >::Ruleinline
Rule(Type f, Type t, const PIStringList &c=PIStringList(), Handler h=0, bool at=false, bool rac=false)PIStateMachine< Type >::Ruleinline
toPIStateMachine< Type >::Rule
+
+ + + + diff --git a/doc/html/struct_p_i_state_machine_1_1_rule.html b/doc/html/struct_p_i_state_machine_1_1_rule.html new file mode 100644 index 00000000..c84be724 --- /dev/null +++ b/doc/html/struct_p_i_state_machine_1_1_rule.html @@ -0,0 +1,180 @@ + + + + + + +PIP: PIStateMachine< Type >::Rule Struct Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
PIStateMachine< Type >::Rule Struct Reference
+
+
+ +

Rule of transition between states of machine + More...

+ + + + + + + + + + + +

+Public Member Functions

Rule ()
 Constuctor.
 
Rule (Type f, Type t, const PIStringList &c=PIStringList(), Handler h=0, bool at=false, bool rac=false)
 Constuctor.
 
+void addCondition (const PIString &name, int times=1)
 Add condition of transition.
 
+ + + + + + + + + + + + + + + + + + + +

+Public Attributes

+Type from
 Source state.
 
+Type to
 Destination state.
 
+PIVector< Conditionconditions
 Conditions of transition
 
+bool autoTransition
 Automatic transition.
 
+bool resetAllConditions
 Reset or not all performed conditions of machine on transition.
 
+Handler handler
 Pointer to function executed on transition.
 
+

Detailed Description

+

template<typename Type = int>
+struct PIStateMachine< Type >::Rule

+ +

Rule of transition between states of machine

+
+
+ + + + diff --git a/doc/html/struct_p_i_state_machine_1_1_rule.js b/doc/html/struct_p_i_state_machine_1_1_rule.js new file mode 100644 index 00000000..06931122 --- /dev/null +++ b/doc/html/struct_p_i_state_machine_1_1_rule.js @@ -0,0 +1,12 @@ +var struct_p_i_state_machine_1_1_rule = +[ + [ "Rule", "struct_p_i_state_machine_1_1_rule.html#a72078e5c7842786930ca73022509698c", null ], + [ "Rule", "struct_p_i_state_machine_1_1_rule.html#af18c79ccfbc149a7ab7959d0179d0276", null ], + [ "addCondition", "struct_p_i_state_machine_1_1_rule.html#abfb64b05b1288d48756a6913f7518650", null ], + [ "from", "struct_p_i_state_machine_1_1_rule.html#af2282cbdc1961296c15afd440696ab4e", null ], + [ "to", "struct_p_i_state_machine_1_1_rule.html#a68721e6beda4580b09fe52e80d47b935", null ], + [ "conditions", "struct_p_i_state_machine_1_1_rule.html#a0c021e87831b92cbbfee9c7d6585cc15", null ], + [ "autoTransition", "struct_p_i_state_machine_1_1_rule.html#ab1f2afcdaa5ff5308769e5b10930fb73", null ], + [ "resetAllConditions", "struct_p_i_state_machine_1_1_rule.html#a67df3697d1b5868ec367402d0f7c1cb6", null ], + [ "handler", "struct_p_i_state_machine_1_1_rule.html#abedad360951b33a15a01a26ab211860d", null ] +]; \ No newline at end of file diff --git a/doc/html/struct_p_i_state_machine_1_1_state-members.html b/doc/html/struct_p_i_state_machine_1_1_state-members.html new file mode 100644 index 00000000..c0601876 --- /dev/null +++ b/doc/html/struct_p_i_state_machine_1_1_state-members.html @@ -0,0 +1,132 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
PIStateMachine< Type >::State Member List
+
+
+ +

This is the complete list of members for PIStateMachine< Type >::State, including all inherited members.

+ + + + + + +
handlerPIStateMachine< Type >::State
namePIStateMachine< Type >::State
State()PIStateMachine< Type >::Stateinline
State(Type v, const PIString &n="", Handler h=0)PIStateMachine< Type >::Stateinline
valuePIStateMachine< Type >::State
+
+ + + + diff --git a/doc/html/struct_p_i_state_machine_1_1_state.html b/doc/html/struct_p_i_state_machine_1_1_state.html new file mode 100644 index 00000000..b8080529 --- /dev/null +++ b/doc/html/struct_p_i_state_machine_1_1_state.html @@ -0,0 +1,164 @@ + + + + + + +PIP: PIStateMachine< Type >::State Struct Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
PIStateMachine< Type >::State Struct Reference
+
+
+ +

State of machine + More...

+ + + + + + + + +

+Public Member Functions

State ()
 Constuctor.
 
State (Type v, const PIString &n="", Handler h=0)
 Constuctor.
 
+ + + + + + + + + + +

+Public Attributes

+Type value
 State value
 
+PIString name
 State name
 
+Handler handler
 Pointer to function executed on tick.
 
+

Detailed Description

+

template<typename Type = int>
+struct PIStateMachine< Type >::State

+ +

State of machine

+
+
+ + + + diff --git a/doc/html/struct_p_i_state_machine_1_1_state.js b/doc/html/struct_p_i_state_machine_1_1_state.js new file mode 100644 index 00000000..2a777dd5 --- /dev/null +++ b/doc/html/struct_p_i_state_machine_1_1_state.js @@ -0,0 +1,8 @@ +var struct_p_i_state_machine_1_1_state = +[ + [ "State", "struct_p_i_state_machine_1_1_state.html#a04544461dd2553e8b275bda02c7ba728", null ], + [ "State", "struct_p_i_state_machine_1_1_state.html#a85a5ee0d2f96d24beb3eb1c6c900dfa9", null ], + [ "value", "struct_p_i_state_machine_1_1_state.html#a65e79c60532034d5b2be3ee8fe672d43", null ], + [ "name", "struct_p_i_state_machine_1_1_state.html#aa0acfb1b28d4a803f7e896a3fab906f8", null ], + [ "handler", "struct_p_i_state_machine_1_1_state.html#a27a357a8b0fdc53910696032e0d5c3fd", null ] +]; \ No newline at end of file diff --git a/doc/html/struct_transfer_function-members.html b/doc/html/struct_transfer_function-members.html new file mode 100644 index 00000000..577a295b --- /dev/null +++ b/doc/html/struct_transfer_function-members.html @@ -0,0 +1,127 @@ + + + + + + +PIP: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
TransferFunction Member List
+
+
+ +

This is the complete list of members for TransferFunction, including all inherited members.

+ +
+
+ + + + diff --git a/doc/html/struct_transfer_function.html b/doc/html/struct_transfer_function.html new file mode 100644 index 00000000..36360d52 --- /dev/null +++ b/doc/html/struct_transfer_function.html @@ -0,0 +1,132 @@ + + + + + + +PIP: TransferFunction Struct Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
TransferFunction Struct Reference
+
+
+ +

Differential evaluations. + More...

+

Detailed Description

+

Differential evaluations.

+
+
+ + + + diff --git a/doc/html/svgpan.js b/doc/html/svgpan.js new file mode 100644 index 00000000..4218e79b --- /dev/null +++ b/doc/html/svgpan.js @@ -0,0 +1,319 @@ +/** + * The code below is based on SVGPan Library 1.2 and was modified for doxygen + * to support both zooming and panning via the mouse and via embedded bottons. + * + * This code is licensed under the following BSD license: + * + * Copyright 2009-2010 Andrea Leofreddi . All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY Andrea Leofreddi ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Andrea Leofreddi OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of Andrea Leofreddi. + */ + +var root = document.documentElement; +var state = 'none'; +var stateOrigin; +var stateTf = root.createSVGMatrix(); +var cursorGrab = ' url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAMAAAAolt3jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAlQTFRFAAAA////////c3ilYwAAAAN0Uk5T//8A18oNQQAAAD1JREFUeNp0zlEKACAIA9Bt9z90bZBZkQj29qFBEuBOzQHSnWTTyckEfqUuZgFvslH4ch3qLCO/Kr8cAgwATw4Ax6XRCcoAAAAASUVORK5CYII="), move'; +var zoomSteps = 10; +var zoomInFactor; +var zoomOutFactor; +var windowWidth; +var windowHeight; +var svgDoc; +var minZoom; +var maxZoom; +if (!window) window=this; + +/** + * Show the graph in the middle of the view, scaled to fit + */ +function show() +{ + if (window.innerHeight) // Firefox + { + windowWidth = window.innerWidth; + windowHeight = window.innerHeight; + } + else if (document.documentElement.clientWidth) // Chrome/Safari + { + windowWidth = document.documentElement.clientWidth + windowHeight = document.documentElement.clientHeight + } + if (!windowWidth || !windowHeight) // failsafe + { + windowWidth = 800; + windowHeight = 600; + } + minZoom = Math.min(Math.min(viewHeight,windowHeight)/viewHeight,Math.min(viewWidth,windowWidth)/viewWidth); + maxZoom = minZoom+1.5; + zoomInFactor = Math.pow(maxZoom/minZoom,1.0/zoomSteps); + zoomOutFactor = 1.0/zoomInFactor; + + var g = svgDoc.getElementById('viewport'); + try + { + var bb = g.getBBox(); // this can throw an exception if css { display: none } + var tx = (windowWidth-viewWidth*minZoom+8)/(2*minZoom); + var ty = viewHeight+(windowHeight-viewHeight*minZoom)/(2*minZoom); + var a = 'scale('+minZoom+') rotate(0) translate('+tx+' '+ty+')'; + g.setAttribute('transform',a); + } + catch(e) {} +} + +/** + * Register handlers + */ +function init(evt) +{ + svgDoc = evt.target.ownerDocument; + if (top.window && top.window.registerShow) // register show function in html doc for dynamic sections + { + top.window.registerShow(sectionId,show); + } + show(); + + setAttributes(root, { + "onmousedown" : "handleMouseDown(evt)", + "onmousemove" : "handleMouseMove(evt)", + "onmouseup" : "handleMouseUp(evt)" + }); + + if (window.addEventListener) + { + if (navigator.userAgent.toLowerCase().indexOf('webkit') >= 0 || + navigator.userAgent.toLowerCase().indexOf("opera") >= 0 || + navigator.appVersion.indexOf("MSIE") != -1) + { + window.addEventListener('mousewheel', handleMouseWheel, false); // Chrome/Safari/IE9 + } + else + { + window.addEventListener('DOMMouseScroll', handleMouseWheel, false); // Others + } + } +} + +window.onresize=function() +{ + if (svgDoc) { show(); } +} + +/** + * Instance an SVGPoint object with given event coordinates. + */ +function getEventPoint(evt) +{ + var p = root.createSVGPoint(); + p.x = evt.clientX; + p.y = evt.clientY; + return p; +} + +/** + * Sets the current transform matrix of an element. + */ +function setCTM(element, matrix) +{ + var s = "matrix(" + matrix.a + "," + matrix.b + "," + matrix.c + "," + matrix.d + "," + matrix.e + "," + matrix.f + ")"; + element.setAttribute("transform", s); +} + +/** + * Sets attributes of an element. + */ +function setAttributes(element, attributes) +{ + for (i in attributes) + element.setAttributeNS(null, i, attributes[i]); +} + +function doZoom(g,point,zoomFactor) +{ + var p = point.matrixTransform(g.getCTM().inverse()); + var k = root.createSVGMatrix().translate(p.x, p.y).scale(zoomFactor).translate(-p.x, -p.y); + var n = g.getCTM().multiply(k); + var s = Math.max(n.a,n.d); + if (s>maxZoom) n=n.translate(p.x,p.y).scale(maxZoom/s).translate(-p.x,-p.y); + else if (s'); + d.write('Print SVG'); + d.write(''); + d.write('
'+xs+'
'); + d.write(''); + d.write(''); + d.close(); + } catch(e) { + alert('Failed to open popup window needed for printing!\n'+e.message); + } +} + + + + diff --git a/doc/html/sync_off.png b/doc/html/sync_off.png new file mode 100644 index 00000000..ac778a9c Binary files /dev/null and b/doc/html/sync_off.png differ diff --git a/doc/html/sync_on.png b/doc/html/sync_on.png new file mode 100644 index 00000000..731a3d19 Binary files /dev/null and b/doc/html/sync_on.png differ diff --git a/doc/html/tab_a.png b/doc/html/tab_a.png new file mode 100644 index 00000000..91472f9a Binary files /dev/null and b/doc/html/tab_a.png differ diff --git a/doc/html/tab_b.png b/doc/html/tab_b.png new file mode 100644 index 00000000..55db23b0 Binary files /dev/null and b/doc/html/tab_b.png differ diff --git a/doc/html/tab_h.png b/doc/html/tab_h.png new file mode 100644 index 00000000..166e9e15 Binary files /dev/null and b/doc/html/tab_h.png differ diff --git a/doc/html/tab_s.png b/doc/html/tab_s.png new file mode 100644 index 00000000..498a0610 Binary files /dev/null and b/doc/html/tab_s.png differ diff --git a/doc/html/tabs.css b/doc/html/tabs.css new file mode 100644 index 00000000..c38443e4 --- /dev/null +++ b/doc/html/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #36325F; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/doc/html/using_advanced.html b/doc/html/using_advanced.html new file mode 100644 index 00000000..e7613203 --- /dev/null +++ b/doc/html/using_advanced.html @@ -0,0 +1,117 @@ + + + + + + +PIP: Advanced using + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
Advanced using
+
+
+

Sorry, creativity crysis xD

+
+
+ + + + diff --git a/doc/html/using_basic.html b/doc/html/using_basic.html new file mode 100644 index 00000000..16c9395e --- /dev/null +++ b/doc/html/using_basic.html @@ -0,0 +1,208 @@ + + + + + + +PIP: Getting started + + + + + + + + + + + + + +
+
+ + + + + + +
+
PIP +  0.4.1_alpha3 +
+
Platform-Independent Primitives
+
+
+ + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
Getting started
+
+
+

Many novice programmers are solved many common task with system integrity: output to console, keyboard buttons press detecting, working with serial ports, ethernet or files, and many other. These tasks can solve this library, and code, based only on PIP will be compile and work similar on many systems: Windows, any Linux, Red Hat, FreeBSD, MacOS X and QNX. Typical application on PIP looks like this:
+

#include <pip.h>
+
+
+
// declare key press handler
+
void key_event(char key, void * );
+
+
+
PIConsole console(false, key_event); // don`t start now, key handler is "key_event"
+
+
+
// some vars
+
int i = 2, j = 3;
+
+
+
// implicit key press handler
+
void key_event(char key, void * ) {
+
switch (key) {
+
case '-':
+
i--;
+
break;
+
case '+':
+
i++;
+
break;
+
case '(':
+
j--;
+
break;
+
case ')':
+
j++;
+
break;
+
};
+
};
+
+
+
class MainClass: public PITimer {
+
PIOBJECT(MainClass)
+
public:
+
MainClass() {}
+
protected:
+
void tick(void * data, int delimiter) {
+
piCout << "timer tick";
+
// timer tick
+
}
+
};
+
+
+
MainClass main_class;
+
+
+
int main(int argc, char * argv[]) {
+
// enabling auto-detection of exit button press, by default 'Q' (shift+q)
+
console.enableExitCapture();
+
+
// if we want to parse command-line arguments
+
PICLI cli(argc, argv);
+
cli.addArgument("console"); // "-c" or "--console"
+
cli.addArgument("debug"); // "-d" or "--debug"
+
+
// enabling or disabling global debug flag
+
piDebug = cli.hasArgument("debug");
+
+
// configure console
+
console.addTab("first tab", '1');
+
console.addString("PIP console", 1, PIConsole::Bold);
+
console.addVariable("int var (i)", &i, 1);
+
console.addVariable("int green var (j)", &j, 1, PIConsole::Green);
+
console.addString("'-' - i--", 2);
+
console.addString("'+' - i++", 2);
+
console.addString("'(' - j--", 2);
+
console.addString("')' - j++", 2);
+
console.addTab("second tab", '2');
+
console.addString("col 1", 1);
+
console.addString("col 2", 2);
+
console.addString("col 3", 3);
+
console.setTab("first tab");
+
+
// start output to console if "console" argument exists
+
if (cli.hasArgument("console"))
+
console.start();
+
+
// start main class, e.g. 40 Hz
+
main_class.start(25.);
+
+
// wait for 'Q' press, independently if console is started or not
+
console.waitForFinish();
+
+
return 0;
+
};
+

This code demonstrates simple interactive configurable program, which can be started with console display or not, and with debug or not. MainClass is central class that also can be inherited from PIThread and reimplement run() function.
+ Many PIP classes has events and event handlers, which can be connected one to another. Details you can see at PIObject reference page (Events and Event handlers).
+ To configure your program from file use PIConfig.
+ If you want more information see Advanced using

+
+
+ + + + diff --git a/doc/images/events_handlers.png b/doc/images/events_handlers.png new file mode 100644 index 00000000..c217975e Binary files /dev/null and b/doc/images/events_handlers.png differ diff --git a/doc/images/packet_detection.png b/doc/images/packet_detection.png new file mode 100644 index 00000000..13579623 Binary files /dev/null and b/doc/images/packet_detection.png differ diff --git a/doc/images/piconfig.png b/doc/images/piconfig.png new file mode 100644 index 00000000..c6697501 Binary files /dev/null and b/doc/images/piconfig.png differ diff --git a/doc/images/piconnection.png b/doc/images/piconnection.png new file mode 100644 index 00000000..8971ab76 Binary files /dev/null and b/doc/images/piconnection.png differ diff --git a/doc/images/piconnection_conf.png b/doc/images/piconnection_conf.png new file mode 100644 index 00000000..c42eb7de Binary files /dev/null and b/doc/images/piconnection_conf.png differ diff --git a/doc/images/piconnection_filters.png b/doc/images/piconnection_filters.png new file mode 100644 index 00000000..17072759 Binary files /dev/null and b/doc/images/piconnection_filters.png differ diff --git a/doc/images/piconnection_senders.png b/doc/images/piconnection_senders.png new file mode 100644 index 00000000..a63a96ef Binary files /dev/null and b/doc/images/piconnection_senders.png differ diff --git a/doc/images/piconsole_layout.png b/doc/images/piconsole_layout.png new file mode 100644 index 00000000..ad74a90e Binary files /dev/null and b/doc/images/piconsole_layout.png differ diff --git a/utils/code_model_generator/CMakeFiles/CMakeDirectoryInformation.cmake b/utils/code_model_generator/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 00000000..ec597a55 --- /dev/null +++ b/utils/code_model_generator/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/andrey/linux_build/libs") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/andrey/linux_build/libs") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/utils/code_model_generator/CMakeFiles/progress.marks b/utils/code_model_generator/CMakeFiles/progress.marks new file mode 100644 index 00000000..b6a7d89c --- /dev/null +++ b/utils/code_model_generator/CMakeFiles/progress.marks @@ -0,0 +1 @@ +16 diff --git a/utils/remote_console/CMakeFiles/CMakeDirectoryInformation.cmake b/utils/remote_console/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 00000000..ec597a55 --- /dev/null +++ b/utils/remote_console/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/andrey/linux_build/libs") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/andrey/linux_build/libs") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/utils/remote_console/CMakeFiles/progress.marks b/utils/remote_console/CMakeFiles/progress.marks new file mode 100644 index 00000000..60d3b2f4 --- /dev/null +++ b/utils/remote_console/CMakeFiles/progress.marks @@ -0,0 +1 @@ +15 diff --git a/utils/system_daemon/CMakeFiles/CMakeDirectoryInformation.cmake b/utils/system_daemon/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 00000000..3a183a56 --- /dev/null +++ b/utils/system_daemon/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "MinGW Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "C:/libs") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "C:/libs") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/utils/system_daemon/CMakeFiles/progress.marks b/utils/system_daemon/CMakeFiles/progress.marks new file mode 100644 index 00000000..53457f87 --- /dev/null +++ b/utils/system_daemon/CMakeFiles/progress.marks @@ -0,0 +1 @@ +15 diff --git a/utils/system_test/CMakeFiles/CMakeDirectoryInformation.cmake b/utils/system_test/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 00000000..ec597a55 --- /dev/null +++ b/utils/system_test/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/andrey/linux_build/libs") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/andrey/linux_build/libs") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/utils/system_test/CMakeFiles/progress.marks b/utils/system_test/CMakeFiles/progress.marks new file mode 100644 index 00000000..60d3b2f4 --- /dev/null +++ b/utils/system_test/CMakeFiles/progress.marks @@ -0,0 +1 @@ +15