# memberdef

refid: ae2a8796d296a5139414ca3e6c3e61d8a
name: addDevice
definition: PIIODevice * PIConnection::DevicePool::addDevice
type: PIIODevice *
scope: PIConnection::DevicePool
argsstring:
(PIConnection *parent, const PIString &fp, PIIODevice::DeviceMode mode=PIIODevice::ReadWrite, bool start=true)


refid: af2e42a391ca7eb215de51af19985de7a
name: getValue
definition: PIConfig::Entry & PIConfig::Entry::getValue
type: Entry &
argsstring: (const PIString &vname, const PIString &def=PIString(), bool *exists=0)
scope: PIConfig::Entry
briefdescription: Returns entry with name "vname" and default value "def".
detaileddescription:
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 \b false  


refid: a607789d09caf49071872633ee508c15b
name: fileEnd
definition: void PIBinaryLog::fileEnd
type: void
argsstring: ()
scope: PIBinaryLog
briefdescription:
Create new binlog file in \a logDir, if successful returns filename, else returns empty string.
Filename is like  \a filePrefix + "yyyy_MM_dd__hh_mm_ss.binlog".


refid: a6e3d3ea7f1938edb666b78e5a732e478
name: filterID
definition: PIVector<int> PIBinaryLog::filterID
type: PIVector< int >
scope: PIBinaryLog
briefdescription:
Array of ID, that BinLog can read from binlog file, when use \a read function, or in \a ThreadedRead.


refid: a02634ed26d5e5ae07c31d17ea9216f98
name: setRapidStart
definition: void PIBinaryLog::setRapidStart
type: void
argsstring: (bool enabled)
scope: PIBinaryLog
briefdescription:
If enabled BinLog \a ThreadedRead starts without delay for first record, e.g. first record will be readed immediately.


refid: af94884c1eabe193a21b1991cf09bcc50
name: setPlaySpeed
definition: void PIBinaryLog::setPlaySpeed
type: void
argsstring: (float speed)
scope: PIBinaryLog
detaileddescription: Set play speed, used only if \a playMode = \a PlayVariableSpeed, default value 1.0
briefdescription:
Set play speed multiplyer, used only in \a PlayMode = \a PlayRealTime default value 1x.
If "speedX" > 0 than it use as speed increase by X times, else as speed decrease by X times.
While is running this function does nothing and returns false. If "speedX" is set, returns true.


refid: a14e2dda93e6e19c2b9cf003d4c5d70fd
name: read
definition: int PIBinaryLog::read
type: int
argsstring: (void *read_to, int max_size)
scope: PIBinaryLog
briefdescription:
Read one message from binlog file, with ID contains in "filterID" or any ID, if "filterID" is empty.


refid: ad5e869cdec63462ff6a21c8625551a96
name: constructFullPath
definition: PIString PIBinaryLog::constructFullPath
type: PIString
argsstring: () const
scope: PIBinaryLog
briefdescription:
Reimplement to construct full unambiguous string, describes this device, default returns \a fullPathPrefix() + "://" + \a path()


refid: ae728df2cfb529e5d3bee2c2a327503cc
name: configureFromFullPath
definition: void PIBinaryLog::configureFromFullPath
type: void
argsstring: (const PIString &full_path)
scope: PIBinaryLog
briefdescription:
Reimplement to configure your device with parameters of full unambiguous string. Default implementation does nothing.


refid: a78ea56ff4489d441205ded106c63966e
name: threadedRead
definition: bool PIBinaryLog::threadedRead
type: bool
argsstring: (uchar *readed, int size)
scope: PIBinaryLog
briefdescription:
Function executed when thread read some data, default implementation execute external slot "ret_func_".


refid: a2dbfe5b635bd51817c347aadbf05e829
name: base64Table
definition: const char PIByteArray::base64Table
type: const char
argsstring: [64]
scope: PIByteArray
initializer:
= {
0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
0x59, 0x5a, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66,
0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e,
0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76,
0x77, 0x78, 0x79, 0x7a, 0x30, 0x31, 0x32, 0x33,
0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x2b, 0x2f}


refid: a450e8ac720c8b0f6223ad2bf42f83ae2
name: ADD_TO_COLLECTION
scope: PICollection
briefdescription: Add existing element "object" in group with name "group".
detaileddescription:
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. \n "object" should to
be pointer to object based on PIObject.  


refid: a78cc4937360f5e286cdd8baf403edfec
name: ADD_NEW_TO_COLLECTION
scope: PICollection
briefdescription: Add new element of class "class" in group with name "group".
detaileddescription:
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. \n "class" should to
be name of the any class based on PIObject.  


refid: afa9ff95ee07a0426a06196cdb0674bb1
name: getValue
definition: PIConfig::Entry & PIConfig::getValue
type: Entry &
argsstring: (const PIString &vname, const PIString &def=PIString(), bool *exists=0)
scope: PIConfig
briefdescription:
Returns top-level entry with name "vname", if doesn`t exists return entry with value "def" and set *exist to false.


refid: a21a16d4652c57e310f9e4eb4e40dea39
name: setValue
definition: void PIConfig::setValue
type: void
argsstring: (const PIString &name, const PIString &value, const PIString &type="s", bool write=true)
scope: PIConfig
briefdescription:
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.


refid: ab0fd0d0f7932d805655908447dddf4ea
name: setValue
definition: void PIConfig::setValue
type: void
argsstring: (const PIString &name, const PIStringList &value, bool write=true)
scope: PIConfig
briefdescription:
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.


refid: ab321f10c0a70bb1e357a09879431b08c
name: setValue
definition: void PIConfig::setValue
type: void
argsstring: (const PIString &name, const char *value, bool write=true)
scope: PIConfig
briefdescription:
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.


refid: a47fd7b93880a60ceabaa95401fc006c9
name: setValue
definition: void PIConfig::setValue
type: void
argsstring: (const PIString &name, const bool value, bool write=true)
scope: PIConfig
briefdescription:
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.


refid: a05152c400b1bcc94154ce54050dfbdd8
name: setValue
definition: void PIConfig::setValue
type: void
argsstring: (const PIString &name, const short value, bool write=true)
scope: PIConfig
briefdescription:
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.


refid: ac99bcbe1e6656c15481d2b4e7a6aacae
name: setValue
definition: void PIConfig::setValue
type: void
argsstring: (const PIString &name, const float value, bool write=true)
scope: PIConfig
briefdescription:
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.


refid: a78a788e328f8ec243c8cd6f93aca47bd
name: configureFromConfig
definition: bool PIConnection::configureFromConfig
type: bool
argsstring: (const PIString &config, const PIString &name)
scope: PIConnection
detaileddescription: \b Warning: all devices, filters and channels removed before configure!
briefdescription:
Configure connection from config file "config" from section "name". Returns if configuration was successful.


refid: abef3fbce379e0f8cf01b3c12c1e6b297
name: addDevice
definition: PIIODevice * PIConnection::addDevice
type: PIIODevice *
argsstring: (const PIString &full_path, PIIODevice::DeviceMode mode=PIIODevice::ReadWrite, bool start=false)
scope: PIConnection
briefdescription: Add device with full path "full_path", open mode "mode" to Device pool and connection.
detaileddescription:
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 \a startThreadedRead()
or \a startAllThreadedReads(). By default, read thread doesn`t start  


refid: ab6579532c7de05b4ac379a9ca2ea8ec9
name: removeDevice
definition: bool PIConnection::removeDevice
type: bool
argsstring: (const PIString &full_path)
scope: PIConnection
briefdescription: Remove device with full path "full_path" from connection.
detaileddescription:
Returns if device was removed. If there is no connection bounded to this device,
it will be removed from Device pool  


refid: a1105a544b2018fbee5ccf8bf026991c1
name: addFilter
definition: PIPacketExtractor * PIConnection::addFilter
type: PIPacketExtractor *
scope: PIConnection
briefdescription: Add filter with name "name" to device with full path "full_path_name" or filter "full_path_name".
argsstring:
(const PIString &name, const PIString &full_path_name, PIPacketExtractor::SplitMode mode=PIPacketExtractor::None)

detaileddescription:
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
\n \b Attention! "mode" is altual olny if new filter was created!  


