o suprressed some compile time warnings in bucketLib.c
o cleaned up cxx templates README
o removed use of tsMinMax from libCom in favor of the standard library
(calls to tsMinMax still exist in other components in base, but they are being removed)
o removed sharable library export of certain private member functions from class fdManager
o fixed aToIPAddr to correctly lookup all of the different IP addresses string types on all OS types
independent of the OS interfae variations
o removed use of inet_aton from vxWorks implementation of hostToIPAddr
o this function is for converting a host name to an ip address _only_
o the aToIPAddr wrapper is supposed to do the dotted ip ascii string to ip address structure
conversion independent of OS spoecific interface variations, when it works correctly
o fixed some spelling issues in comments
o added additional optimizations for processors w/o floating point ALU to addNanoSec in epicsTime
o removed tabs and junk comments from win32 osdProcess.c
o moved PLL update in win32 osdTime.c from timer to a dedicated thread
o added missing epicsExportShared symbols define to osiNTPTime.c
o fixed server ctor should not modify arguments of its caller in blockingSockTest
o removed sunpro specific ifdef nolomger needed from epicsTimeTest.cpp
36 lines
1.3 KiB
Plaintext
36 lines
1.3 KiB
Plaintext
|
|
C++ templates:
|
|
tsSLList.h - type safe single linked list template
|
|
tsDLList.h - type safe double linked list template
|
|
resourceLib.h - hash table template
|
|
tsFreeeList.h - free list allocator / deallocator
|
|
|
|
the test subdir contains examples
|
|
|
|
Since I am using templates the linked lists are type safe
|
|
(no casting of pointers ala ellList and dllList).
|
|
Also, the node class in embedded in the item on the
|
|
list (more efficient use of pool).
|
|
|
|
The file resourceLib.h provides a core hashing library
|
|
"resTable <itemClass, idClass>" where "itemClass" objects
|
|
are stored in the hash table and "idClass" is the data type
|
|
of the key for the hash table. The identifier class provides
|
|
the hash alg. I have provided simple string "stringId" and
|
|
unsigned integer "uintId" key types in resourceLib.h. It
|
|
is easy to implement a new key class.
|
|
|
|
There are examples under cxxTemplate/test. The list/hashing
|
|
templates all depend on a particular inheritance hierarchy.
|
|
If the inheritance hierarchy is wrong nothing will compile.
|
|
For instance, in tsDLList.h the template data type "T"
|
|
must derive from tsDLNode<T>. Likewise, in tsSLList.h
|
|
"T" must derive from tsSLNode<T>. Likewise, in resourceLib.h
|
|
class "T" (the type stored in the hash table) must derive
|
|
from class "ID" (the hash table key type) and also derive from
|
|
tsSLNode<T>.
|
|
|
|
|
|
|
|
|