From 3e645f3c791327d168221dab0cf9f38f92533662 Mon Sep 17 00:00:00 2001
From: dhickin
Date: Fri, 3 Oct 2014 15:24:20 +0100
Subject: [PATCH] Corrected spelling in pvDataCPP.html.
---
documentation/pvDataCPP.html | 186 +++++++++++++++++------------------
1 file changed, 93 insertions(+), 93 deletions(-)
diff --git a/documentation/pvDataCPP.html b/documentation/pvDataCPP.html
index c872b15..fba8398 100644
--- a/documentation/pvDataCPP.html
+++ b/documentation/pvDataCPP.html
@@ -68,7 +68,7 @@ license.
EPICS Version 4 provides efficient
storage, access, and communication, of memory resident structured data.
-pvData is the storage compoment.
+pvData is the storage component.
pvDataCPP is the C++ implementation of pvData.
It is one part of the set of related products in the EPICS
V4 control system programming environment:
@@ -97,7 +97,7 @@ TODO.md describes things to do before the next release.
pvData is one of a set of related projects. It describes and implements
data that the other projects support. Thus it is not useful by itself but
understanding pvData is required in order to understand the other projects. The
-reader should also become familar with project pvAccess, which is
+reader should also become familiar with project pvAccess, which is
located via the same sourceforge site as this project.
The Java and C++ implementation of pvData implement the same data model but
@@ -107,7 +107,7 @@ differ in implementation because of the differences between Java and C++.
first two chapters:
- Introduction
- - A brief descripton of pvData.
+ - A brief description of pvData.
- PVData Meta Language
- A language used to describe data.
@@ -172,11 +172,11 @@ StandardPVFieldPtr standardPVField = getStandardPVField();
This creates instances of data objects.
standardField
- This provides support for introspection obects for standard fields,
+ This provides support for introspection objects for standard fields,
Standard fields are alarm, timeStamp, display, enumerated structure, and value alarm.
standardPVField
- This provides support for data obects for standard fields,
+ This provides support for data objects for standard fields,
@@ -245,7 +245,7 @@ structure
int nanoseconds
int userTag
-hardway
+hard way
structure
double value
time_t timeStamp
@@ -639,7 +639,7 @@ ev4:nt/NTUnio:1.0
0x60a2c8
-varient union example
+variant union example
PVStructurePtr pvStructure = pvDataCreate->createPVStructure(
standardField->variantUnion("alarm,timeStamp"));
@@ -821,10 +821,10 @@ value = 1.65
// ...
}}
-Memory Managemment
+Memory Management
Many pvDataCPP introspection and data objects are designed to be shared. They are
-made availiable via std::tr1::shared_ptr.
+made available via std::tr1::shared_ptr.
The following naming convention is used
in typedefs:
@@ -847,14 +847,14 @@ Test programs appears in testApp/pv.
NOTES:
- interface
- - The documention uses the word interface.
+
- The documentation uses the word interface.
This is an analogy with how Java defines interface.
C++ does not have interfaces but directory pv defines classes
with public members that are similar to the Java interfaces. Most of the
implementation is in factory.
- - Naming Convertions
- - The naming convertions for variables, methods, and classes follow the
- Java convertions, i. e. class name begin with an upper case letter,
+
- Naming Conventions
+ - The naming conventions for variables, methods, and classes follow the
+ Java conventions, i. e. class name begin with an upper case letter,
variables and methods begin with a lower case letter.
@@ -885,14 +885,14 @@ copying data between fields.
- Provides access to introspection interfaces for standard structures
like timeStamp, alarm, etc.
- standardPVField.h
- - Cteates data interfaces for standard data structures like timeStamp,
+
- Creates data interfaces for standard data structures like timeStamp,
alarm, etc.
pvType.h
This provides C/C++ definitions for the pvData primitive types: boolean,
-byte, short, int, long, ubyte,ushort, uint,u long,float, double, and string.
+byte, short, int, long, ubyte, ushort, uint, ulong, float, double, and string.
Because pvData is network data, the C++ implementation must implement the
proper semantics for the primitive types.
@@ -938,7 +938,7 @@ typedef std::vector<std::string>::const_iterator StringArray_const_iterato
in a future implementation they should be changes via "#ifdef"
preprocessor statements.
std::string
- pvData requires that a string be an immutable string that is transfered
+ pvData requires that a string be an immutable string that is transferred
over the network as a UTF8 encoded string. Since std::string implements
copy on write semantics, it can be used for support for immutable
strings. It can also be serialized/deserialized as a UTF8 encoded string.
@@ -971,10 +971,10 @@ than showing the entire file, it will be described in parts.
The primary purpose for pvData is to support network access to structured data.
pvAccess transports top level pvStructures. In addition a pvAccess server holds
a set of pvnames, where each name is a unique name in the local network.
-This is also refered to as the channel name.
+This is also referred to as the channel name.
-Given a pvname , it is possible to introspect the types of the associated data
+
Given a pvname, it is possible to introspect the types of the associated data
access to data. The reflection and data interfaces are separate because the
data may not be available. For example when a pvAccess client connects to a pvname,
the client library can obtain the reflection information without obtaining any
@@ -1035,8 +1035,8 @@ std::ostream& operator<<(std::ostream& o, const ScalarType& sc
structure introspection interface.
union_t
This is like a structure that has a single subfield.
- The type for the subfield can either be any type, which is called a varient union,
- of can be one od a specified set of types.
+ The type for the subfield can either be any type, which is called a variant union,
+ of can be one of a specified set of types.
In the data interfaces the type can be changed dynamically.
'
unionArray
@@ -1120,15 +1120,15 @@ following:
Has fields that can be any of the supported types.
StructureArray
The field holds an array of structures. Each element has the same
- Structure interspection interface. A pvAccess client can only get/put
+ Structure introspection interface. A pvAccess client can only get/put
entire PVStructure elements NOT subfields of array elements.
Union
- This has two flavors: a varient union or a union of a fixed set
+ This has two flavors: a variant union or a union of a fixed set
of types. A PVUnion will have a single subfield.
- If the union introspection interface is a varient union then
+ If the union introspection interface is a variant union then
the single field can be of any type and has the name any.
- If the union is not a varient type then the type can be one of
+ If the union is not a variant type then the type can be one of
a fixed set of types and a name associated with the type.
The union introspection interface has a field array and a string
array that has the fixed set of types and associated names.
@@ -1136,7 +1136,7 @@ following:
UnionArray
This is an array of unions. A PVUnionArray is an array
- of PVUnions. Each element has the same interspection interface
+ of PVUnions. Each element has the same introspection interface
but the subfield of each element can have a different type.
FieldBuilder
@@ -1369,10 +1369,10 @@ public:
getNumberFields
Get the number of possible field types.
Both getFields and getFieldNames will return an array with getNumberFields elements.
- A value of 0 is returned for invarient arrays.
+ A value of 0 is returned for invariant arrays.
getField
- Given a name ot an index the type is returned.
+ Given a name or an index the type is returned.
NULL is returned if not found.
getFieldIndex
@@ -1384,7 +1384,7 @@ public:
getFieldName
Get the name for the specified index.
isVariant
- returns true if this is varient array and false otherwise.
+ returns true if this is variant array and false otherwise.
fieldBuilder and createField
@@ -1519,13 +1519,13 @@ description of the methods.
createVariantUnion
- Create a varient union. The id will be any.
+ Create a variant union. The id will be any.
createUnionArray
Create a union array. punion is the introspection interface
for each element.
createVariantUnionArray
- Create a union array where each element is a varient union.
+ Create a union array where each element is a variant union.
createStructureArray
Create a structure array introspection instance.
appendField
@@ -1622,8 +1622,8 @@ public:
will be created with the first element being a union with the specified
scalar type and name value. The other fields in the structure will be the
corresponding property structures.
- varient`Union
- Create a varient union. A structure
+ variant`Union
+ Create a variant union. A structure
will be created with the first element being a union with the specified
scalar type and name value. The other fields in the structure will be the
corresponding property structures.
@@ -1679,7 +1679,7 @@ showing the entire file, it will be described in parts.
typedefs
These are typedefs for Array and Ptr for the various pvData class
-definitions, i.e. typdefs for "std::vector" and "std::tr1::shared_ptr".
+definitions, i.e. typedefs for "std::vector" and "std::tr1::shared_ptr".
class PVField;
class PVScalar;
@@ -1830,7 +1830,7 @@ std::ostream& operator<<(std::ostream& o, const PVField& f);
name will be an empty string.
getFullName
Fully expand the name of this field using the
- names of its parent fields with a dot '.' seperating
+ names of its parent fields with a dot '.' separating
each name.
getFieldOffset
@@ -2026,9 +2026,9 @@ pv->putFrom<pvInt>(val);
A PVUnion has a single subfield.
The Union introspection interface determines the possible
field types for the subfield.
-If it is a varient union then any type is allowed and the
+If it is a variant union then any type is allowed and the
subfield name is normally any.
-If it is not a varient union that the Union interface determines
+If it is not a variant union that the Union interface determines
the possible field types and names.
class PVUnion : public PVField
@@ -2069,7 +2069,7 @@ public:
getUnion
Get the introspection interface.
get
- Get the curent field. A template version does the conversion.
+ Get the current field. A template version does the conversion.
NULL is returned if no field is selected or if the caller
' asks for the wrong type.
@@ -2133,7 +2133,7 @@ public:
setCapacityMutable
Specify if the capacity can be changed.
setCapacity
- Set the capaciity.
+ Set the capacity.
dumpValue
ostream method
@@ -2143,7 +2143,7 @@ public:
PVScalarArray
PVScalarArray is the base class for scalar array data. PVValueArray is a
-templete for the various scalar array data classes. There is a class for each
+template for the various scalar array data classes. There is a class for each
possible scalar type, i. e. PVBooleanArray, ..., PVStringArray.
class PVScalarArray : public PVArray {
@@ -2179,13 +2179,13 @@ public:
Assign the given value after conversion.
A copy and element-wise conversion is performed unless the element type
of the PVScalarArray matches the type of the provided data.
- If the types do match then a new refernce to the provided data is kept.
+ If the types do match then a new reference to the provided data is kept.
assign
Assign the given PVScalarArray's value.
A copy and element-wise conversion is performed unless the element type
of the PVScalarArray matches the type of the provided data.
- If the types do match then a new refernce to the provided data is kept.
+ If the types do match then a new reference to the provided data is kept.
@@ -2238,7 +2238,7 @@ public:
A non-null result is
returned if fieldName is a field of the PVStructure. The fieldName can be
of the form name.name...
- If the field does not exist the a Ptr to a NULL value is returned
+ If the field does not exist then a Ptr to a NULL value is returned
without any error message being generated.
Note that the template version replaces getBooleanField, etc.
@@ -2493,7 +2493,7 @@ PVDoublePtr pvDouble = getPVDataCreate()->createPVScalar<PVDouble>();
The second clones an existing PVUnion.
createPVVariantUnion
- Creates an instance of a varient PVUnion.
+ Creates an instance of a variant PVUnion.
This is a union which has a single field which can be any pvData supported type,
createPVScalarArray
@@ -2768,7 +2768,7 @@ other copy functions. The arguments are:
immutable
The destination array is immutable.
capacity immutable
- The destination array needs to have it's capacity extentended
+ The destination array needs to have it's capacity extended
but the capacity is immutable.
@@ -2783,7 +2783,7 @@ considered properties of the value field. The fieldname is also the property
name. The value field can have any type, i.e. scalar, scalarArray, or
structure. Typical property fields are timeStamp, alarm, display, control, and
history. The timeStamp is a special case. If it appears anywhere in the
-structure hieraracy above a value field it is a property of the value field.
+structure hierarchy above a value field it is a property of the value field.
For example the following top level structure has a single value field. The
value field has properties alarm, timeStamp, and display.
@@ -2882,7 +2882,7 @@ general purpose clients.
characteristics for the value field.
history
Provides a history buffer for the value field. Note that currently
- PVData does not define history suppoprt.
+ PVData does not define history support.
other
Other standard properties can be defined.
@@ -2950,7 +2950,7 @@ seconds is kept as a 64 bit integer, it allows for a time much greater than the
present age of the universe. Since the nanoseconds portion is kept as a 32 bit
integer it is subject to overflow if a value that corresponds to a value that
is greater than a little more than 2 seconds of less that about -2 seconds. The
-support code always adjust seconds so that the nanoSecconds part is normlized,
+support code always adjust seconds so that the nanoseconds part is normalized,
i. e. it has is 0<=nanoseconds<nanoSecPerSec..
Two header files are provided for manipulating time stamps:
@@ -3015,7 +3015,7 @@ public:
where
- TimeStamp()
- - The defauly constuctor. Both seconds and nanoseconds are set to 0.
+ - The default constructor. Both seconds and nanoseconds are set to 0.
- TimeStamp(int64 secondsPastEpoch,int32 nanoseconds = 0)
- A constructor that gives initial values to seconds and nanoseconds.
- normalize
@@ -3282,7 +3282,7 @@ public:
where
- Control
- - The default constructure.
+ - The default constructor.
- getLow
- Get the low limit.
- getHigh
@@ -3376,7 +3376,7 @@ public:
where
- Control
- - The default constructure.
+ - The default constructor.
- getLow
- Get the low limit.
- getHigh
@@ -3477,7 +3477,7 @@ public:
- detach
- Just detaches from the pvData structure.
- isAttached
- - Is there an attachment to an enemerated structure?
+ - Is there an attachment to an enumerated structure?
- setIndex
- Set the index field in the pvData structure. An exception is thrown if
not attached to a pvData structure.
@@ -3566,7 +3566,7 @@ implements getConvert.
- status.h
- A way to pass status information to a client.
- templateMeta.h
- - TBD Michael can You provide an explaination?
+ - TBD Michael can You provide an explanation?
- thread.h
- Provides thread support.
- timeFunction.h
@@ -3575,7 +3575,7 @@ implements getConvert.
- An implementation of Timer that does not require an object to be
created for each timer request.
- typeCast.h
- - TBD Michael can You provide an explaination?
+ - TBD Michael can You provide an explanation?
Note that directory testApp/misc has test code for all the classes in misc.
@@ -3815,7 +3815,7 @@ public:
- wait
- Wait until event is full or until timeout. The return value is
(false,true) if the wait completed because event (was not, was) full. A
- false value normally means that that a timeout occured. It is also
+ false value normally means that that a timeout occurred. It is also
returned if an error occurs or because the event is being deleted.
- tryWait
- returns (false,true) if the event is (empty,full)
@@ -3927,7 +3927,7 @@ once. This can be implemented as follows:
bool locked;
-and improves efficency by checking the local variable before calling the
+and improves efficiency by checking the local variable before calling the
mutex methods. This is not thread safe if any methods are called by a thread other than
the thread that created the Lock.
@@ -4038,8 +4038,8 @@ public:
noDefaultMethods.h
If a class privately extends this class then the compiler can not create any
-of the following: default constructor, default copy constructror, or default
-assignment contructor.
+of the following: default constructor, default copy constructor, or default
+assignment constructor.
/* This is based on Item 6 of
* Effective C++, Third Edition, Scott Meyers
*/
@@ -4049,7 +4049,7 @@ assignment contructor.
NoDefaultMethods(){};
~NoDefaultMethods(){}
private:
- // do not implment
+ // do not implement
NoDefaultMethods(const NoDefaultMethods&);
NoDefaultMethods & operator=(const NoDefaultMethods &);
};
@@ -4058,7 +4058,7 @@ assignment contructor.
This provides a bounded queue. When the queue is
full the user code is expected to keep using the current element until a new
-free element becomes avalable.
+free element becomes available.
template <typename T>
class Queue
@@ -4089,7 +4089,7 @@ public:
- getNumberFree
- Get the number of free elements in the queue.
- capacity
- - Get the capacity, i.e. the maximun number of elements the queue can
+
- Get the capacity, i.e. the maximum number of elements the queue can
hold.
- getNumberFree
- Get the number of free elements.
@@ -4237,7 +4237,7 @@ public:
serializeHelper.h
This is a helper class for serialization, which is required for sending and
-receiving pvData over the nerwork.
+receiving pvData over the network.
class SerializeHelper : public NoDefaultMethods {
public:
static void writeSize(int s, ByteBuffer* buffer,
@@ -4278,7 +4278,7 @@ public:
sharedVector.h
-shared_vector is a holder for a contigious piece of memory.
+shared_vector is a holder for a contiguous piece of memory.
Data is shared, but offset and length are not.
This allows one vector to have access to only a subset of a piece of memory.
@@ -4318,7 +4318,7 @@ shared_vector differs from std::vector as follows:
shared_vector has additional constructors from raw pointers and shared_ptr s.
The copy constructor and assignment operator allow implicit castings
from type 'shared_vector<T>' to 'shared_vector<const T>>'.
- To faciliate safe modification the methods unique() and make_unique() are provided
+ To facilitate safe modification the methods unique() and make_unique() are provided
The slice() method selects a sub-set of the shared_vector.
The low level accessors dataPtr(), dataOffset(), dataCount(), and dataTotal().
@@ -4400,7 +4400,7 @@ public:
where
- shared_vector
- - Several flavors of constructor are provided. The most commingly used is:
+
- Several flavors of constructor are provided. The most commonly used is:
shared_vector(size_t c);
@@ -4425,7 +4425,7 @@ shared_vector(size_t c);
is the sole owner of the data array.
- begin,...,rend
- - Standard interators.
+ - Standard iterators.
- front
- Return a reference to the first element.
- back
@@ -4456,7 +4456,7 @@ shared_vector(size_t c);
- slice
- Reduce the view of this shared_vector.
- dataPtr
- - A readonly shared_ptr to the array.
+ - A read-only shared_ptr to the array.
- dataOffset
- Offset in the data array of first visible element.
- dataCount
@@ -4566,7 +4566,7 @@ public:
Runnable must be implement by code that wants to be run via a thread. It has
one virtual method: run. Run is the code that is run as a thread. When run
-compeletes it can not be restarted. If code wants to delete a thread then it
+completes it can not be restarted. If code wants to delete a thread then it
MUST arrange that the run returns before the thread can be deleted. An
exception is thrown if run remains active when delete is called.
@@ -4588,7 +4588,7 @@ exception is thrown if run remains active when delete is called.
TimeFunction is a facility that measures the average number of seconds a
function call requires. When timeCall is called, it calls function in a loop.
It starts with a loop of one iteration. If the total elapsed time is less then
-.1 seconds it increases the number of iterrations by a factor of 10. It keeps
+.1 seconds it increases the number of iterations by a factor of 10. It keeps
repeating until the elapsed time is greater than .1 seconds. It returns the
average number of seconds per call.
class TimeFunctionRequester;
@@ -4676,9 +4676,9 @@ public:
- callback
- This is called when a timer expires. This is called with no locks held.
- When called a delay timer is no longer on the queue but a periodioc timer
+ When called a delay timer is no longer on the queue but a periodic timer
is on a queue. Thus the callback for a delay timer can issue a new
- schedule request but a periodic timer must not. Note the explaination of
+ schedule request but a periodic timer must not. Note the explanation of
TimerNode.cancel below.
- timerStopped
- Timer.stop was called when a timer request was queued. or if the timer
@@ -4707,7 +4707,7 @@ be used to schedule multiple callbacks. It has the methods:
Timer has the methods:
- Timer
- - The consttructor.
+ - The constructor.
- ~Timer
- The destructor. The queue is emptied and TimerCallback.timerStopped is
called for each element of the queue.
@@ -4763,7 +4763,7 @@ provides a language independent overview of copy and monitor.
NOTE:pvRequest.html must be updated since it is based on an earlier version of pvCopy that
-had knowlege of PVRecord. The C++ version was implemented in pvDatabaseCPP
+had knowledge of PVRecord. The C++ version was implemented in pvDatabaseCPP
and the Java version on pvIOCJava.
At present only the C++ version of the new API for pvCopy is implemented.
@@ -4776,13 +4776,13 @@ At present only the C++ version of the new API for pvCopy is implemented.
Given an ascii string createRequest creates a PVStructure that provides
a pvData representation of the information from the ascii string.
It is this structure that can be passed to the channel create methods.
- The information in a pvRequest selects an arbitrarary subset of the
+ The information in a pvRequest selects an arbitrary subset of the
fields in a top level structure that resides in the server.
In addition options can be specified. Both global and field specific
options can be specified.
- pvCopy
- - This is a faculity used by channel providers.
+
- This is a facility used by channel providers.
It provides client specific code that manages a copy of an arbitrary
subset of the fields in a top level structure that resides in the
provider. It also allows provider access to options specified
@@ -4898,7 +4898,7 @@ where
This is the method for creating a PVCopy instance.
- pvMaster
- - the top level sructure managed by the server.
+ - the top level structure managed by the server.
- pvRequest
- selects the set of subfields desired
and options for each field.
@@ -4954,12 +4954,12 @@ where
- updateCopyFromBitSet
-
For each set bit in bitSet set the field in copyPVStructure to the value
- of the corrseponding field in pvMaster.
+ of the corresponding field in pvMaster.
- updateMaster
-
For each set bit in bitSet set the field in pvMaster to the value
- of the corrseponding field in copyPVStructure.
+ of the corresponding field in copyPVStructure.
- getOptions
@@ -4979,7 +4979,7 @@ where
This consists of two components:
- monitor
- - Used by code that implements pvAccess montors.
+ - Used by code that implements pvAccess monitors.
- monitorPlugin
- Code that provides special semantics for monitors.
@@ -5016,7 +5016,7 @@ It has the fields:
- changedBitSet
- Shows which fields have changed since the previous monitor.
- overrunBitSet
- - Shows which fields have changed more han once since the previous monitor.
+ - Shows which fields have changed more than once since the previous monitor.
monitorElement queue
@@ -5059,7 +5059,7 @@ Note that each client has it's own queue that is not shared with other client.
- start
-
Start monitoring.
- This will result in a an inital monitor that has the current value
+ This will result in a an initial monitor that has the current value
of all fields.
- stop
@@ -5069,11 +5069,11 @@ Note that each client has it's own queue that is not shared with other client.
- poll
-
Called to get a monitor element.
- If no new elemants are available then a null pointer is returned.
+ If no new elements are available then a null pointer is returned.
- release
-
- Release the monotor element.
+ Release the monitor element.
The caller owns the monitor element between the calls to poll and release.
@@ -5201,7 +5201,7 @@ It has methods:
-
MonitorPluginManager is a singleton.
The first call to get will create the single instance.
- Further calls will rerurn the single instance.
+ Further calls will return the single instance.
- addPlugin
-
@@ -5209,18 +5209,18 @@ It has methods:
- findPlugin
-
- Find a plugin. A NULL shared pointer is reurned if it has not been added.
+ Find a plugin. A NULL shared pointer is returned if it has not been added.
- showNames
-
- Show the names of all puugins that have been added.
+ Show the names of all plugins that have been added.
NOTE:
Should the method causeMonitor
have arguments pvField and pvTop
-be defined so that they can not be modfied.
-This would be posssible if the following was defined:
+be defined so that they can not be modified.
+This would be possible if the following was defined:
typedef std::tr1::shared_ptr<const PVField> PVFieldConstPtr;
typedef std::tr1::shared_ptr<const PVStructure> PVStructureConstPtr;
@@ -5232,7 +5232,7 @@ virtual bool causeMonitor(
PVStructureConstPtr const &pvTop,
MonitorElementPtr const &monitorElement) = 0;
-But just adding these definitions is not sufficent.
+But just adding these definitions is not sufficient.
In addition all methods defined in pvDataCPP must be checked.
In particular many of the methods in Convert must have
their arguments modified.
@@ -5258,15 +5258,15 @@ structure powerSupply
structure power
double value
structure alarm
- struvture display
+ structure display
structure voltage
double value
structure alarm
- struvture display
+ structure display
structure current
double value
structure alarm
- struvture display
+ structure display
A pvAccess client wants to create a monitor on the powerSupply as follows:
The client wants a top level structure that looks like:
@@ -5282,7 +5282,7 @@ structure powerSupply
double value
In addition the client wants monitors to occur only when one of the monitored
-fields changes value but not just because a put occured.
+fields changes value but not just because a put occurred.
Also if only the timeStamp changes value then that should not cause a monitor.
The example monitor plugin implements the semantics the
@@ -5291,7 +5291,7 @@ client wants. It can be attached to any field via the following options:
[plugin=onChange,raiseMonitor=value]
This plugin will trigger a monitor for the field only if the field changes
-value. In addition value equals false means do not raise a monotor
+value. In addition value equals false means do not raise a monitor
for changes to this field.
But if a change to another field does cause a monitor the change to this field
will be passed to the client.