refid: aee76c16fda7f9e6f09748caa1e512487
name: addFilter
definition: PIPacketExtractor* PIConnection::addFilter
type: PIPacketExtractor *
scope: PIConnection
briefdescription: Add filter with name "name" to device "dev".
argsstring:
(const PIString &name, const PIIODevice *dev, PIPacketExtractor::SplitMode mode=PIPacketExtractor::None)


refid: a82a9d3c484bbc073ef7d9196343e1368
name: removeFilter
definition: bool PIConnection::removeFilter
type: bool
argsstring: (const PIString &name, const PIString &full_path_name)
scope: PIConnection
detaileddescription: If there is no devices bounded to this filter, it will be removed. Returns if device was removed
briefdescription:
Remove from filter with name "name" device with full path "full_path_name" or filter "full_path_name".


refid: ac633cbd86559b6c5f39c2de7d02d3c6f
name: addChannel
definition: bool PIConnection::addChannel
type: bool
argsstring: (const PIString &name_from, const PIString &name_to)
scope: PIConnection
briefdescription: Add to connection channel from "name_from" to "name_to".
detaileddescription:
"name_from" and "name_to" can be full pathes of devices or filter names.
Returns \b false if there if no such device or filter, else create channel and returns \b true  


refid: ab512962f328b702d416a13d577937524
name: removeChannel
definition: bool PIConnection::removeChannel
type: bool
argsstring: (const PIString &name_from, const PIString &name_to)
scope: PIConnection
briefdescription: Remove from connection channel from "name_from" to "name_to".
detaileddescription:
"name_from" and "name_to" can be full pathes of devices or filter names.
Returns \b false if there if no such device or filter, else remove channel and returns \b true  


refid: a95bcc784d1436285666d141955468227
name: removeChannel
definition: bool PIConnection::removeChannel
type: bool
argsstring: (const PIString &name_from)
scope: PIConnection
briefdescription: Remove from connection all channels from "name_from".
detaileddescription:
"name_from" can be full path of device or filter name.
Returns \b false if there if no such device or filter, else remove channels and returns \b true  


refid: a51c44629c4a2eb7194bfabf16e8c1f5a
name: addSender
definition: void PIConnection::addSender
type: void
argsstring: (const PIString &name, const PIString &full_path, float frequency, bool start=false)
scope: PIConnection
briefdescription: Add to connection sender with name "name" device with full path "full_path".
detaileddescription:
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 \a startSender()
\n \b Attention! "frequency" is altual olny if new sender was created!  


refid: afc32d50f589771ab51d90df92960a9af
name: senderFrequency
definition: float PIConnection::senderFrequency
type: float
argsstring: (const PIString &name) const
scope: PIConnection
briefdescription:
Returns sender "name" timer frequency, -1 if there is no such sender, or 0 if sender is not started yet.


refid: a8331d46bea526c5f74958315d725e14b
name: diagnostic
definition: PIDiagnostics * PIConnection::diagnostic
type: PIDiagnostics *
argsstring: (const PIString &full_path_name) const
scope: PIConnection
briefdescription:
Returns PIDiagnostics * assosiated with device with full path "full_path_name" or filter "full_path_name".


refid: a37960527c1357e6e2e58e2656c21719b
name: write
definition: int PIConnection::write
type: int
argsstring: (const PIString &full_path, const PIByteArray &data)
scope: PIConnection
briefdescription:
Write data "data" to device with full path "full_path" and returns result of \a write() function of device.


refid: a9ae57b8ab5c4f8538633bf8dc8a15e67
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const PIString *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)

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


refid: a6389f65b8835a38a60bf5ee2f2a43712
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const char *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)

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


refid: a3b06530b893c79d11cf875419a834cd0
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const bool *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)

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


refid: ac53481fa1109e55fc1a6b00c9d963f90
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const short *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)


refid: aee3ced19ce3abda81a1afd1164a1561d
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const int *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)


refid: a27b939e27bc97c10eab59411de9fb526
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const long *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)


refid: a7d7ff34b90be97a0b9cab63419ee26c2
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const llong *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)


refid: afa2c5fbf172ba93197b9b2f5c6653d71
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const uchar *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)


refid: a2326d0f1a333927d2754830cea35a4ac
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const ushort *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)


refid: a5206ecd0cb4d5c17d2f8cece88cbee4e
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const uint *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)


refid: aed85986ef4d195ec22641fc723bc7422
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const ulong *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)


refid: a4a5ef27f2e7dbc0b3a657f543e21e580
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const ullong *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)


refid: aac91f944400e09e1d07c5d6862691078
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const float *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)


refid: ac92363d6e3aff60b8b27215fce4f7cbb
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const double *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)


refid: acf8668140c47e5ee0ac2fc100ebcaf46
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const PISystemTime *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)


refid: a8a71fccd3ad2e19b13045ef6e90d9546
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const PIProtocol *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)

detaileddescription:
This function add to column "column" next lines:
* "protocol <name>"
* "Rec - receiverDeviceName": \a PIProtocol::receiverDeviceState
* "Send - senderDeviceName": \a PIProtocol::senderDeviceState
* "Received count": \a PIProtocol::receiveCount
* "Invalid  count": \a PIProtocol::wrongCount
* "Missed   count": \a PIProtocol::missedCount
* "Sended   count": \a PIProtocol::sendCount
* "Immediate Frequency, Hz": \a PIProtocol::immediateFrequency
* "Integral  Frequency, Hz": \a PIProtocol::integralFrequency
* "Receive speed": \a PIProtocol::receiveSpeed
* "Send    speed": \a PIProtocol::sendSpeed
* "Receiver history size": \a PIProtocol::receiverHistorySize
* "Sender   history size": \a PIProtocol::senderHistorySize
* "Disconnect Timeout, s": \a PIProtocol::disconnectTimeout
* "Quality": \a PIProtocol::quality


refid: a36d5583199e73951f650f58dfc9bc0f3
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const PIDiagnostics *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)

detaileddescription:
This function add to column "column" next lines:
* "<name> diagnostics"
* "Received count": \a PIDiagnostics::receiveCount
* "Invalid  count": \a PIDiagnostics::wrongCount
* "Sended   count": \a PIDiagnostics::sendCount
* "Immediate Frequency, Hz": \a PIDiagnostics::immediateFrequency
* "Integral  Frequency, Hz": \a PIDiagnostics::integralFrequency
* "Receive speed": \a PIDiagnostics::receiveSpeed
* "Send    speed": \a PIDiagnostics::sendSpeed
* "Quality": \a PIDiagnostics::quality


refid: a186cb00464b06d5595cacc9ca74f49ee
name: addVariable
definition: void PIConsole::addVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const PISystemMonitor *ptr, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)


refid: afafc641d9512134155c491145e8db6dd
name: addBitVariable
definition: void PIConsole::addBitVariable
type: void
scope: PIConsole
argsstring:
(const PIString &name, const void *ptr, int fromBit, int bitsCount, int column=1, PIFlags< PIConsole::Format > format=PIConsole::Normal)

briefdescription:
Add to current tab to column "column" bits field with label "name", pointer "ptr" and format "format".


refid: a3ca9fbac2890b6385fa47dc8c6ab189b
name: space
definition: PICout & PICout::space
type: PICout &
argsstring: ()
scope: PICout
briefdescription: Conditional put space character to output.
detaileddescription:
If it is not a first output and control \a AddSpaces is set
space character is put \sa \a quote(), \a newLine()  


refid: a96c9e326cb4467a6412170967cd86625
name: PICRC
definition: PICRC< L >::PICRC
scope: PICRC< L >
argsstring:
(const uint_cl< L > &poly, bool reverse_poly_, const uint_cl< L > &initial, const uint_cl< L > &out_xor)


refid: a1cc5d83511749f17f5473234568b17f5
name: tick
definition: void PIDiagnostics::tick
type: void
argsstring: (void *data, int delimiter)
scope: PIDiagnostics
detaileddescription:
Virtual timer execution function, similar to "slot" or event \a void timeout(void * data, int delimiter).
By default is empty.  


refid: a77b555fc82243b3e998cf2b008008f0f
name: send
definition: bool PIEthernet::send
type: bool
argsstring: (const void *data, int size, bool threaded=false)
scope: PIEthernet
briefdescription:
Send data "data" with size "size" to address \a sendAddress() for UDP or \a readAddress() for TCP_Client.


refid: a06c2ca73668cbdefc9fad4749b465ff0
name: write
definition: int PIEthernet::write
type: int
argsstring: (const void *data, int max_size)
scope: PIEthernet
briefdescription:
Send data "read_to" with size "max_size" to address \a sendAddress() for UDP or \a readAddress() for TCP_Client.


refid: af6a952895c0e75d5420b5671c929721a
name: configureDevice
definition: bool PIEthernet::configureDevice
type: bool
argsstring: (const void *e_main, const void *e_parent=0)
scope: PIEthernet
briefdescription:
Reimplement to configure device from entries "e_main" and "e_parent", cast arguments to \a PIConfig::Entry*.


refid: ad83802b50958b28193a523144b7e8d55
name: setVariable
definition: void PIEvaluator::setVariable
type: void
argsstring: (int index, complexd value=0.)
scope: PIEvaluator
briefdescription:
Set variable value with index "index" to value "value". Don<tt>t add variable if it doesn</tt>t exists.


refid: a487f41a96ba933e50e9ef1358e73d472
name: parse
definition: int PIEvaluator::parse
type: int
argsstring: (const PIString &string, int offset=0)
scope: PIEvaluator
inbodydescription:
qDebug() << "to parse :" + string;
cout << "           "; for (int i = 0; i < slen; i++) cout << preproc->elements[i + offset].type; cout << endl;  

qDebug() << "function: " + cfunc.identifier; 

qDebug() << "arument: " << carg; 

qDebug() << "arument: " << carg; 

cout << endl; 


refid: ad124410ef23cc138f3f9e6f40b3b288f
name: ftbase_ftbasegenerateplanrec
definition: void PIFFT::ftbase_ftbasegenerateplanrec
type: void
scope: PIFFT
argsstring:
(int n, int tasktype, ftplan *plan, int *plansize, int *precomputedsize, int *planarraysize, int *tmpmemsize, int *stackmemsize, ae_int_t stackptr, int debugi=0)


refid: a8efea35aa674eadcbcb716d896ca5183
name: ftbase_ffticltrec
definition: void PIFFT::ftbase_ffticltrec
type: void
scope: PIFFT
argsstring:
(PIVector< double > *a, int astart, int astride, PIVector< double > *b, int bstart, int bstride, int m, int n)


refid: ac6eaa85cbd4f4f639add072f174d843b
name: setThreadedReadSlot
definition: void PIIODevice::setThreadedReadSlot
type: void
argsstring: (ReadRetFunc func)
scope: PIIODevice
briefdescription: Set "threaded read slot".
detaileddescription:
Set external static function of threaded read that will be executed
at every successful threaded read. Function should have format
"bool func(void * data, uchar * readed, int size)"  


refid: a52c3127c3940d0a37e42b38b0fd1cf71
name: setThreadedReadBufferSize
definition: void PIIODevice::setThreadedReadBufferSize
type: void
argsstring: (int new_size)
scope: PIIODevice
briefdescription: Set size of threaded read buffer.
detaileddescription:
Default size is 4096 bytes. If your device can read at single read
more than 4096 bytes you should use this function to adjust buffer size  


refid: aa4991bd904757496dcd41d0d614a7a59
name: readForTime
definition: PIByteArray PIIODevice::readForTime
type: PIByteArray
argsstring: (double timeout_ms)
scope: PIIODevice
briefdescription:
Read from device for "timeout_ms" milliseconds and return readed data as PIByteArray. Timeout should to be greater than 0.


refid: afa5ccc05c7551d10f0c311e4aa534cd8
name: configure
definition: bool PIIODevice::configure
type: bool
argsstring: (const PIString &config_file, const PIString &section, bool parent_section=false)
scope: PIIODevice
briefdescription:
Configure device from section "section" of file "config_file", if "parent_section" parent section also will be read.


refid: ac47c4f61ade6d4f9a847e0d55abcf150
name: createFromFullPath
definition: PIIODevice * PIIODevice::createFromFullPath
type: PIIODevice *
argsstring: (const PIString &full_path)
scope: PIIODevice
detaileddescription:
To function \a configureFromFullPath() "full_path" passed without \a fullPathPrefix() + "://".
See \ref PIIODevice_sec7  

briefdescription:
Try to determine suitable device, create new one, configure it with \a configureFromFullPath() and returns it.


refid: add5b851e98d22dd4d7482a8e509113dc
name: readDeviceSetting
definition: T readDeviceSetting
type: T
argsstring: (const PIString &name, const T &def, const PIConfig::Entry *em, const PIConfig::Entry *ep)
scope: PIIODevice
briefdescription: Service function. useful for configuring devices.
detaileddescription:
Function takes entry name "name", default value "def" and two
\a 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. \n This function useful to read settings
from configuration file in implementation \a PIIODevice::configureDevice() function  


refid: a672a05d4391737b8fecd4524f1a47bda
name: REGISTER_DEVICE
scope: PIIODevice
briefdescription:
Use this macro to enable automatic creation instances of your class with \a createFromFullPath() function.


refid: ab5ce99cddb632dfaa9fd837712d11ea9
name: addProtocol
definition: void PIMultiProtocol::addProtocol
type: void
scope: PIMultiProtocol
argsstring:
(const PIString &config, const PIString &name, void *recHeaderPtr=0, int recHeaderSize=0, void *recDataPtr=0, int recDataSize=0, void *sendDataPtr=0, int sendDataSize=0)


refid: aa571ad61ee7bd5fcf60f6f5032a16441
name: lock
definition: void PIMutex::lock
type: void
argsstring: ()
scope: PIMutex
briefdescription: Lock mutex.
detaileddescription:
If mutex is unlocked it set to locked state and returns immediate.
If mutex is already locked function blocks until mutex will be unlocked  


refid: a5c4ed063c5c7d7ee94ff3402d320851a
name: tryLock
definition: bool PIMutex::tryLock
type: bool
argsstring: ()
scope: PIMutex
briefdescription: Try to lock mutex.
detaileddescription:
If mutex is unlocked it set to locked state and returns "true" immediate.
If mutex is already locked function returns immediate an returns "false"  


refid: a716043ace43469524c5c0ade1006b768
name: raiseEvent
definition: static void PIObject::raiseEvent
type: void
scope: PIObject
argsstring:
(PIObject *sender, const PIString &event, const T0 &v0=T0(), const T1 &v1=T1(), const T2 &v2=T2(), const T3 &v3=T3())


refid: a8b77e094321a84fdf2708e8ef167e3da
name: raiseEvent
definition: static void PIObject::raiseEvent
type: void
scope: PIObject
argsstring:
(const PIString &destObject, const PIString &name, const T0 &v0=T0(), const T1 &v1=T1(), const T2 &v2=T2())


refid: aa83ac9e50738fb3db9c7000a28d31a67
name: raiseEvent
definition: static void PIObject::raiseEvent
type: void
scope: PIObject
argsstring:
(const PIString &destObject, const PIString &name, const T0 &v0=T0(), const T1 &v1=T1(), const T2 &v2=T2(), const T3 &v3=T3())


refid: a2f43644909496ba11ca294a67ed18deb
name: emitter
definition: PIObject* PIObject::emitter
type: PIObject *
argsstring: () const
scope: PIObject
briefdescription:
Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.


refid: a722b67a967e55918f6921de66ecffce9
name: piCoutObj
scope: PIObject
briefdescription:
Macro used for conditional (piDebug and PIObject::debug()) output to PICout for subclasses of PIObject.


refid: affa62b02040517a34b3f173d804e487f
name: PIOBJECT
scope: PIObject
briefdescription:
you should use this macro after class declaration to use EVENT and EVENT_HANDLER and correct piCoutObj output


refid: abb64b696544ee4ee8715add9747c1293
name: EVENT_HANDLER2
scope: PIObject
initializer: ret name(type0 var0, type1 var1)
briefdescription:
declare event handler \"event\" with name \"name\" and return type \"ret\", ret name(type0 var0, type1 var1)


refid: af90eced49fbdb43f5fc631fa7e7a44fb
name: EVENT_HANDLER3
scope: PIObject
initializer: ret name(type0 var0, type1 var1, type2 var2)
briefdescription:
declare event handler \"event\" with name \"name\" and return type \"ret\", ret name(type0 var0, type1 var1, type2 var2)


refid: ae8a8499ba07a4cc16c0b15c51b197d9f
name: EVENT_HANDLER4
scope: PIObject
initializer: ret name(type0 var0, type1 var1, type2 var2, type3 var3)
briefdescription:
declare event handler \"event\" with name \"name\" and return type \"ret\", ret name(type0 var0, type1 var1, type2 var2, type3 var3)


refid: a338377c8ec10707dd26a168b8aef5c31
name: EVENT_VHANDLER0
scope: PIObject
initializer: virtual ret name()
briefdescription:
declare virtual event handler \"event\" with name \"name\" and return type \"ret\", virtual ret name()


refid: abf138848427466a7ae91ada5876f926d
name: EVENT_VHANDLER1
scope: PIObject
initializer: virtual ret name(type0 var0)
briefdescription:
declare virtual event handler \"event\" with name \"name\" and return type \"ret\", virtual ret name(type0 var0)


refid: ad0ba4a14c77b8d968dc13918f9b2d384
name: EVENT_VHANDLER2
scope: PIObject
initializer: virtual ret name(type0 var0, type1 var1)
briefdescription:
declare virtual event handler \"event\" with name \"name\" and return type \"ret\", virtual ret name(type0 var0, type1 var1)


refid: a4f47b429ac594cebdca1567e1b9a1021
name: EVENT_VHANDLER3
scope: PIObject
initializer: virtual ret name(type0 var0, type1 var1, type2 var2)
briefdescription:
declare virtual event handler \"event\" with name \"name\" and return type \"ret\", virtual ret name(type0 var0, type1 var1, type2 var2)


refid: a96b2461314db11f3b68942bcd4b9d13d
name: EVENT_VHANDLER4
scope: PIObject
initializer: virtual ret name(type0 var0, type1 var1, type2 var2, type3 var3)
briefdescription:
declare virtual event handler \"event\" with name \"name\" and return type \"ret\", virtual ret name(type0 var0, type1 var1, type2 var2, type3 var3)


refid: a59032ae5e0b94cdfb52be1f24d5e8252
name: EVENT4
scope: PIObject
initializer: void name(type0 var0, type1 var1, type2 var2, type3 var3);
briefdescription:
declare event \"event\" with name \"name\", void name(type0 var0, type1 var1, type2 var2, type3 var3);


refid: ac86f9567fcbe10d7e49685e0a01b8427
name: CONNECTU
scope: PIObject
briefdescription:
connect event \"event\" from object \"src\"  to  event handler \"handler\". \"Event\" and \"handler\" must has equal argument lists.


refid: a38e74a7ce99df00a10517f5ce4aa66c5
name: CONNECT0
scope: PIObject
briefdescription:
connect event \"event\" from object \"src\"  to  event handler \"handler\" with return type \"ret\" from object \"dest\" with check of event and handler exists


refid: aaaba5b68617a43903056bc175b8cd162
name: WEAK_CONNECT0
scope: PIObject
briefdescription:
connect event \"event\" from object \"src\"  to  event handler \"handler\" with return type \"ret\" from object \"dest\" without check of event exists


refid: aed7fd8edaccbbca33c51417ca43ac32a
name: DISCONNECT0
scope: PIObject
briefdescription:
piDisconnect event \"event\" from object \"src\"  from  event handler \"handler\" with return type \"ret\" from object \"dest\"


refid: ab35777c26316da887e36b0eeb56ef239
name: setHeader
definition: void PIPacketExtractor::setHeader
type: void
argsstring: (const PIByteArray &data)
scope: PIPacketExtractor
briefdescription:
Set header data, used for PIPacketExtractor::Header and PIPacketExtractor::HeaderAndFooter algorithms.


refid: aaf0e85876d15690e47bced1da78efa65
name: setFooter
definition: void PIPacketExtractor::setFooter
type: void
argsstring: (const PIByteArray &data)
scope: PIPacketExtractor
briefdescription:
Set footer data, used for PIPacketExtractor::Footer and PIPacketExtractor::HeaderAndFooter algorithms.


refid: af22580e67cd2601575a7834a4c9b414c
name: payloadSize
definition: int PIPacketExtractor::payloadSize
type: int
argsstring: () const
scope: PIPacketExtractor
briefdescription:
Returns current payload size, used for PIPacketExtractor::Header and PIPacketExtractor::Footer algorithms.


refid: a8e6ff4a862b5fc4826ceae42d630174c
name: header
definition: PIByteArray PIPacketExtractor::header
type: PIByteArray
argsstring: () const
scope: PIPacketExtractor
briefdescription:
Returns current header data, used for PIPacketExtractor::Header and PIPacketExtractor::HeaderAndFooter algorithms.


refid: a6382b9238ce84d3c93044dc96748d42a
name: footer
definition: PIByteArray PIPacketExtractor::footer
type: PIByteArray
argsstring: () const
scope: PIPacketExtractor
briefdescription:
Returns current footer data, used for PIPacketExtractor::Footer and PIPacketExtractor::HeaderAndFooter algorithms.


refid: a96d2078759a69327089faeb37e09bf69
name: validateHeader
definition: virtual bool PIPacketExtractor::validateHeader
type: bool
argsstring: (uchar *src, uchar *rec, int size)
scope: PIPacketExtractor
briefdescription: Function to validate header.
detaileddescription:
\param src Your header content
\param rec Received header
\param size Header size


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


refid: ad52e9d11097e5b1d846787fcd1acb5ed
name: validateFooter
definition: virtual bool PIPacketExtractor::validateFooter
type: bool
argsstring: (uchar *src, uchar *rec, int size)
scope: PIPacketExtractor
briefdescription: Function to validate footer.
detaileddescription:
\param src Your footer content
\param rec Received footer
\param size Footer size


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


refid: ad2a66303f8ca8155a30b8a9ca2c6d213
name: read
definition: int PISerial::read
type: int
argsstring: (void *read_to, int max_size)
scope: PISerial
briefdescription: Basic read function.
detaileddescription:
Read to pointer "read_to" no more than "max_size". If read is
set to blocking this function will be wait at least one byte.
\returns Readed bytes count
\sa \a readData()  


refid: aaf313932c76742eac32a96587717f51a
name: read
definition: bool PISerial::read
type: bool
argsstring: (void *read_to, int max_size, double timeout_ms)
scope: PISerial
briefdescription: Advanced read function.
detaileddescription:
Read to pointer "read_to" no more than "max_size" and no longer
than "timeout_ms" milliseconds. If "timeout_ms" < 0 function will be
wait forever until "max_size" will be readed. If size <= 0 function
immediate returns \b false. For read data with unknown size use function
\a readData().
\returns \b True if readed bytes count = "max_size", else \b false
\sa \a readData()  


refid: abf3341090279466c6a02c8f934b9cf30
name: read
definition: PIString PISerial::read
type: PIString
argsstring: (int size=-1, double timeout_ms=1000.)
scope: PISerial
briefdescription: Advanced read function.
detaileddescription:
Read all or no more than "size" and no longer than
"timeout_ms" milliseconds. If "timeout_ms" < 0 function will be
wait forever until "size" will be readed. If "size" <= 0 
function will be read all until "timeout_ms" elaped. \n If size <= 0
and "timeout_ms" <= 0 function immediate returns empty string.
\n This function similar to \a readData() but returns data as string.
\sa \a readData()  


refid: ad6fe5249fcb25b7d169aa9f8cee21b63
name: readData
definition: PIByteArray PISerial::readData
type: PIByteArray
argsstring: (int size=-1, double timeout_ms=1000.)
scope: PISerial
briefdescription: Advanced read function.
detaileddescription:
Read all or no more than "size" and no longer than
"timeout_ms" milliseconds. If "timeout_ms" < 0 function will be
wait forever until "size" will be readed. If "size" <= 0 
function will be read all until "timeout_ms" elaped. \n If size <= 0
and "timeout_ms" <= 0 function immediate returns empty byte array.
\n This function similar to \a read() but returns data as byte array.
\sa \a read()  


refid: acb24e9d5668d83f423577e61031fe11c
name: write
definition: int PISerial::write
type: int
argsstring: (const void *data, int max_size, bool wait=false)
scope: PISerial
detaileddescription: \returns sended bytes count
briefdescription:
Write to device data "data" with maximum size "max_size" and wait for data written if "wait" is \b true.


refid: a9c99718e73bd8f9e55992bf9ccd439ef
name: send
definition: bool PISerial::send
type: bool
argsstring: (const void *data, int size, bool wait=false)
scope: PISerial
detaileddescription: \returns \b true if sended bytes count = "size"
briefdescription:
Write to device data "data" with maximum size "size" and wait for data written if "wait" is \b true.


refid: aee180e7f75ece9aef1c3d8a94095ed21
name: addRule
definition: void PIStateMachine< Type >::addRule
type: void
scope: PIStateMachine< Type >
briefdescription: Add rule of transition.
argsstring:
(Type from, Type to, const PIString &condition, Handler handler=0, bool autoTransition=false, bool resetAllConditions=false)


refid: a2bda5abc394ca0d479faf01050c5b843
name: addRule
definition: void PIStateMachine< Type >::addRule
type: void
scope: PIStateMachine< Type >
briefdescription: Add rule of transition.
argsstring:
(Type from, Type to, const PIStringList &conditions=PIStringList(), Handler handler=0, bool autoTransition=false, bool resetAllConditions=false)


refid: af4aa7b86c70425bfc9690e4c27ab6cf7
name: switchToState
definition: bool PIStateMachine< Type >::switchToState
type: bool
argsstring: (Type to)
scope: PIStateMachine< Type >
briefdescription: Try to switch machine state to state "to".
detaileddescription:
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 \a tick().
\return \c true if state switched immediately, otherwise \c false  


refid: a188ccdfc73f6deea7325a0c2710a08c8
name: toBaseN
definition: const char PIString::toBaseN
type: const char
argsstring: []
scope: PIString
initializer:
= {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
									'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
									'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
									'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^'}


refid: acb47c58e2bbbd443d551ad234a8ea44c
name: fromBaseN
definition: const int PIString::fromBaseN
type: const int
argsstring: []
scope: PIString
initializer:
= {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
									-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
									-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
									0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,
									-1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
									25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -1,
									-1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
									25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
									-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
									-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
									-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
									-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
									-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
									-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
									-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
									-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}


refid: a3eec9656b507d8d71ab2f58c551a03ff
name: operator const char *
definition: PIString::operator const char *
argsstring: ()
scope: PIString
briefdescription: Return c-string representation of string.
detaileddescription:
Converts content of string to c-string and return
pointer to first char. This buffer is valid until new convertion
or execution \a data() or \a toByteArray().\n
Example: \snippet pistring.cpp PIString::char*  


refid: afdeb3714be4ad6a1bf8f2478f657f510
name: mid
definition: PIString PIString::mid
type: PIString
argsstring: (const int start, const int len=-1) const
scope: PIString
briefdescription: Return part of string from symbol at index "start" and maximum length "len".
detaileddescription:
All variants demonstrated in example: \snippet pistring.cpp PIString::mid
\sa \a left(), \a right()  


refid: a1329bf4f870ef9417f30baf23a0589f9
name: cutMid
definition: PIString & PIString::cutMid
type: PIString &
argsstring: (const int start, const int len)
scope: PIString
briefdescription: Remove part of string from symbol as index "start" and maximum length "len" and return this string.
detaileddescription:
All variants demonstrated in example: \snippet pistring.cpp PIString::cutMid
\sa \a cutLeft(), \a cutRight()  


refid: a5409e1aecee919acb3995fe2d98396d2
name: replace
definition: PIString & PIString::replace
type: PIString &
argsstring: (const int from, const int count, const PIString &with)
scope: PIString
detaileddescription: Example: \snippet pistring.cpp PIString::replace_0 \sa \a replaced(), \a replaceAll()
briefdescription:
Replace part of string from index "from" and maximum length "len"
with string "with" and return this string.


refid: abdde92d6e5efa3a0f6a53e7a6cb27b64
name: replaced
definition: PIString PIString::replaced
type: PIString
argsstring: (const int from, const int count, const PIString &with) const
scope: PIString
detaileddescription: Example: \snippet pistring.cpp PIString::replaced_0 \sa \a replace(), \a replaceAll()
briefdescription:
Replace part copy of this string from index "from" and maximum length "len"
with string "with" and return copied string.


refid: a1fb70092a8723959b7f0718676dea6ed
name: replace
definition: PIString & PIString::replace
type: PIString &
argsstring: (const PIString &what, const PIString &with, bool *ok=0)
scope: PIString
briefdescription: Replace first founded substring "what" with string "with" and return this string.
detaileddescription:
If "ok" is not null, it set to "true" if something was replaced\n
Example: \snippet pistring.cpp PIString::replace_1
\sa \a replaced(), \a replaceAll()  


refid: a4e91d076a5c2488986f5e9860e65d8c7
name: replaced
definition: PIString PIString::replaced
type: PIString
argsstring: (const PIString &what, const PIString &with, bool *ok=0) const
scope: PIString
briefdescription: Replace first founded substring "what" with string "with" and return copied string.
detaileddescription:
If "ok" is not null, it set to "true" if something was replaced\n
Example: \snippet pistring.cpp PIString::replaced_1
\sa \a replaced(), \a replaceAll()  


refid: ad17b4d47401a31557a06490efd9e40e5
name: expandRightTo
definition: PIString& PIString::expandRightTo
type: PIString &
argsstring: (const int len, const PIChar &c)
scope: PIString
detaileddescription: Example: \snippet pistring.cpp PIString::expandRightTo \sa \a expandLeftTo()
briefdescription:
Enlarge string to length "len" by addition sequence of symbols
"c" at the end of string, and return this string.


refid: aeecafb43528159d4d65dc9a5e2ca26e4
name: expandLeftTo
definition: PIString& PIString::expandLeftTo
type: PIString &
argsstring: (const int len, const PIChar &c)
scope: PIString
detaileddescription: Example: \snippet pistring.cpp PIString::expandLeftTo \sa \a expandRightTo()
briefdescription:
Enlarge string to length "len" by addition sequence of symbols
"c" at the beginning of string, and return this string.


refid: a2717788f206607e15afa2eaa2466f2fb
name: takeSymbol
definition: PIString PIString::takeSymbol
type: PIString
argsstring: ()
scope: PIString
briefdescription: Take a symbol from the begin of this string and return it.
detaileddescription:
Example: \snippet pistring.cpp PIString::takeSymbol
\sa \a takeWord(), \a takeCWord(), \a takeLine(), \a takeNumber(), \a takeRange()  


refid: a66dfa56b97db69f1b3046bfed79d8dd9
name: takeWord
definition: PIString PIString::takeWord
type: PIString
argsstring: ()
scope: PIString
briefdescription: Take a word from the begin of this string and return it.
detaileddescription:
Example: \snippet pistring.cpp PIString::takeWord
\sa \a takeSymbol(), \a takeCWord(), \a takeLine(), \a takeNumber(), \a takeRange()  


refid: a15391624f236a1c0bf2b1f6c90a42027
name: takeCWord
definition: PIString PIString::takeCWord
type: PIString
argsstring: ()
scope: PIString
briefdescription: Take a word with letters, numbers and '_' symbols from the begin of this string and return it.
detaileddescription:
Example: \snippet pistring.cpp PIString::takeCWord
\sa \a takeSymbol(), \a takeWord(), \a takeLine(), \a takeNumber(), \a takeRange()  


refid: a32449c92418db399e96faeb0e67ce6b8
name: takeLine
definition: PIString PIString::takeLine
type: PIString
argsstring: ()
scope: PIString
briefdescription: Take a line from the begin of this string and return it.
detaileddescription:
Example: \snippet pistring.cpp PIString::takeLine
\sa \a takeSymbol(), \a takeWord(), \a takeCWord(), \a takeNumber(), \a takeRange()  


refid: a39c2f4b34d43c3f2dd2c85eb37959cba
name: takeNumber
definition: PIString PIString::takeNumber
type: PIString
argsstring: ()
scope: PIString
briefdescription: Take a number with C-format from the begin of this string and return it.
detaileddescription:
Example: \snippet pistring.cpp PIString::takeNumber
\sa \a takeSymbol(), \a takeWord(), \a takeCWord(), \a takeLine(), \a takeRange()  


refid: ada971d7b12743e827811e124c7bb2809
name: takeRange
definition: PIString PIString::takeRange
type: PIString
argsstring: (const PIChar &start, const PIChar &end, const PIChar &shield= '\\')
scope: PIString
briefdescription: Take a range between "start" and "end" symbols from the begin of this string and return it.
detaileddescription:
"Shield" symbol prevent analysis of the next symbol.
Example: \snippet pistring.cpp PIString::takeRange
\sa \a takeSymbol(), \a takeWord(), \a takeLine(), \a takeNumber()  


refid: a512a49d09681e5ecc87fb5c2b51c7bba
name: lengthAscii
definition: int PIString::lengthAscii
type: int
argsstring: () const
scope: PIString
briefdescription: Return real bytes count of this string.
detaileddescription:
It`s equivalent length of char sequence
returned by function \a data() \n
Example: \snippet pistring.cpp PIString::lengthAscii
\sa \a data()  


refid: ac1f4d3aad27aa25a5e92f092d2890188
name: data
definition: const char * PIString::data
type: const char *
argsstring: () const
scope: PIString
briefdescription: Return \c char * representation of this string.
detaileddescription:
This function fill buffer by sequence
of chars. Minimum length of this buffer is count
of symbols. Returned \c char * is valid until next
execution of this function.\n
Example: \snippet pistring.cpp PIString::data
\sa \a lengthAscii()  


refid: ad290b000832a523754c315404b36ce9b
name: sleep
definition: void PISystemTime::sleep
type: void
argsstring: ()
scope: PISystemTime
detaileddescription:
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 \a PISystemTime::current() thread will be sleep almost forever.  


refid: a5fb7161b42840be7fb2f738046887b39
name: start
definition: bool PIThread::start
type: bool
argsstring: (int timer_delay)
scope: PIThread
briefdescription: Start thread.
detaileddescription:
Start execution of \a 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 \a setSlot() if it`s not null

\return \c false if thread already started or can`t start thread  


refid: a38785bbce4ef9afb7116cea78beffa08
name: start
definition: bool PIThread::start
type: bool
argsstring: (ThreadFunc func, int timer_delay)
scope: PIThread
briefdescription: Start thread.
detaileddescription:
Overloaded function. Set external function "func" before start

\return \c false if thread already started or can`t start thread  


refid: a44a9fe015ea8288a0a336b614ff2962b
name: startOnce
definition: bool PIThread::startOnce
type: bool
argsstring: ()
scope: PIThread
briefdescription: Start thread without internal loop.
detaileddescription:
Start execution of \a run() once. Thread also exec
external function set by \a setSlot() if it`s not null

\return \c false if thread already started or can`t start thread  


refid: a37e179466edd8011aca3a07e10153e62
name: stop
definition: void PIThread::stop
type: void
argsstring: (bool wait)
scope: PIThread
briefdescription: Stop thread.
detaileddescription:
Stop execution of thread and wait for it finish
if "wait" is \c true. This function can block for infinite
time if "wait" is \c true and any of thread function is
busy forever  


refid: a8bcffcc0d12bdd6d8ddd455a15241313
name: waitForStart
definition: bool PIThread::waitForStart
type: bool
argsstring: (int timeout_msecs)
scope: PIThread
briefdescription: Wait for thread start.
detaileddescription:
This function block until thread finish for "timeout_msecs"
or forever if "timeout_msecs" < 0

\return \c false if timeout is exceeded  


refid: ae325266c7f3484ad52c0a5c690cc222c
name: waitForFinish
definition: bool PIThread::waitForFinish
type: bool
argsstring: (int timeout_msecs)
scope: PIThread
briefdescription: Wait for thread finish.
detaileddescription:
This function block until thread start for "timeout_msecs"
or forever if "timeout_msecs" < 0

\return \c false if timeout is exceeded  


refid: adaa3b942365cb17b3e985648128e5f7e
name: PIThread
definition: PIThread::PIThread
argsstring: (void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)
scope: PIThread
briefdescription:
Contructs thread with custom data "data", external function "func" and main loop delay "loop_delay".


refid: a9b9d77de23a343ccabc56d6658f9d874
name: reset
definition: void PITimeMeasurer::reset
type: void
argsstring: ()
scope: PITimeMeasurer
briefdescription: Set internal time mark to current system time.
detaileddescription:
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 \a elapsed_s(), \a elapsed_m(),
\a elapsed_u() or \a elapsed_n() functions.
\sa \a elapsed_s(), \a elapsed_m(), \a elapsed_u(), \a elapsed_n()  


refid: a65431888fc569599e6b3ff27c1617e00
name: start
definition: bool PITimer::start
type: bool
argsstring: (double interval_ms_d)
scope: PITimer
briefdescription: Start timer with \b msecs loop delay.
detaileddescription:
Start execution of timer functions with frequency = 1. / msecs Hz.
Instead of \a start(int msecs) function this variant allow start timer
with frequencies more than 1 kHz  


refid: a707cb908c36f42dab13338c42ede4a81
name: tickEvent
definition: void PITimer::tickEvent
type: void
argsstring: (void *data_, int delimiter)
scope: PITimer
briefdescription: Raise on timer tick.
detaileddescription:
\b Data can be set with function \a setData(void * data) or from constructor.
\b Delimiter if frequency delimiter, 1 for main loop.  


refid: a9adb44018cf731bad2b7dcce2dde3684
name: toBool
definition: bool PIVariant::toBool
type: bool
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as boolean.
detaileddescription:
In case of numeric types returns \b true if value != 0. \n
In case of String type returns \a PIString::toBool(). \n
In case of StringList type returns \b false if string list is empty,
otherwise returns \a PIString::toBool() of first string. \n
In case of other types returns \b false.  


refid: aef7526f9ffb911ac818c13a4fa8de923
name: toInt
definition: int PIVariant::toInt
type: int
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as int.
detaileddescription:
In case of numeric types returns integer value. \n
In case of String type returns \a PIString::toInt(). \n
In case of StringList type returns \b 0 if string list is empty,
otherwise returns \a PIString::toInt() of first string. \n
In case of other types returns \b 0.  


refid: ad6f468658cc0803d7ec532c8ebaf394e
name: toLLong
definition: llong PIVariant::toLLong
type: llong
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as long long.
detaileddescription:
In case of numeric types returns integer value. \n
In case of String type returns \a PIString::toLLong(). \n
In case of StringList type returns \b 0L if string list is empty,
otherwise returns \a PIString::toLLong() of first string. \n
In case of other types returns \b 0L.  


refid: a7765fde4363c83ef630ca53ea23b447f
name: toFloat
definition: float PIVariant::toFloat
type: float
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as float.
detaileddescription:
In case of numeric types returns float value. \n
In case of String type returns \a PIString::toFloat(). \n
In case of StringList type returns \b 0.f if string list is empty,
otherwise returns \a PIString::toFloat() of first string. \n
In case of other types returns \b 0.f.  


refid: a3f92e859630f5c853c644b494a194798
name: toDouble
definition: double PIVariant::toDouble
type: double
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as double.
detaileddescription:
In case of numeric types returns double value. \n
In case of String type returns \a PIString::toDouble(). \n
In case of StringList type returns \b 0. if string list is empty,
otherwise returns \a PIString::toDouble() of first string. \n
In case of other types returns \b 0..  


refid: aa101193f0a15d6232a8ab6ed39dfcd66
name: toLDouble
definition: ldouble PIVariant::toLDouble
type: ldouble
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as long double.
detaileddescription:
In case of numeric types returns long double value. \n
In case of String type returns \a PIString::toLDouble(). \n
In case of StringList type returns \b 0. if string list is empty,
otherwise returns \a PIString::toLDouble() of first string. \n
In case of other types returns \b 0..  


refid: a95a6405618b51ea226fc1aa788ad2a90
name: toComplexd
definition: complexd PIVariant::toComplexd
type: complexd
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as complex.
detaileddescription:
In case of numeric types returns complex value. \n
In case of String type returns \a PIString::toDouble(). \n
In case of StringList type returns \b 0. if string list is empty,
otherwise returns \a PIString::toDouble() of first string. \n
In case of other types returns \b 0..  


refid: a02ed61b14e6a9c71510d5c4f05d218c4
name: toComplexld
definition: complexld PIVariant::toComplexld
type: complexld
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as long complex.
detaileddescription:
In case of numeric types returns long complex value. \n
In case of String type returns \a PIString::toLDouble(). \n
In case of StringList type returns \b 0. if string list is empty,
otherwise returns \a PIString::toLDouble() of first string. \n
In case of other types returns \b 0..  


refid: a5b25bc3f783d63dad8ee68720dbfa9ed
name: toTime
definition: PITime PIVariant::toTime
type: PITime
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as time.
detaileddescription:
In case of Time type returns time value. \n
In case of DateTime type returns time part of value. \n
In case of other types returns \a PITime().  


refid: af533ce32863a9954e7d761ef56ab582b
name: toDate
definition: PIDate PIVariant::toDate
type: PIDate
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as date.
detaileddescription:
In case of Date type returns date value. \n
In case of DateTime type returns date part of value. \n
In case of other types returns \a PIDate().  


refid: a99afae3218f68cc74bda4af6baa467d4
name: toDateTime
definition: PIDateTime PIVariant::toDateTime
type: PIDateTime
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as date and time.
detaileddescription:
In case of Time type returns time value with null date. \n
In case of Date type returns date value with null time. \n
In case of DateTime type returns date and time. \n
In case of other types returns \a PIDateTime().  


refid: af353cc0fba770fceb61a0dfa4d87eba7
name: toSystemTime
definition: PISystemTime PIVariant::toSystemTime
type: PISystemTime
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as system time.
detaileddescription:
In case of SystemTime type returns system time. \n
In case of other types returns \a PISystemTime::fromSeconds() from
double value of variant content.  


refid: ae9b75422814a712a2c52ecfe19ca13ba
name: toString
definition: PIString PIVariant::toString
type: PIString
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as string.
detaileddescription:
In case of numeric types returns \a PIString::fromNumber(). \n
In case of String type returns string value. \n
In case of StringList type returns joined string ("(" + PIStringList::join("; ") + ")"). \n
In case of BitArray or ByteArray types returns number of bits/bytes. \n
In case of Time, Date or DateTime types returns toString() of this values. \n
In case of SystemTime types returns second and nanoseconds of time
("(PISystemTime::seconds s, PISystemTime::nanoseconds ns)"). \n
In case of other types returns \b "".  


refid: a734a89a0951763bbdeae2cf16004684d
name: toStringList
definition: PIStringList PIVariant::toStringList
type: PIStringList
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as strings list.
detaileddescription:
In case of StringList type returns strings list value. \n
In case of other types returns \a PIStringList with one string value of variant content.  


refid: a0b4708bac5608fa3676bf409b76b5d23
name: toBitArray
definition: PIBitArray PIVariant::toBitArray
type: PIBitArray
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as bit array.
detaileddescription:
In case of BitArray type returns bit array value. \n
In case of other types returns \a PIBitArray from \a toLLong() value.  


refid: acadd0aee889bc4bd59fdd8bae13410df
name: toByteArray
definition: PIByteArray PIVariant::toByteArray
type: PIByteArray
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as byte array.
detaileddescription:
In case of ByteArray type returns byte array value. \n
In case of other types returns empty \a PIByteArray.  


refid: a5b1b4af9ab4bdd8c5bda7a8223a6b6f5
name: toValue
definition: T PIVariant::toValue
type: T
argsstring: () const
scope: PIVariant
briefdescription: Returns variant content as custom type.
detaileddescription:
In case of known types this function equivalent \a to<Type> function. \n
Otherwise returns content as type T.  


refid: afb991396df6f61478ba3a314519a6446
name: fromValue
definition: static PIVariant PIVariant::fromValue
type: PIVariant
argsstring: (const T &v)
scope: PIVariant
briefdescription: Returns new variant from custom type.
detaileddescription:
In case of known types this function equivalent \a PIVariant(T) constructors. \n
Otherwise returns variant with content \a v and type Custom.  


refid: af3dc895f63a2b64927918f1be97e8947
name: resize
definition: void PIVector< T >::resize
type: PIVector< T > &
argsstring: (size_t new_size, const T &f=T())
scope: PIVector< T >
briefdescription: Resize vector to size "size".
detaileddescription:
Elements removed from end of vector if new size < old size, or added new elements = "new_type" if new size > old size.\n
Example: \snippet picontainers.cpp PIVector::resize
\sa \a size(), \a clear()


refid: a0e43a8466d800cd8ac31f91dc8f6e6a3
name: remove
definition: PIVector< T > & PIVector< T >::remove
type: PIVector< T > &
argsstring: (size_t index, size_t count=1)
scope: PIVector< T >
briefdescription: Remove one element by index "index" and return reference to vector.
detaileddescription:
Remove "count" elements by first index "index" and return reference to vector.

Example: \snippet picontainers.cpp PIVector::remove_0
\sa \a removeOne(), \a removeAll()

Example: \snippet picontainers.cpp PIVector::remove_1
\sa \a removeOne(), \a removeAll()


refid: ad05af044be450c64a351df48a96fea97
name: sort
definition: PIVector< T > & PIVector< T >::sort
type: PIVector< T > &
argsstring: (CompareFunc compare=compare_func)
scope: PIVector< T >
briefdescription: Sort vector using quick sort algorithm and standard compare function.
detaileddescription:
Example: \snippet picontainers.cpp PIVector::sort_0 
With custom compare function: \snippet picontainers.cpp PIVector::sort_1


refid: aa1d6c69a5266ecc1169c029b548b6a99
name: methods_desc
definition: const char Solver::methods_desc
type: const char
argsstring: []
scope: Solver
initializer:
= "b{Methods:}\
\n  -1 - Global settings\
\n  01 - Eyler 1\
\n  02 - Eyler 2\
\n  14 - Runge-Kutta 4\
\n  23 - Adams-Bashfort-Moulton 3\
\n  24 - Adams-Bashfort-Moulton 4\
\n  32 - Polynomial Approximation 2\
\n  33 - Polynomial Approximation 3\
\n  34 - Polynomial Approximation 4\
\n  35 - Polynomial Approximation 5"


refid: aa579232460ca92efa5c1befd41d923ba
name: piForeach
briefdescription: Macro for iterate any container.
detaileddescription:
Use this macros instead of standard "for"
to get read/write access to each element of container.
Pass direction is direct \n
Example: \snippet picontainers.cpp foreach


refid: a807914d038e5a193d2e36b4b82b6df96
name: piForeachC
briefdescription: Macro for iterate any container only for read.
detaileddescription:
Use this macros instead of standard "for"
to get read access to each element of container.
Pass direction is direct \n
Example: \snippet picontainers.cpp foreachC


refid: a0e968bf591ab05721d5ef2ce201e09ed
name: piForeachR
briefdescription: Macro for iterate any container with reverse direction.
detaileddescription:
Use this macros instead of standard "for"
to get read/write access to each element of container.
Pass direction is reverse \n
Example: \snippet picontainers.cpp foreachR


refid: ad2685d4ca04df1f2154844e5984b41d8
name: piForeachCR
briefdescription: Macro for iterate any container only for read with reverse direction.
detaileddescription:
Use this macros instead of standard "for"
to get read access to each element of container.
Pass direction is reverse \n
Example: \snippet picontainers.cpp foreachCR


refid: a2856211f6ffe4d8a55509b911eb0df2b
name: __PIDEQUE_SIMPLE_TYPE__
initializer:
template<> inline void PIDeque<T>::newT(T * dst, const T * src, size_t s) {memcpy(dst, src, s * sizeof(T));} \
	template<> inline void PIDeque<T>::deleteT(T * d, size_t sz) {;} \
	template<> inline void PIDeque<T>::elementNew(T * to, const T & from) {(*to) = from;} \
	template<> inline void PIDeque<T>::elementDelete(T & from) {;}


refid: a21e30308fafbe36f7d49bf9402146254
name: __PIVECTOR_SIMPLE_TYPE__
initializer:
template<> inline void PIVector<T>::newT(T * dst, const T * src, size_t s) {memcpy(dst, src, s * sizeof(T));} \
	template<> inline void PIVector<T>::deleteT(T * d, size_t sz) {;} \
	template<> inline void PIVector<T>::elementNew(T * to, const T & from) {(*to) = from;} \
	template<> inline void PIVector<T>::elementDelete(T & from) {;}


refid: ab8da61a42f0f76ae84a347c4a9217b31
name: PIP_BYTEARRAY_STREAM_ANY_TYPE
briefdescription:
This macro allow stream template operators for write and read any type from byte array. Use it with attention!


refid: a983fb6261220848dead0db5ffba95071
name: piRound
definition: int piRound
type: int
argsstring: (const T &v)
briefdescription: Templated function return round of float falue.
detaileddescription:
Round is the nearest integer value \n
There are some macros:
- \c piRoundf for "float"
- \c piRoundd for "double"

Example:
\snippet piincludes.cpp round  


refid: ab9e59a89deba3a70f6a7ce9e746eadc6
name: piFloor
definition: int piFloor
type: int
argsstring: (const T &v)
briefdescription: Templated function return floor of float falue.
detaileddescription:
Floor is the largest integer that is not greater than value \n
There are some macros:
- \c piFloorf for "float"
- \c piFloord for "double"

Example:
\snippet piincludes.cpp floor  


refid: a4956481d8bee1a43e62ce8b1489b72b0
name: piCeil
definition: int piCeil
type: int
argsstring: (const T &v)
briefdescription: Templated function return ceil of float falue.
detaileddescription:
Ceil is the smallest integer that is not less than value \n
There are some macros:
- \c piCeilf for "float"
- \c piCeild for "double"

Example:
\snippet piincludes.cpp ceil  


refid: a69a3e3d862d6b51feaca8d27686dd876
name: piAbs
definition: T piAbs
type: T
argsstring: (const T &v)
briefdescription: Templated function return absolute of numeric falue.
detaileddescription:
Absolute is the positive or equal 0 value \n
There are some macros:
- \c piAbss for "short"
- \c piAbsi for "int"
- \c piAbsl for "long"
- \c piAbsll for "llong"
- \c piAbsf for "float"
- \c piAbsd for "double"

Example:
\snippet piincludes.cpp abs  


refid: afc6d1b1ff01ad00cda9d0df5e8dbf85f
name: piMin
definition: T piMin
type: T
argsstring: (const T &f, const T &s)
briefdescription: Templated function return minimum of two values.
detaileddescription:
There are some macros:
- \c piMins for "short"
- \c piMini for "int"
- \c piMinl for "long"
- \c piMinll for "llong"
- \c piMinf for "float"
- \c piMind for "double"

Example:
\snippet piincludes.cpp min2  


refid: a342413b3c07aed06a22289a9e0daaead
name: piMin
definition: T piMin
type: T
argsstring: (const T &f, const T &s, const T &t)
briefdescription: Templated function return minimum of tree values.
detaileddescription:
There are some macros:
- \c piMins for "short"
- \c piMini for "int"
- \c piMinl for "long"
- \c piMinll for "llong"
- \c piMinf for "float"
- \c piMind for "double"

Example:
\snippet piincludes.cpp min3  


refid: a3b04f3381ca3235a4fe575b4867263c6
name: piMax
definition: T piMax
type: T
argsstring: (const T &f, const T &s)
briefdescription: Templated function return maximum of two values.
detaileddescription:
There are some macros:
- \c piMaxs for "short"
- \c piMaxi for "int"
- \c piMaxl for "long"
- \c piMaxll for "llong"
- \c piMaxf for "float"
- \c piMaxd for "double"

Example:
\snippet piincludes.cpp max2  


refid: a291a707199f16a78fe41d79a9b89bc00
name: piMax
definition: T piMax
type: T
argsstring: (const T &f, const T &s, const T &t)
briefdescription: Templated function return maximum of tree values.
detaileddescription:
There are some macros:
- \c piMaxs for "short"
- \c piMaxi for "int"
- \c piMaxl for "long"
- \c piMaxll for "llong"
- \c piMaxf for "float"
- \c piMaxd for "double"

Example:
\snippet piincludes.cpp max3  


refid: a9269f3c0357a9c7e33c8c5f346c47309
name: piClamp
definition: T piClamp
type: T
argsstring: (const T &v, const T &min, const T &max)
briefdescription: Templated function return clamped value.
detaileddescription:
Clamped is the not greater than "max" and not lesser than "min" value \n
There are some macros:
- \c piClamps for "short"
- \c piClampi for "int"
- \c piClampl for "long"
- \c piClampll for "llong"
- \c piClampf for "float"
- \c piClampd for "double"

Example:
\snippet piincludes.cpp clamp  


refid: a142038da46a86ef1fc1ab52f57c21010
name: piLetobe
definition: T piLetobe
type: T
argsstring: (const T &v)
briefdescription: Templated function that returns "v" with inversed byte order.
detaileddescription:
This function used to convert values between little and big endian \n
There are some macros:
- \c piLetobes for "ushort"
- \c piLetobei for "uint"
- \c piLetobel for "ulong"
- \c piLetobell for "ullong"

Example:
\snippet piincludes.cpp letobe  


refid: a905b80a2477dd23f7b2cade100c64385
name: piUSleep
definition: void piUSleep
type: void
argsstring: (int usecs)
briefdescription: Precise sleep for "usecs" microseconds.
detaileddescription:
This function consider \c "usleep" offset
on QNX/Linux/Mac, which is calculated with
\a pip_sys_test program. If there is correct
offset value in system config, this function
wait \b exactly "usecs" microseconds.  


refid: a81c138c2d84f2fa86a7a1d53f5c71aee
name: PICONFIG_GET_VALUE
initializer:
Entry & getValue(const PIString & vname, const char * def, bool * exists = 0) {return getValue(vname, PIString(def), exists);} \
	Entry & getValue(const PIString & vname, const PIStringList & def, bool * exists = 0) {return getValue(vname, def.join("%|%"), exists);} \
	Entry & getValue(const PIString & vname, const bool def, bool * exists = 0) {return getValue(vname, PIString::fromBool(def), exists);} \
	Entry & getValue(const PIString & vname, const short def, bool * exists = 0) {return getValue(vname, itos(def), exists);} \
	Entry & getValue(const PIString & vname, const int def, bool * exists = 0) {return getValue(vname, itos(def), exists);} \
	Entry & getValue(const PIString & vname, const long def, bool * exists = 0) {return getValue(vname, ltos(def), exists);} \
	Entry & getValue(const PIString & vname, const uchar def, bool * exists = 0) {return getValue(vname, uitos(def), exists);} \
	Entry & getValue(const PIString & vname, const ushort def, bool * exists = 0) {return getValue(vname, uitos(def), exists);} \
	Entry & getValue(const PIString & vname, const uint def, bool * exists = 0) {return getValue(vname, uitos(def), exists);} \
	Entry & getValue(const PIString & vname, const ulong def, bool * exists = 0) {return getValue(vname, ultos(def), exists);} \
	Entry & getValue(const PIString & vname, const float def, bool * exists = 0) {return getValue(vname, ftos(def), exists);} \
	Entry & getValue(const PIString & vname, const double def, bool * exists = 0) {return getValue(vname, dtos(def), exists);} \
	\
	Entry & getValue(const PIString & vname, const char * def, bool * exists = 0) const {return getValue(vname, PIString(def), exists);} \
	Entry & getValue(const PIString & vname, const PIStringList & def, bool * exists = 0) const {return getValue(vname, def.join("%|%"), exists);} \
	Entry & getValue(const PIString & vname, const bool def, bool * exists = 0) const {return getValue(vname, PIString::fromBool(def), exists);} \
	Entry & getValue(const PIString & vname, const short def, bool * exists = 0) const {return getValue(vname, itos(def), exists);} \
	Entry & getValue(const PIString & vname, const int def, bool * exists = 0) const {return getValue(vname, itos(def), exists);} \
	Entry & getValue(const PIString & vname, const long def, bool * exists = 0) const {return getValue(vname, ltos(def), exists);} \
	Entry & getValue(const PIString & vname, const uchar def, bool * exists = 0) const {return getValue(vname, uitos(def), exists);} \
	Entry & getValue(const PIString & vname, const ushort def, bool * exists = 0) const {return getValue(vname, uitos(def), exists);} \
	Entry & getValue(const PIString & vname, const uint def, bool * exists = 0) const {return getValue(vname, uitos(def), exists);} \
	Entry & getValue(const PIString & vname, const ulong def, bool * exists = 0) const {return getValue(vname, ultos(def), exists);} \
	Entry & getValue(const PIString & vname, const float def, bool * exists = 0) const {return getValue(vname, ftos(def), exists);} \
	Entry & getValue(const PIString & vname, const double def, bool * exists = 0) const {return getValue(vname, dtos(def), exists);}


refid: a03b0a7c63c3ae228cb86af347e1ed6ec
name: ADD_VAR_BODY
initializer:
vid++; tv.id = vid; tv.name = name; tv.bitFrom = tv.bitCount = 0; tv.format = format; tv.remote = false; checkColumn(col);


