Fri Jun  7 22:30:25 UTC 2013 schmitzj <schmitzj@ociweb.com>
        * setup.sh:
        Use a more likely default MPC_ROOT
        Don't force a default BOOST_CFG

        * src/Tests/testReplaceField.cpp:
        Replace FieldIdentityCPtr with FieldIdentity references.

Thu Jun  6 22:30:25 UTC 2013 wilsond <wilsond@ociweb.com>
        * src\Application\DecoderConfiguration.h:
        * src\Codecs\DataSource.h:
        * src\Codecs\FieldInstruction.h:
        * src\Messages\FieldSet.cpp:
        * src\Messages\FieldSet.h:
        Fix doxygen errors
        Replace field uses identity reference rather than pointer.
        
Mon Jun  3 22:30:25 UTC 2013 schmitzj <schmitzj@ociweb.com>
        * setup.sh:
          Don't overwrite environment variables

Tue Jul 03 19:42:31 UTC 2012 Dale Wilson <wilsond@ociweb.com>
        Respond to messages on QuickFAST list.
        * src/Messages/FieldSet.cpp:
        * src/Messages/FieldSet.h:
        * src/Tests/testReplaceField.cpp:
          Allow replacement of a field.

        * src/Messages/Sequence.h:
          Make constrctor accpept const field ref.

Thu May 30 22:30:25 UTC 2013 martinezm <martinezm@ociweb.com>
        * QuickFAST.mwc:
          Add Release and Debug configurations to makefiles.

        * src/Examples/InterpretApplication/InterpretApplication.cpp:
          Build clean(er) with gcc 4.5.

        * src/QuickFAST.mpc:
          Removed redundant include settings.

Fri May  3 16:52:46 UTC 2013 Brian Johnson <johnsonb@ociweb.com>

        * src\Common\AtomicOps.h
          Added CAS function for long longs.
        * src\Communication\AsynchFileSender.cpp
        * src\Communication\AsynchFileSender.h
          Changed to maintain a long long offset in the file to be able to
          write files greater than 4GB.

Thu May  2  9:20:23 UTC 2013 Brian Johnson <johnsonb@ociweb.com>

        * src/QuickFAST.mpc
          Reverted xerces changes.

Wed May  1 13:31:05 UTC 2013 Brian Johnson <johnsonb@ociweb.com>

        * .hgignore
          Added make and gcc build artifacts to ignore.
        * src/QuickFAST.mpc
          Changed to use xerces.mpb.

Wed May  1 12:24:31 UTC 2013 Brian Johnson <johnsonb@ociweb.com>

        * src/Codecs/Context.h
        * src/Messages/MessageFormatter.h
        * src/Messages/ValueMessageBuilder.h
          Added needed dependencies after files were moved.
        * src/Tests/testErrorRecovery.cpp
          Added needed dependency and fixed reinterpret_cast calls.

Tue Mar 20 19:39:29 UTC 2012 Dale Wilson <wilsond@ociweb.com>
        * .hgignore:
        * src\Application\DecoderConfiguration.h:
        * src\Application\DecoderConnection.cpp:
        * src\Codecs\FixedSizeHeaderAnalyzer.cpp:
        * src\Codecs\FixedSizeHeaderAnalyzer.h:
        * src\Codecs\HeaderAnalyzer.h:
        * src\Codecs\MessagePerPacketAssembler.cpp:
        * src\Codecs\MessagePerPacketAssembler.h:
        * src\Communication\MulticastReceiver.h:
        * src\Communication\Receiver.h:
        * src\Messages\ValueMessageBuilder.h:
        * src\Codecs\BasePacketAssembler.cpp:
        * src\Codecs\BasePacketAssembler.h:
        * src\Codecs\BasePacketAssembler_fwd.h:
        * src\Codecs\PacketSequencingAssembler.cpp:
        * src\Codecs\PacketSequencingAssembler.h:
        * src\Codecs\PacketSequencingAssembler_fwd.h:
        * src\Communication\RecoveryFeed.h:
        * src\Communication\RecoveryFeed_fwd.h:
        * src\Tests\testErrorRecovery.cpp:
        Rework the MessagePerPacketAssembler to add support for A/B feeds.

Wed Mar 14 19:06:17 UTC 2012 Dale Wilson <wilsond@ociweb.com>
        * src\Codecs\FieldInstructionBlob.h:
        * src\Codecs\FieldInstructionByteVector.cpp:
        * src\Codecs\FieldInstructionByteVector.h:
        * src\Codecs\FieldInstructionUtf8.cpp:
        * src\Codecs\FieldInstructionUtf8.h:
        Passing string by value (performance issue)
        QuickFAST issue #103
        * src\Common\Value.h:
        Invalid comparison in operator == ()
        QuickFAST issue #103
        * src\Communication\AsynchFileReceiver.h:
        Invalid assignment in constructor
        QuickFAST issue #103
        * src\Codecs\DataSource.h
        Fix obscure bug when using -echo.  Thanks to Rafael Kikuchi on the QuickFAST users list for spotting this one.

Mon Jan 21 21:50:25 UTC 2013 Dale Wilson <wilsond@ociweb.com>
        * src\Application\DecoderConfiguration.h:
        * src\Codecs\FixedSizeHeaderAnalyzer.cpp:
        * src\Codecs\MulticastDecoder.cpp:
        * src\Codecs\MulticastDecoder.h:
        * src\Common\StringBuffer.h:
        * src\Communication\MulticastReceiver.h:
        * src\Communication\MulticastReceiverHandle.h:
        * src\Communication\Receiver.h:
        * src\Examples\Examples\ValueToFix.h:
        * src\Messages\FieldSet.cpp:
        * src\Messages\FieldSet.h:
        * src\Tests\testErrorRecovery.cpp:
        Change the default buffer size to 1500 bytes [Issue # 111]
        Fix blockSize in HeaderAnalyzer for bigendian headers[Issue # 109]
        Catch report exception from bind in MulticastDecoder [Issue # 108]
        Separate bind IP address in MulticastReceiver[Issue # 81]
        Reinterpret cast discards constness in StringBuffer [Issue # 110]
        32 vs 64 bit issue in testErrorRecovery [Issue 112]
        missing includes[Issue 112]
        Pass identity by reference not value in FieldSet
        
Mon Jan 16 16:18:55 UTC 2012 Dale Wilson <wilsond@ociweb.com>
        * src\Codecs\DataSource.h
        Fix obscure bug when using -echo.  Thanks to Rafael Kikuchi on the QuickFAST users list for spotting this one.

Mon Jan 16 16:18:55 UTC 2012 Dale Wilson <wilsond@ociweb.com>
        * src\Codecs\DataSource.h
        Fix obscure bug when using -echo.  Thanks to Rafael Kikuchi on the QuickFAST users list for spotting this one.

Mon Dec 12 19:43:54 UTC 2011 Dale Wilson <wilsond@ociweb.com>
        * bin\hgcle.py:
        Added command to create mercurial change log entries

Thu Dec  8 10:01:00 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Application/QuickFAST.h
        push and pop #pragma warnings
        First hg checkin

Wed Dec  7 16:47:06 UTC 2011  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.cpp:
        * src/Codecs/DataDestination.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Common/QuickFASTPch.h:
        * src/Communication/FileSender.h:
        * src/Communication/PCapReader.cpp:
        * src/Communication/Sender.h:
        * src/Examples/Examples/ExamplesPch.h:
        * src/Examples/Examples/ValueToFix.h:
        * src/Examples/FileToMulticast/FileToMulticast.cpp:
        * src/Examples/FileToTCP/FileToTCP.cpp:
        * src/Examples/PCapToMulticast/PCapToMulticast.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Messages/MessageAccessor.h:
        * src/Messages/MessageFormatter.h:
          Get rid of /W4 level warnings from MSVC:
          Disable "unused parameter" warnings.
          Use explicitly unsigned literals to initialize unsigned values.
          Provide unreachable assignment operators to avoid compiler generated ones.
          Cast the result of antique c library character methods to the char data type.
          Finally write the code to display <templates> attributes -- retiring the "todo" message.

Mon Dec  5 16:12:16 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/DotNet/QuickFASTDotNetPch.h:
          Include file checking works with .NET now, too.

Wed Nov 30 21:36:47 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Application/DNDecoderConnectionImpl.h:
        * src/Application/DNDecoderConnectionImpl_fwd.h:
        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConfiguration_fwd.h:
        * src/Application/DecoderConnection.h:
        * src/Application/DecoderConnection_fwd.h:
        * src/Codecs/Context_fwd.h:
        * src/Codecs/DataDestination_fwd.h:
        * src/Codecs/DataSource_fwd.h:
        * src/Codecs/Decoder_fwd.h:
        * src/Codecs/DictionaryIndexer_fwd.h:
        * src/Codecs/Encoder_fwd.h:
        * src/Codecs/FieldInstruction_fwd.h:
        * src/Codecs/FieldOp_fwd.h:
        * src/Codecs/HeaderAnalyzer_fwd.h:
        * src/Codecs/MessageConsumer_fwd.h:
        * src/Codecs/MessagePerPacketAssembler.h:
        * src/Codecs/MessagePerPacketAssembler_fwd.h:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder_fwd.h:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap_fwd.h:
        * src/Codecs/SchemaElement.h:
        * src/Codecs/SchemaElement_fwd.h:
        * src/Codecs/SegmentBody_fwd.h:
        * src/Codecs/StreamingAssembler.h:
        * src/Codecs/SynchronousDecoder.h:
        * src/Codecs/TemplateRegistry_fwd.h:
        * src/Codecs/Template_fwd.h:
        * src/Codecs/XMLTemplateParser_fwd.h:
        * src/Common/AtomicCounter.h:
        * src/Common/AtomicOps.h:
        * src/Common/AtomicPointer.h:
        * src/Common/Decimal_fwd.h:
        * src/Common/Exceptions.h:
        * src/Common/Logger_fwd.h:
        * src/Common/QuickFASTPch.h:
        * src/Common/StringBuffer.h:
        * src/Common/Value_fwd.h:
        * src/Common/WorkingBuffer.h:
        * src/Communication/AsioService.h:
        * src/Communication/AsioService_fwd.h:
        * src/Communication/Assembler_fwd.h:
        * src/Communication/AsynchFileReceiver.h:
        * src/Communication/AsynchFileReceiver_fwd.h:
        * src/Communication/AsynchFileSender.h:
        * src/Communication/AsynchFileSender_fwd.h:
        * src/Communication/AsynchReceiver.h:
        * src/Communication/AsynchReceiver_fwd.h:
        * src/Communication/AsynchSender.h:
        * src/Communication/AsynchSender_fwd.h:
        * src/Communication/AtomicQueue.h:
        * src/Communication/AtomicQueue_fwd.h:
        * src/Communication/BufferQueue.h:
        * src/Communication/BufferQueue_fwd.h:
        * src/Communication/BufferReceiver.h:
        * src/Communication/BufferReceiver_fwd.h:
        * src/Communication/BufferRecycler.h:
        * src/Communication/BufferedRawFileReceiver.h:
        * src/Communication/BufferedRawFileReceiver_fwd.h:
        * src/Communication/FileSender.h:
        * src/Communication/FileSender_fwd.h:
        * src/Communication/LinkedBuffer.h:
        * src/Communication/LinkedBuffer_fwd.h:
        * src/Communication/MulticastReceiver.h:
        * src/Communication/MulticastReceiverHandle.h:
        * src/Communication/MulticastReceiver_fwd.h:
        * src/Communication/MulticastSender.h:
        * src/Communication/MulticastSender_fwd.h:
        * src/Communication/PCapFileReceiver.h:
        * src/Communication/PCapFileReceiver_fwd.h:
        * src/Communication/PCapReader.h:
        * src/Communication/RawFileReceiver.h:
        * src/Communication/RawFileReceiver_fwd.h:
        * src/Communication/Receiver.h:
        * src/Communication/Receiver_fwd.h:
        * src/Communication/Sender.h:
        * src/Communication/Sender_fwd.h:
        * src/Communication/SingleServerBufferQueue.h:
        * src/Communication/SingleServerBufferQueue_fwd.h:
        * src/Communication/SynchReceiver.h:
        * src/Communication/SynchReceiver_fwd.h:
        * src/Communication/TCPReceiver.h:
        * src/Communication/TCPReceiver_fwd.h:
        * src/Examples/Examples/ExamplesPch.h:
        * src/Messages/FieldIdentity_fwd.h:
        * src/Messages/FieldSet_fwd.h:
        * src/Messages/Field_fwd.h:
        * src/Messages/MessageBuilder_fwd.h:
        * src/Messages/MessageField_fwd.h:
        * src/Messages/Message_fwd.h:
        * src/Messages/Sequence_fwd.h:
        * src/Messages/SpecialAccessors.h:
        * src/Messages/ValueMessageBuilder_fwd.h:

        Include files check to make sure necessary precompiled (or at least preincluded)
        headers have been found.
        #include <Application/QuickFAST.h> is intended for use by applications that use QuickFAST.

Fri Nov 18 16:18:33 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Common/Types.h:
          Add sequence_t for future use.

        * src/Communication/BufferQueue.h:
        * src/Communication/LinkedBuffer.h:
        * src/Messages/SequentialSingleValueBuilder.h:
        * src/Messages/SingleValueBuilder.h:
          Doxygen comments improved.

Fri Nov 11 19:13:18 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * QuickFASTApplication.mpb:
          Comment to clarify usage.

        * src/Common/ByteSwapper.h:
        * src/Common/ByteSwapper.cpp:
          Make static member local to method.
          This eliminates the need for a cpp file.

        * src/Communication/BufferQueue.h:
        * src/Communication/BufferQueue_fwd.h:
        * src/Communication/LinkedBuffer.h:
        * src/Communication/SingleServerBufferQueue.h:
        * src/Communication/SingleServerBufferQueue_fwd.h:
        * src/Tests/testCommon.cpp:
          Split LinkedBuffer.h into three files to hold
          the three separate classes which were formerly declared
          in one file.
          Files which include LinkedBuffer.h may need to include
          BufferQUeue.h or SingleServerBufferQueue.h instead.

          Temporarily LinkedBuffer will include SingleServerBufferQueue
          to provide brief forward compatibility.  Don't depend on this.

        * src/Messages/SequentialSingleValueBuilder.h:
          New mock implementation of ValueMessageBilder for testing.

        * src/Messages/SingleValueBuilder.h:
          Add reset method.

Fri Oct 28 16:13:34 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/DataSource.h:
          Fix off-by-one bug in checking for contiguous bytes.
          Thanks to: Rafael Kikuchi for pointing out the problem.

Wed Oct 26 19:25:53 UTC 2011  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/Examples/CommandArgHandler.h:
        * src/Examples/Examples/CommandArgParser.h:
        * src/Examples/Examples/CommandArgParser.cpp:
          Removed these files.
          It was a nice try to provide forward compatibility, but it confused the linker.
          Symptom was "inconsistent dll linkage"
          Better to break any app that tries to include the file from the old location than
          to produce an incomprehensible error message.

Tue Oct 25 18:03:30 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Examples/TutorialApplication/TutorialApplication.h:
        * src/Examples/TutorialApplication/TutorialApplication.cpp:
          Update the tutorial application to use Application::Decoder* classes.

Tue Oct 25 16:26:45 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Examples/Examples/CommandArgHandler.h:
        * src/Examples/Examples/CommandArgParser.h:
        * src/Examples/Examples/CommandArgParser.cpp:
          Use CommandArg* from Application namespace to QuickFAST namespace to
          avoid problems caused by the previous check-in.

Tue Oct 25 15:56:11 UTC 2011  Dale Wilson  <wilsond@ociweb.com>

        * src/Application/CommandArgHandler.h:
        * src/Application/CommandArgParser.h:
        * src/Application/CommandArgParser.cpp:
        * src/Examples/Examples/CommandArgHandler.h:
        * src/Examples/Examples/CommandArgParser.h:
        * src/Examples/Examples/CommandArgParser.cpp:

          Move Command arg parser from Examples to Application directory.
          Put the command arg parser and handler into the Application namespace.
          WARNING: This change can potentially break existing code.
          The next check in will contain a partial work-around.

        * src/Common/QuickFASTPch.h:
          Add includes needed by command arg parser


        * src/Examples/FileToMulticast/FileToMulticast.h:
        * src/Examples/FileToTCP/FileToTCP.h:
        * src/Examples/InterpretApplication/InterpretApplication.h:
        * src/Examples/PCapToMulticast/PCapToMulticast.h:
        * src/Examples/PerformanceTest/PerformanceTest.h:
        * src/Examples/TutorialApplication/TutorialApplication.h:
        * src/Examples/TutorialApplication/TutorialApplication.cpp:
          Use command arg parser from Application rather than Examples.


Wed Oct 19 15:35:41 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/DataDestination.h:
          Forbid assignment and copy construction.


        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConfiguration_fwd.h:
        * src/Application/DecoderConnection.cpp:
        * src/Communication/BufferedRawFileReceiver.h:
        * src/Communication/BufferedRawFileReceiver_fwd.h:
          Add new receiver type: BufferedRawFileReceiver,
          and new command line option, -bfile name
          Reads entire file into memory buffer before decoding.
          For performance testing only.


Tue Oct 18 17:38:22 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Common/StringBuffer.h:
          Add assignment from std::string.

        * src/Application/DNDecoderConnectionImpl.h:
        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConfiguration_fwd.h:
        * src/Application/DecoderConnection.h:
        * src/Common/QuickFASTPch.h:
        * src/Doxyfile:
          Update Doxygen to include Application namespace.

Mon Oct 17 13:20:28 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Common/StringBuffer.h:
          Add assignment from std::string.
        * src/Examples/Examples/ValueToFix.cpp:
          Unitialized verbose member caused undesired output.

Tue Oct 11 14:04:49 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Common/Decimal.cpp:
          Faster conversion to decimal
        * src/Communication/LinkedBuffer.h:
          Clarify comment
        * src/Doxyfile:
          Update doxygen version number to 1.4

Wed Oct  5 19:33:52 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Common/Version.h:
          Prepare for V1.4.1

Wed Oct  5 16:20:50 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Common/Version.h:
          Prepare for V1.4

        * src/Communication/AsioService.h:
        * src/Communication/AsynchSender.h:
        * src/Communication/MulticastReceiver.h:
        * src/Communication/MulticastReceiverHandle.h:
        * src/Examples/Examples/ConsoleLock.h:
          Fix Doxygen warnings.

Tue Oct  4 18:16:37 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * license.txt:
          Update copyright

        * src/Codecs/DataSourceBlockedStream.cpp:
        * src/Codecs/DataSourceBufferedBlockedStream.cpp:
          Removed these files.

Tue Oct  4 15:43:25 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Common/QuickFASTPch.h:
        Include <limits.h> which was not getting pulled in on some platforms.

        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConnection.cpp:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Communication/MulticastReceiver.h:
        * src/Communication/MulticastReceiverHandle.h:
        * src/Communication/MulticastReceiverHandle.cpp:
        * src/Communication/MulticastSender.h:
        * src/Examples/FileToMulticast/FileToMulticast.h:
        * src/Examples/FileToMulticast/FileToMulticast.cpp:
        * src/Examples/PCapToMulticast/PCapToMulticast.h:
        * src/Examples/PCapToMulticast/PCapToMulticast.cpp:
        Add new multicast option: -mbind ip
        Defaults to the value specified by -mlisten ip


        * src/Communication/PCapFileReceiver.h:
        * src/Communication/PCapReader.h:
        * src/Communication/PCapReader.cpp:
        Revisit the handling of UDP headers block in pcap file.

        * src/Codecs/DataSourceBlockedStream.h:
        * src/Codecs/DataSourceBufferedBlockedStream.h:
        Remove obsolete data sources.
 	Use DataSourceStream with appropriate header analyzer.

Wed Sep 28 20:32:52 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/FieldOp.cpp:
          Issue #93.  User-defined dictionaries not honored.

        * src/Codecs/DataSource.h:
        * src/Codecs/StreamingAssembler.h:
        * src/Codecs/StreamingAssembler.cpp:
          Issue 92.  Streaming Assembler doesn't handle waitForCompleteMessage properly.

        * src/Codecs/FieldInstruction.cpp:
          Check for most negative integer is not working on gcc.

        * src/Communication/TCPReceiver.h:
          Documentation update.

        * src/Messages/FieldSet.cpp:
          Memory access error clearing newly allocated buffer using wrong value for capacity.

        * src/Tests/testSmallestValue.cpp:
          Rename LARGEST_INT64 to be INT64_SINGULARITY.  It's actually the most negative int64.


Wed Aug 24 20:21:02 UTC 2011  Trevor Fields  <fields_t@ociweb.com>

        * src/Communication/PCapReader.cpp:
        Fix to corectly use udp packet length from packet.
        Added more verbose messages.

Mon Aug 22 19:09:23 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Communication/PCapReader.cpp:
        Fixes to support for checksum appended to packet.

Wed May 11 18:45:44 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/MulticastDecoder.h:
        Fix misleading documentation.
        Yes, MulticastDecoder does support packet and message headers.

Mon May  9 16:03:06 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Common/AtomicOps.h:
        Rework gcc support for atomic operations

        * src/Communication/AsynchFileReceiver_fwd.h:
        * src/Communication/AsynchFileSender.h:
        * src/Communication/AsynchFileSender.cpp:
        * src/Communication/AsynchFileSender_fwd.h:
        Disable asynchronous file I/O for non-windows platforms.

Wed May  4 14:51:56 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Application/DecoderConnection.cpp:
          Pass extra open attributes to AsynchFileReceiver

        * src/Communication/AsioService.cpp:
          Debug messages -- commented out but convenient if needed.

        * src/Communication/AsynchReceiver.h:
          Check for exactly one thread to discriminate single-threaded
          From multi-threaded.  Still not completely right, but better
          than the previous.  The confusion arises when the io_service is
          shared but all the threads are started through one of the
          receivers.

        * src/Communication/AsynchSender.h:
        * src/Communication/AsynchSender.cpp:
          Debugging messages -- commented out.
          Debug method lets other parts of the system "peek" at the io_service.
          One of the constructors was not allocating a keepAlive object so
          when this constructor was used there was a window during which the
          io_service could shut down prematurely.

Fri Apr 29 20:48:34 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Communication/AsynchReceiver.h:
          Forgot to disable a debug message in my last check-in.

Fri Apr 29 18:46:14 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Application/DNDecoderConnectionImpl.h:
        * src/Application/DNDecoderConnectionImpl.cpp:
        * src/DotNet/DNDecoderConnection.h:
        * src/DotNet/DNDecoderConnection.cpp:
          Add stop() and joinThreads() methods

        * src/Codecs/DataDestination.h:
        * src/Codecs/DataSource.h:
        * src/Codecs/MessagePerPacketAssembler.h:
        * src/Codecs/PresenceMap.h:
        * src/Common/WorkingBuffer.h:
        * src/Communication/AsynchFileSender.h:
        * src/Communication/AsynchSender.h:
        * src/Communication/FileSender.h:
        * src/Communication/LinkedBuffer.h:
        * src/Communication/MulticastReceiver.h:
        * src/Communication/Receiver.h:
        * src/Messages/MessageAccessor.h:
        * src/Messages/MessageFormatter.h:
        * src/Tests/resources/fileCopyTest.dat:
        * src/Doxyfile:
          Improve formatting and comments
          Adapt to newer version of Doxygen
          No functional changes

        * src/Common/Decimal.h:
        * src/Common/Decimal_fwd.h:
        * src/Common/Types.h:
          Forward declare Decimal in _fwd header rather than in Types.h

        * src/Common/Logger.h:
          Change log level from enum to const unsigned short.
          This matches the types actually used as method parameters.


        * src/Communication/AsioService.h:
        * src/Communication/AsioService.cpp:
          New method, runningThreadCount() reports how many threads are
          servicing the io_service object.  This helped in solving a race condition.

        * src/Communication/AsynchFileReceiver.h:
          Separate stop() from close() for cleaner shut-down.

        * src/Communication/AsynchReceiver.h:
          Race condition in multithreaded code with a streaming assembler.
          When no buffer was ready for decoding
          there was a possiblity that it could wait forever.

        * src/Communication/AtomicQueue.h:
          Added a "Not ready for prime-time" warning message.  This doesn't work right yet.

        * src/Communication/Sender.h:
          Change member from protected to private.

Fri Apr  8 20:00:22 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * QuickFAST.features:
        Add features to disable builds of special projects that are
        in the build tree at OCI, but not part of the open source package.

        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConfiguration_fwd.h:
        * src/Application/DecoderConnection.h:
        * src/Application/DecoderConnection.cpp:
        Add a new option: asynchReads to read a file asynchronously
        This only works on windows due to the erratic support of
        asynchronous I/O on other platforms.

        Move relevant command line options from InterpretApplication
        into decoder configuration.  This makes them easily available
        to applications that need them.  If your application doesn't
        want these options, don't call usage or parseSingleArg


        * src/Common/AtomicPointer.h:
        Compiler complained that a cast to void * should be a reinterpret_cast

        * src/Common/Exceptions.h:
        Add a colon between error type and description for some exceptions.

        * src/Communication/AsioService.h:
        Change protected members to private.
        Add documentation.

        * src/Communication/AsynchFileReceiver.h:
        * src/Communication/AsynchFileReceiver_fwd.h:
        * src/Communication/AsynchFileSender.h:
        * src/Communication/AsynchFileSender.cpp:
        * src/Communication/AsynchFileSender_fwd.h:
        * src/Communication/AsynchSender.h:
        * src/Communication/AsynchSender.cpp:
        * src/Communication/AsynchSender_fwd.h:
        * src/Communication/Sender.h:
        * src/Communication/Sender_fwd.h:
        New features to support reading and writing files asynchronously.

        * src/Communication/AtomicQueue.h:
        * src/Communication/AtomicQueue_fwd.h:
        New feature.  Not yet used.

        * src/Communication/BufferRecycler.h:
        A callback method for recycling used LinkedBuffers

        * src/Communication/FileSender.h:
        * src/Communication/FileSender.cpp:
        * src/Communication/FileSender_fwd.h:

        * src/Communication/LinkedBuffer.h:
        Add "extra"  a void* to be used for whatever purpose.
        Remove the "external_".  capacity_ == 0 while used_ nonzero means
        we don't own this buffer.

        * src/Examples/Examples.mpc:
        Includes definitons for special, non-open source, projects
        These projects are disabled via the QuickFAST.features file.

        * src/Examples/InterpretApplication/InterpretApplication.cpp:
        * src/Examples/InterpretApplication/main.cpp:
        Add support for asynchronous file reads.
        Move many command line options into the DecoderConfiguration structure

        * src/Messages/MessageFormatter.cpp:
        Display application type.

        * src/Messages/ValueMessageBuilder.h:
        Remove unnecessary semicolon.

        * src/Tests/resources/fileCopyTest.dat:
        * src/Tests/testAsynchSender.cpp:
        Add a test for writing files asynchronously and
        the whole infrastructure to support asynchronous writes.

Thu Mar 31 18:38:13 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Common/Logger.h:
        Change definition of log levels from enum to unsigned short.
        That way the enum values are sure to match the time of the arguments.

        * src/Communication/PCapReader.cpp:
        Fix a bug encountered when reading 64 bit headers on a 32 bit system.
        Addresses Issue #80

Thu Mar 31 14:21:09 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/DataSource.h:
        add optimization to allow accessing multiple bytes
        with one call as long as they are contiguous in the buffer.

        * src/Codecs/FieldInstruction.h:
        Improved error messages to indicate the type of field being decoded.
        Work-in-progress (disabled for now): specilization of the decode*Integer methods
        for specific integer sizes.  Not working, yet, and needs profiling after
        it does work to be sure it actually helps.

        * src/Codecs/SynchronousDecoder.h:
        * src/Examples/PerformanceTest/PerformanceTest.h:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        Add the ability to handle messages with non-FAST headers

        * src/Common/Exceptions.h:
        Add new exception to be thrown when an internal logic error is detected


        * src/Communication/AsioService.h:
        * src/Communication/AsioService.cpp:
        Log messages via the logger interface rather than std::err

        * src/Communication/AsynchReceiver.h:
        * src/Communication/BufferReceiver.h:
        * src/Communication/PCapFileReceiver.h:
        * src/Communication/RawFileReceiver.h:
        * src/Communication/Receiver.h:
        Add method to reset the asio IOService
        However, it is usually better to delete the old object an create a new one.
        Beware shared IOServices when you use the reset method.

Wed Mar 30 16:05:08 UTC 2011  Dale Wilson  <wilsond@ociweb.com>

        * src/Application/DecoderConnection.cpp:
        Accept FAST data from std::cin.  This does not work on
        Windows because the data is binary.
        Any application using Application::DataConnection can
        invoke this by using a file name of "cin" for the FAST data.

Tue Feb 22 15:16:29 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Communication/PCapReader.cpp:
        Issue #69.   The PCapReader was including the packet checksum in the size of the payload.

Mon Feb 14 21:40:13 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConnection.cpp:
        Uninitialized variables and duplicated (copy/paste) code.
        Issue #77

Mon Feb 14 20:31:54 UTC 2011  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/DataSource.cpp:
        * src/Codecs/FastEncodedHeaderAnalyzer.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FixedSizeHeaderAnalyzer.cpp:
        * src/Codecs/PresenceMap.cpp:
        * src/Codecs/SynchronousDecoder.h:
        * src/Messages/SingleValueBuilder.h:
        Eliminate some build warnings on Linux.


Fri Jan  7 19:19:32 UTC 2011  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSourceBufferedStream.h:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        Remove obsolete comments

        * src/Examples/Examples/CommandArgParser.cpp:
        Remove leftover debuging statements

Mon Dec 27 17:14:38 UTC 2010  Adam Mitz  <mitza@ociweb.com>

        * QuickFAST.mwc:

          The keyword "specific" is now treated as a keyword in mwc files as
          well as mpc files.  Changed the name of the C# scope to avoid this
          naming conflict.  The scope's name is otherwise insignificant.

Thu Dec  9 20:50:00 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Common/Version.h:
          set preliminary 1.3.1

        * src/Examples/Examples/CommandArgParser.h:
        * src/Examples/Examples/CommandArgParser.cpp:
          The -options command line option reads additional options from a file.

        * src/Examples/Examples/ConsoleLock.h:
        * src/Examples/Examples/ConsoleLock.cpp:
          "Global" lock to avoid mixing console writes.

        * src/Application/DecoderConfiguration.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/InterpretApplication/InterpretApplication.h:
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
          Support multiple connections.

Thu Dec  2 16:03:16 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/Version.h:
          Update version number for V1.3.0 release


Tue Nov 30 20:10:49 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/DotNetTests:

        * src/DotNetTests/.svnignore:
        * src/DotNetTests/DecimalTests.cs:
        * src/DotNetTests/EncodeDecodeTests.cs:
        * src/DotNetTests/FieldTests.cs:
        * src/DotNetTests/MessageTests.cs:
        * src/DotNetTests/PrerequisitsTests.cs:
        * src/DotNetTests/Properties:

        * src/DotNetTests/Properties/AssemblyInfo.cs:

        * src/DotNetTests/QuickFASTDotNetTests.mpc:
        Remove .NET tests.  They need to be completely rewritten.

Tue Nov 30 20:07:43 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * QuickFAST.mwc:
        * QuickFastDotNetTests.nunit:
        * src/DotNetTests:
        Remove .NET tests.  They need to be completely rewritten.

Tue Nov 30 15:23:19 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConnection.h:
        * src/Application/DecoderConnection.cpp:
        * src/Communication/AsioService.h:
        * src/Communication/AsioService_fwd.h
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
          Add the ability to configure a private IOService at the Application
          level and in the InterpretApplication example program.
          A connection with a private I/O service is independent of
          any other connection in the process.  In particular this is needed
          if a connection will be stopped and/or restarted while other
          connections continue to operate.
          The downside to this option is that independent connections cannot
          share threads so more threads may be needed to service the connections.

Wed Nov 24 15:08:23 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * setup.cmd:
          Handle "Program Files (x86)" [shudder]

        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConnection.h:
        * src/Application/DecoderConnection.cpp:
        * src/Codecs/HeaderAnalyzer.h:
        * src/Codecs/MessagePerPacketAssembler.h:
        * src/Codecs/MessagePerPacketAssembler.cpp:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
          Support both packet headers (for UDP/MULTICAST) and message
          headers (for everyone) independently.
          This addresses Issue #71.


Tue Nov 23 19:11:31 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Application/DNDecoderConnectionImpl.cpp:
          Remove unnecessary includes
        * src/Tests/testXMLTemplateParser.cpp:
          Test length field instruction for byteVector - s/b ignored.

Thu Oct 21 19:10:46 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Application/DNDecoderConnectionImpl.h:
        * src/Application/DNDecoderConnectionImpl.cpp:
        * src/Application/DNDecoderConnectionImpl_fwd.h:
        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConfiguration_fwd.h:
        * src/Application/DecoderConnection.cpp:
        * src/Codecs/DataSource.h:
        * src/Codecs/DataSource.cpp:
        * src/DotNet/DNDecoderConnection.h:
        * src/DotNet/DNDecoderConnection.cpp:
        * src/DotNet/QuickFASTDotNetPch.h:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.cs:
        Conflict between boost 1.41+ and .NET:  Boost::threads is using inline assembly to implement
        future thread synchronization.  Managed C++ hates inline assembly.
        This changes widens the DMZ between .NET and the real world by adding an *impl layer to
        DNDecoderConnection.

Wed Oct 13 20:09:11 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
          Fix an error in argument parsing.  It was comparing pointers (argv[1]) rather than strings.

Tue Oct 12 19:38:57 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:
        Add the ability to parse from a buffer rather than (in addition to) a data source.

        * src/Common/Constants.h:
        Define a couple of the ASCII control characters (used by some exchanges)

        * src/Examples/Examples/ExamplesPch.h:
        include <string.h>

Tue Oct  5 21:12:28 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/Encoder.cpp:
        Error in destination buffer management could lead to corrupted messages.

Tue Oct  5 20:37:22 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Tests/testNestedSequences.cpp:
          Add new unit test for Issue #68.
          It passes.  Issue was already fixed.

Tue Oct  5 18:46:28 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/SchemaElement.h:
          Ignore <length> in <byteVector>

        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/XMLTemplateParser.h:
          Forbid copy constructor and assignment.

        * src/Common/QuickFASTPch.h:
          Turn off boost linker diagnostics


Tue Oct  5 15:34:40 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/DataSource.cpp:
        * src/Tests/testCommon.cpp:
          Avoid compiler warnings

        * src/Codecs/DataSourceBufferedBlockedStream.cpp:
          Invalid comparison operator.

        * src/Codecs/FieldInstructionGroup.cpp:
          Groups with no typeref inherit the type from their parent.  This means
          in the decoder they are merged into the parent object (although this
          behavior may vary in custom implementations of ValueMessageBuilder.)
          This change reserves space for the merged fields.

        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
          Correct the calculation of the number of fields to be included
          via a static template reference.

        * src/Codecs/SegmentBody.cpp:
          Fix an assumption that the number of field instructions in a segment
          matched the number of fields to be including in the resulting field set.

        * src/Codecs/StreamingAssembler.cpp:
        * src/Communication/AsynchReceiver.h:
        * src/Communication/Receiver.h:
        * src/Communication/AsioService.h:
        * src/Communication/SynchReceiver.h:
          A partial workaround for a hang when a single threaded app used streaming
          assembler and did not specify wait for complete message.

        * src/DotNetExamples/InterpretFASTDotNet/FieldSetInterpreter.cs:
        * src/DotNetExamples/InterpretFASTDotNet/InterpretFASTDotNet.cs:
        * src/Examples/InterpretApplication/InterpretApplication.h:
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
          Add additional options to support echoing input, and generating
          other debugging information.

          This change addresses issues #61 and #65.

Tue Sep 14 15:06:01 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Tests/testFieldInstructions.cpp:
         Add unit test for encoding optional decimal with zero exponent

Tue Sep 14 14:56:13 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Application/DecoderConnection.cpp:
          Use the binary mode symbolic constant rather than #ifdef _WIN32
        * src/Codecs/FieldInstructionDecimal.cpp:
          Error in Decimal decoding for nullable filed with exponent of zero

Mon Aug 23 14:40:01 UTC 2010  Dale Wilson  <wilsond@ociweb.com>


        * src/Communication/LinkedBuffer.h:
        Fix an error in managing mutex/condition that results in a hang due to buffer starvation.

Fri Aug 13 15:14:48 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * setup.cmd:
          Eliminate a duplicate line (?)

        * setup_clear.cmd:
          New batch file to allow setup to be re-run.

Fri Aug 13 15:06:34 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * setup.cmd:
          If BOOST_ROOT is set in environment, don't change it.
          Do not include release directories in debug path.

Wed Aug 11 20:18:00 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * setup.cmd:
        Upgraded setup for VC10, aka Visual Studio 2010

Wed Aug 11 14:32:38 UTC 2010  Dale Wilson  <wilsond@ociweb.com>


        * src/Codecs/FieldInstructionInteger.h:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
          "using namespace" should not appear in header file.
          Remove it and repair the code that inadvertently depended on it.
          Issue #58

        * src/QuickFAST.mpc:
          Difference between project name and target name confused MPC in VC10.
          The MPC problem will be fixed, but for now, just use the same name for both.

Tue Aug 10 21:34:30 UTC 2010  Adam Mitz  <mitza@ociweb.com>

        * QuickFASTApplication.mpb:
        * QuickFASTExeOut.mpb:
        * src/QuickFAST.mpc:
          Visual Studio 2010 changes: replaced "specific(vc8,vc9)" with
          "specific(prop:microsoft)".

Tue Aug 10 16:14:48 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSourceBlockedStream.cpp:
        * src/Codecs/DataSourceBufferedBlockedStream.cpp:
        * src/Codecs/DataSourceBufferedStream.cpp:
        * src/Codecs/DataSourceStream.cpp:
        * src/Common/Types.h:
        * src/Communication/RawFileReceiver.h:
          Visual Studio 2010 has introduce new data types to represent position in file and
          size of file.   This adds casts of these types into size_t.  Note if you are using
          test data files larger than 4Gb you are out of luck.

Thu Jul 15 18:52:17 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Common/Logger.h:
        Cosmetic: change parameter names.
        * src/Communication/TCPReceiver.h:
        Increment the iterator in the while loop to avoid waiting forever for a TCP connect.

Tue Jul  6 14:59:52 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Application/QuickFAST.h:
          New file for use by QuickFAST-based applications.
          Documentation will follow.

        * src/Communication/MulticastSender.h:
        * src/Examples/TutorialApplication/TutorialApplication.cpp:
          Syntax errors in prevous check in.

Thu Jul  1 14:22:28 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/StringBuffer.h:
          Allow a StringBuffer to be delegated to a std::string.  This
          simplifies some cases of MessageAccessor.

        * src/Examples/TutorialApplication/TutorialApplication.cpp:
          Change the handling of binary mode when opening templates & FAST files.

        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldIdentity.cpp:
          Change the order-of-initialization of memeber variables to match
          the actual order in the object.
          Move a constructor to the cpp file.

Wed Jun 30 15:12:25 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Communication/TCPReceiver.h:
          Fix linux build error (gcc caught it, VC ignored it.)

        * src/Codecs/Encoder_fwd.h:
          Declare a shared pointer to an Encoder

        * src/Codecs/FieldInstructionAscii.cpp:
          Do not retrieve data for required, constant fields.

Fri Jun 25 18:31:09 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Encoder.h:
        * src/Codecs/Encoder.cpp:
        * src/Messages/MessageAccessor.h:
        * src/Messages/MessageAccessor.cpp:
          Add new method, Encoder::encodeMessages() asks the accessor
          for a template ID for the message and continues to encode
          as long as the accessor returns an ID.

        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Tests/testFieldOperations.cpp:
          When encoding mandatory constant values don't retrieve
          them from the accessor. Just assume they are there and
          have the correct value.  Cuts down on application developer's
          useless busywork.
          Disable the test that expected an exception when a mandatory
          constant field had the wrong value.

        * src/Codecs/FieldOp.h:
        * src/Codecs/SchemaElement.cpp:
          Add the name of the operation to the "...not allowed in this
          context" message

        * src/Common/Decimal.cpp:
        * src/Tests/testCommon.cpp:
          Fix a problem comparing Decimals with differing exponents.
          Unit test to catch it.

        * src/Examples/Examples/CommandArgParser.cpp:
          The -V and -? options were appearing multiple times when there
          were multiple commmand argument handlers.

Thu Jun 24 19:47:45 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/Decimal.h:
        * src/Common/Decimal.cpp:
        * src/Tests/testCommon.cpp:
          Fix some calculation problems revealed by new unit test in testCommon
           -= was producing incorrect results
           /= had normalization/rounding problems

        * src/Communication/MulticastSender.h:
        * src/Communication/MulticastSender_fwd.h:
          New: support for sending via multicast

        * src/Examples/FileToMulticast/FileToMulticast.h:
        * src/Examples/FileToMulticast/FileToMulticast.cpp:
          Switch to using MulticastSender

Tue Jun 22 14:18:32 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataDestination.h:
          getBuffer returns a valid handle even before the DataDestination
          is used.

        * src/Communication/TCPReceiver.h:
          Fix an initialization problem.
          Add methods to send data back to the counterparty via the TCP socket.
          In particular you can pass a DataDestination containing
          encoded data to the send() method and it will be sent to the socket.

        * src/Examples/FileToTCP/FileToTCP.h:
        * src/Examples/FileToTCP/FileToTCP.cpp:
          Temporary: add a '-hack" option that simply listens and echo's
          any response from the sender.  This really should be a separate
          program.

        * src/Examples/InterpretApplication/InterpretApplication.cpp:
          Temporary: add a console command 'h' that sends "Hello, World!"
          back thru the TCPReceiver.  Throws and exception if not configured
          for TCP.

Fri Jun 18 14:22:29 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Application/DecoderConnection.cpp:
        * src/Codecs/XMLTemplateParser.h:
          Move #include to reduce compile-time coupling.

        * src/Examples/Examples.mpc:
        * src/Examples/InterpretFAST:
        * src/Examples/InterpretFAST/InterpretFAST.h:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Examples/InterpretFAST/main.cpp:
        * src/Examples/MulticastInterpreter:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.h:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        * src/Examples/MulticastInterpreter/main.cpp:

          Removed InterpretFAST and MulticastInterpreter.  The
          InterpretApplication provides all capabilities from these
          programs (and much more).
          Some command line options need to be changed to use
          InterpretApplication rather than InterpretFAST and MulicastInterpreter:
            Replace            with
            -f filename        -file filename
            -o output_file     >>output_file
            -head count        -limit count
            -r                 -reset
            -s                 -strict
            -vp, -vd, -vx      -vo filename
            -b size            -buffersize size
            -# count           -buffers count
            -l ip              -mlisten ip
            -m ip -p port      -multicast ip:port

Thu Jun 17 15:09:43 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Communication/MulticastReceiver.h:
        * src/Communication/TCPReceiver.h:
          Provide direct access to the sockets inside the *Receivers
          for special purpose needs.  Until the encoder work is complete
          this can be used to send to the TCP counterpary.  The multicast
          method is there only for completeness.

Fri Jun 11 17:37:28 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Messages/MessageFormatter.h:
        Include file name capitalization error.

Fri Jun 11 15:45:55 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/SegmentBody.cpp:
          Improve handling of recursive templateRefs.
          This addresses Issue #57.  The new testSequences
          was the test that revealed this problem (thanks Matt).

          There are still possible pathological cases but they
          are much less likely to be used.

        * src/Codecs/XMLTemplateParser.cpp:
        * src/Codecs/TemplateRegistry.cpp:
          Improve formatting of verbose output to make the results more
          like legal XML.

        * src/Messages/MessageFormatter.cpp:
          Changes to make displays of complex messages more readable.

        * src/Codecs/FieldInstructionGroup.cpp:
          Change handling of groups to make merging group fields
          into the parent segment more under the control of the
          application.   This addresses a problem that showed
          up trying to write a round-trip test. If the group was
          merged by the decoder, then the generic accessor used
          by the encoder couldn't find it because it no longer
          existed as a group.  Hence the round-trip would not
          accurately reproduce the original input.

        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testGroupReferences1.cpp:
        * src/Tests/testSequences.cpp:
          New or Improved tests for the above.

Wed Jun  2 15:49:44 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataDestination.h:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/PresenceMap.cpp:
        * src/Common/QuickFAST_Export.h:
        * src/Common/WorkingBuffer.h:
        * src/Common/WorkingBuffer.cpp:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
          Add quite a bit of additional debugging information to verbose displays.
          All of which was necessary in order to diagnose the problem
          reported in Issue 56.
          Issue 56 turned out to be a buffer management problem during
          encoding nested groups.  The encoder ended up encoding into the
          wrong partial buffer after returning from nested groups.

        * src/Messages/MessageFormatter.h:
        * src/Messages/MessageFormatter.cpp:
          Extract message formatting into separate class
          to make generating debug/diagnostics messages easier.

        * src/Tests/testGroupReferences1.cpp:
          The test included as part of Issue #56 turned into a new unit test.
          Note that it differs quite a bit from the original submission.

Thu May 27 15:31:03 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MessagePerPacketAssembler.cpp:
        Resset the DataSource after decoding errors so the decoder
        will skip to the beginning of the next packet.
        Issue # 55

Wed May 26 15:13:49 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataDestination.h:
        * src/Codecs/DataSource.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FixedSizeHeaderAnalyzer.h:
        * src/Codecs/NoHeaderAnalyzer.h:
        * src/Examples/Examples/ValueToFix.h:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/MessageAccessor.h:
        * src/Messages/SpecialAccessors.h:
        * src/Tests/testBiggestValue.cpp:
        Update Doxygen comments to track recent changes.
        Remove the getField by name method from field set.  Getting
        a field from a field set now always requires a FieldIdentity.
        Change the constructor for a FieldIdentity to includde ID.
        Change the equality operator for FieldIdentity so the ID
        is only compared if it is specified in both of the identities
        being compared.  -- Matching names are good enough if the
        id is not available.

Tue May 25 18:51:22 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/XMLTemplateParser.cpp:
          Use XMLString::release to release Xerces-allocated strings.

        * src/Examples/Examples/ValueToFix.h:
        * src/Examples/Examples/ValueToFix.cpp:
          New ValueMessageBuilder that writes a FIX data file.

        * src/Examples/InterpretApplication/InterpretApplication.h:
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
          -ofix option uses ValueToFix (i.e. interprets the messages as FIX messages)
          -console enables console commands:  <q>uit <p>ause and <r>esume

        * src/Messages/ValueMessageBuilder.h:
        * src/Messages/ValueMessageBuilder_fwd.h:
          Fix minor whitespace formatting issue.
          Declare smart pointer to ValueMessageBuilder for occasional use.

Fri May 21 20:44:05 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Messages/MessageAccessor.cpp:
        New file, missing from previous checkin.

Fri May 21 18:37:24 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataDestination.h:
        Add support for asio gather writes

        * src/Codecs/DataSource.h:
        * src/Codecs/DataSource.cpp:
        Remove deprecated methods

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/MessageAccessor.h:
        * src/Messages/SpecialAccessors.h:
        Switch to retrieving application data by specific value
        rather than by generic field.

        * src/Codecs/FixedSizeHeaderAnalyzer.h:
        * src/Codecs/FixedSizeHeaderAnalyzer.cpp:
        * src/Codecs/HeaderAnalyzer.h:
        Add the ability to reset the analyzer in case
        something happens while processing the header.

        * src/Codecs/MessagePerPacketAssembler.h:
        * src/Codecs/MessagePerPacketAssembler.cpp:
        Rename buffer_ and size_ to avoid name conflicts
        with DataSource base class.
        Add additional debug info when verbose is turned on.
        Reset the HeaderAnalyzer when appropriate.

        * src/Communication/AsynchReceiver.h:
        * src/Communication/MulticastReceiver.h:
        * src/Communication/Receiver.h:
        Remove perfect filter.  It didn't solve the problem.
        Add support for pausing and resuming a multicast receiver.

        * src/Communication/PCapReader.h:
        * src/Communication/PCapReader.cpp:
        Add support for "Linux cooked" headers in pcap file.


        * src/Examples/InterpretApplication/InterpretApplication.h:
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
        Add console "commands"  (p)ause; (r)esume; (q)uit.
        Enable with the -console option.
        to use: type the letter, hit Enter

Tue May 18 13:20:47 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MessagePerPacketAssembler.cpp:
          Clear remaining data when headerAnalyzer sets skip to true.

        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldInt16.h:
        * src/Messages/FieldInt16.cpp:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldInt8.h:
        * src/Messages/FieldInt8.cpp:
        * src/Messages/FieldString.h:
        * src/Messages/FieldString.cpp:
        * src/Messages/FieldUInt16.h:
        * src/Messages/FieldUInt16.cpp:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUInt8.h:
        * src/Messages/FieldUInt8.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
          Preparing for value-based encoding.

Fri May 14 16:09:19 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataDestination.h:
        * src/Common/WorkingBuffer.h:
        * src/Common/WorkingBuffer.cpp:
        * src/Tests/testCommon.cpp:
          Remove DataDestination IOVec support -- I'll try again later
          Add DataDestination::toWorkingBuffer() -- preferred way to
          get contiguous data
          Add WorkingBuffer::append() and WorkingBuffer::toString()
          Unit tests for WorkingBuffer (needs more!)

        * src/Tests/testGroupReferences.cpp:
          Fix formatting
          Switch to BOOST_REQUIRE to avoid a seg fault after failure

Mon May 10 20:28:47 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * m.cmd:
          Hide REM statements when running m.cmd

Mon May 10 15:59:03 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataDestination.h:
        * src/Codecs/Encoder.cpp:
          Linux build error in verbose code.
          While I'm in there, change verbose to use an ostream
          rather than just a bool to all redirected output.

Mon May 10 15:20:38 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.features:
          Turn the .NET build back off by default because the doc
          says it defaults to off.
        * m.cmd:
          Add option to expand environment variables into the solution
          and project files because not everyone runs Visual Studio from
          the command line.

Fri May  7 15:30:45 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataDestination.h:
        * src/Codecs/DataDestinationString.h:
        * src/Common/WorkingBuffer.h:
        * src/Communication/AsynchReceiver.h:
        * src/Communication/MulticastReceiver.h:
        * src/Communication/Receiver.h:
        * src/Tests/testBiggestValue.cpp:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Tests/testGroupReferences.cpp:
        * src/Tests/testPresenceMap.cpp:
        * src/Tests/testRoundTrip.cpp:
        * src/Tests/testRoundTrip1.cpp:
        * src/Tests/testRoundTripFieldOps.cpp:
        * src/Tests/testSmallestValue.cpp:
          The previous change to DataDestination rendered
          DataDestinationString redundant.   Since
          DataDestinationBuffer is new, I simply promoted
          its functionality into DataDestination.  For backward
          compatibility DataDestinationString::toValue has been
          replaced by a thunk that forwards the toString method
          to DataDestination.

          To support some semblence of efficiency the signature
          of toString has been changed to accept reference to
          a string in which to return the results.

        * src/Codecs/DataDestinationBuffer.h:
        * src/Codecs/DataDestinationBuffer.cpp:
        * src/Codecs/DataDestinationString.cpp:
        * src/Tests/DataDestinationMock.h:

          Removed these files.

Thu May  6 20:51:30 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataDestination.h:
        * src/Codecs/DataDestinationBuffer.cpp:
        * src/Codecs/DataDestinationString.h:
        * src/Codecs/DataDestinationString.cpp:
        * src/Codecs/DatadestinationBuffer.h:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Common/WorkingBuffer.h:
        * src/Common/WorkingBuffer.cpp:
        * src/Tests/DataDestinationMock.h:
        * src/Tests/testBiggestValue.cpp:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Tests/testGroupReferences.cpp:
        * src/Tests/testPresenceMap.cpp:
        * src/Tests/testRoundTrip.cpp:
        * src/Tests/testRoundTrip1.cpp:
        * src/Tests/testRoundTripFieldOps.cpp:
        * src/Tests/testSmallestValue.cpp:
          Change DataDestination to allow it to be reused.
          The clear() method will empty the destination but
          will not release buffers.  When the destination is
          reused, it won't need to allocate new buffers.  Also
          the buffers will grow to the "right" size and stay
          there. (The general approach was suggested by
          carlosz--blame me for the specific implementation,
          though.)

          Add new DataDestination type: DataDestinationBuffer.
          DataDestinationString was a quick/dirty implementation
          designed to support getting the encoder working.

          DataDestinationBuffer collects data into buffers
          suitable for use with scatter/gather I/O.  It also
          has a toString method so it duplicates the capabilities
          of DataDestinationString.
          IMPORTANT: The toString() method is NOT efficient.
          It is intended for debugging/testing, not for production
          use.
          I switched all the tests over to using DataDestinationBuffer
          so DataDestinationString can be retired eventually.

          And while testing this, I found a problem in tail encoding
          of missing fields for Ascii, UTF8, and ByteVector fields
          That got fixed in this checkin, too.

Wed May  5 21:01:37 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
          Enable unrolled encodeUnsignedInteger
          Relax overflow check slightly for unsigned numbers.  Bits that must be sent
          to reach a byte boundary but which do not take part in the result will be
          ignored.  Previously these bits had to match the high order bit.
          For signed decoding these bits must still match the sign bit.

        * src/Codecs/FieldInstructionInteger.h:
          Spelling error in error message


Mon May  3 15:27:40 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * setup.cmd:
          Check %BOOST_ROOT%/boost in addition to %BOOST_ROOT%/lib

        * src/Codecs/Context.h:
          Pass value by reference to setDictionaryValue

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
          Provide alternative getSegmentbodyPtr that throws rather than returning status.
          Unroll the integer encoders (need to test performance to see if this is worth it.)


        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
          Remove an unnecessary field create.
          Make FieldInstructionAscii::fieldInstructionType() public.

          Thanks to Carlosz for suggesting most of these changes.

Tue Apr 27 21:21:44 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConnection.cpp:
        * src/Codecs/FixedSizeHeaderAnalyzer.h:
        * src/Codecs/FixedSizeHeaderAnalyzer.cpp:
        * src/Codecs/NoHeaderAnalyzer.h:
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
        Add a hook for testing the "skip this packet" feature.
        TestSkip forces the header analyzer to
        skip every 'n'th packet.

        * src/Codecs/Encoder.cpp:
        Fix a spelling mistake

        * src/Common/Decimal.cpp:
        Add leading zero before decimal point in toString.
        Avoid making a temporary to return the string value.

        * src/Messages/FieldSet.cpp:
        * src/Tests/testGroupReferences.cpp:
        * src/Tests/testRoundTripFieldOps.cpp:
        Issue #52 heap allocation error after decoding.
        If field set needed to grow to support additional fields
        it grew by 50% (i.e. size = size * 3 / 2.)
        This worked fine unless size started at 1 (oops).


Thu Apr 22 15:11:47 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/Logger.h:
        Add virtual destructor to Logger.  See Issue # 48.

Thu Apr 22 14:54:02 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Communication/LinkedBuffer.h:
        Add a missing return statement.  See Issue#47.

Wed Apr 14 19:43:47 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Application/DecoderConfiguration.h:
        The nonstandard_ member variable was not initialized

        * src/Application/DecoderConnection.cpp:
         Decoder Connection was not opening the XML file in binary mode on Windows

        * src/Common/Decimal.cpp:
        Decimal formatting using boost lexical cast was producing sloppy results
         i.e. 3.99999999999999 rather than 4.0
        I hand coded a formatter that produces a string that exactly represents the decimal value.

        * src/Examples/InterpretApplication/InterpretApplication.cpp:
        Cosmetic: Fix a line that was indented incorrectly.

Wed Apr 14 18:15:30 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Application/DecoderConnection.cpp:

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionExponent.h:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOp.cpp:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Common/Types.h:
        * src/Common/Types.cpp:
        * src/DotNet/ImplField.cpp:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Messages/FieldIdentity.cpp:
        * src/Tests/FieldInstructionMock.h:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testXMLTemplateParser.cpp:

        Issue#42 pointed out a problem with the way the presence map interacted
        with groups.  There are three parts to this checkin:
         1) Add a display(ostream, indent) method to the various components of
            an in-memory template/template registry.  This allows the contents
            of the registry to be dumped after the XML file is compiled.  The
            dump includes information about PMAP usage that was used to
            diagnose this problem.
         2) Add a new unit test in testXMLTemplateParser: testGroupsAndSequencesVsPMAP.
            This test detected the problem and verfied that it was fixed.
            Also correct an incorrect test in testFieldInstructions which
            was triggered by the fix.
         3) Fix the problem (the change is in in FieldInstructionGroup)

        * Output/TestData:
        This was used by the old .NET tests which are gone.  We need new tests,
        but when they happen they won't read templates from a file.

Tue Apr 13 21:02:51 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        One more pass at Issue #43.  The case of an optional field with no default value
        was still not being handled correctly.  Apply the fix to Blobs and Decimals, too.

        * src/Tests/testFieldOperations.cpp:
        Tests for Issue #43.  Currently integers and Ascii strings are tested.  It would be
        worthwhile to have similar tests for Decimals and Blobs.

        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldIdentity.cpp:
        Add a display() method to template components to allow dumping
        of the decoded templates for verification/debugging purposes.

Mon Apr 12 23:49:19 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        Fix a mistake in the previous checkin.

Mon Apr 12 22:31:21 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Tests/testFieldOperations.cpp:
        Issue #43.  Ascii string encodeCopy optional, no initial value not handled
        correctly.
        Unit test test_issue_38 finds it.
        This checkin fixes it.

Mon Apr 12 21:11:14 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/TutorialApplication/TutorialApplication.cpp:
        Issue # 44.  Error from XML parser because Xerces expects
        the file to be open in binary mode on Windows.

Thu Apr  8 22:00:49 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        Cosmetics.  Cleaning up parameter names to match
        actual data types (which changed long ago.)

Tue Apr  6 16:54:38 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConnection.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/XMLTemplateParser.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Examples/InterpretApplication/InterpretApplication.cpp:

        Add support for nonstandard usage by Shanghai Exchange:
        They encode:
           <sequence name="Abc" presence="optional>
             <length name="NoAbc/>
        As
           <sequence name="Abc">
              <length name="NoAbc presence="optional">

        This patch assigns numbers to nonstandard FAST features
                NONSTANDARD_PresenceOnLengthInstruction = 1
        and a setNonstandard(feature) method on the template parser
        to enable support for the feature.

        InterpretApplication now has a new parameter:
          -nonstandard n
        to use/test this capability.

Mon Apr  5 22:55:28 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/Version.h:
        Set Version to 1.3 [Preliminary]

Mon Apr  5 21:11:28 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/Version.h:
        Prepare V1.2 release.

Mon Apr  5 20:55:21 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        Add doxygen comment for ignoreOverflow_

        * src/Application/DecoderConnection.cpp:
        avoid deleting cout and cerr when used as an echo file.

        * src/Codecs/DataSource.h:
        * src/Codecs/DataSource.cpp:
        Add additional info to echo display: interpret FAST encoded data
        as string and as raw integer (warning, field nullability so the
        actual decoded value may need adjusting.)

        * src/Examples/Examples.mpc:
        Add standard boilerplate comments.

Mon Apr  5 20:55:21 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Application/DecoderConnection.cpp:
        avoid deleting cout and cerr when used as an echo file.

        * src/Codecs/DataSource.h:
        * src/Codecs/DataSource.cpp:
        Add additional info to echo display: interpret FAST encoded data
        as string and as raw integer (warning, field nullability so the
        actual decoded value may need adjusting.)

        * src/Examples/Examples.mpc:
        Add standard boilerplate comments.

Fri Apr  2 16:31:58 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Messages/FieldIdentity.h:
        Move the "no-overflow" flag into the field instruction where it belongs.
        * src/Examples/InterpretApplication/InterpretApplication.h:
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
        Add support for decoding-from-a-buffer.

Wed Mar 31 14:30:29 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConnection.h:
        * src/Application/DecoderConnection.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/MessagePerPacketAssembler.h:
        * src/Codecs/MessagePerPacketAssembler.cpp:
        * src/Codecs/StreamingAssembler.h:
        * src/Codecs/StreamingAssembler.cpp:
        * src/Communication/Assembler.h:
        * src/Communication/BufferReceiver.h:
        * src/Communication/BufferReceiver_fwd.h:
        * src/Communication/LinkedBuffer.h:
        * src/Communication/PCapFileReceiver_fwd.h:
        * src/Communication/Receiver.h:
        * src/Communication/SynchReceiver.h:
        * src/DotNet/DNDecoderConnection.h:
        * src/DotNet/DNDecoderConnection.cpp:
        * src/DotNet/ImplField.h:
        * src/DotNet/ImplMessageDeliverer.h:
        * src/DotNet/Stopwatch.h:
        * src/DotNetExamples/InterpretFASTDotNet/InterpretFASTDotNet.cs:
        * src/Tests/testCommon.cpp:
        Add support to DNDecoderConnection to decode from memory buffer (.NET byte[])
         -- use receiver type BUFFER_RECEIVER
         -- call Assembler::run(builder, buffer, offset, used, reset)
            rather than run(builder, threadCount, useThisThread)

Tue Mar 30 16:09:00 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.mwc:
        exclude(!vc8,!vc9) was not working as expected so I switched
        to exclude(!prop:windows)  Downside is lack of support for mono
        and possibly unexpected results running mingw/gcc.

Fri Mar 12 20:19:15 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldIdentity.cpp:
        * src/Tests/testFieldInstructions.cpp:
        Required should be a property of the field instruction, not the identity.
        Now it is.

Thu Mar 11 19:59:37 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConnection.cpp:
        * src/DotNet/DNDecoderConnection.h:
        * src/DotNet/DNFieldSet.h:
        * src/DotNet/DNFieldSet.cpp:
        * src/DotNet/ImplBuilderBase.cpp:
        * src/DotNetExamples/InterpretFASTDotNet/FieldSetInterpreter.cs:
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
          Add get and set methods to DecoderConfiguration rather than
          accessing data members directly.
          Honor the strict and reset parameters for decoding.
          Add Find*ByQualifiedName methods to DNFieldSet to honor field namespace
          Set the default log level in DotNet to LOG_WARNING
          Improve internal documentation

Wed Mar 10 21:57:36 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNetTests/QuickFASTDotNetTests.mpc:
        Disable .NET tests until they can be reworked.

Wed Mar 10 20:15:18 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNet/ImplField.h:
        * src/DotNet/ImplField.cpp:
        * src/DotNet/ImplFieldSetBuilder.cpp:
        * src/DotNet/ImplSequence.h:
        * src/DotNet/ImplSequence.cpp:
        * src/DotNetExamples/InterpretFASTDotNet/InterpretFASTDotNet.cs:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.cs:
        Improve performance as measured by PerformanceTestDotNet
        Display log and error messages in InterpretFASTDotNet and PerformanceTestDotNet.

Wed Mar 10 15:48:14 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.features:
        * QuickFASTApplication.mpb:
        * QuickFASTDotNetApplication.mpb:
        * QuickFASTDotNetExample.mpb:
        * QuickFASTExample.mpb:
        * QuickFASTExeOut.mpb:
        * src/DotNet/DNField.cpp:
        * src/DotNet/DNMessageDeliverer.h:
        * src/DotNet/DNMessageDeliverer.cpp:
        * src/DotNet/DNSequence.h:
        * src/DotNet/ImplBuilderBase.h:
        * src/DotNet/ImplBuilderBase.cpp:
        * src/DotNet/ImplField.h:
        * src/DotNet/ImplField.cpp:
        * src/DotNet/ImplFieldSet.h:
        * src/DotNet/ImplFieldSet.cpp:
        * src/DotNet/ImplFieldSetBuilder.h:
        * src/DotNet/ImplFieldSetBuilder.cpp:
        * src/DotNet/ImplMessageDeliverer.h:
        * src/DotNet/ImplMessageDeliverer.cpp:
        * src/DotNet/ImplSequence.cpp:
        * src/DotNet/ImplSequenceBuilder.h:
        * src/DotNet/ImplSequenceBuilder.cpp:
        * src/DotNet/Stopwatch.h:
        * src/DotNet/Stopwatch.cpp:
        * src/DotNetExamples/InterpretFASTDotNet/InterpretFASTDotNet.cs:
        * src/DotNetExamples/InterpretFASTDotNet/InterpretFASTDotNet.mpc:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.cs:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.mpc:
        * src/DotNetExamples/PerformanceTestDotNet/MessageInterpreter.cs:
        Reenable the PerformanceTestDotNet application.
        Change most Impl* classes to be unmanaged to improve .NET performance.
        Note this check in has dotnet enabled in the features file.

Tue Mar  9 18:59:44 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNet/DNDecimal.h:
        * src/DotNet/DNDecoderConnection.h:
        * src/DotNet/DNField.h:
        * src/DotNet/DNFieldSet.h:
        * src/DotNet/DNMessage.h:
        * src/DotNet/DNMessageBuilder.h:
        * src/DotNet/DNMessageDeliverer.h:
        * src/DotNet/DNSequence.h:
        * src/DotNet/ImplBuilderBase.h:
        * src/DotNet/ImplField.h:
        * src/DotNet/ImplFieldSet.h:
        * src/DotNet/ImplFieldSetBuilder.h:
        * src/DotNet/ImplSequence.h:
        * src/DotNet/ImplSequenceBuilder.h:
        * src/DotNet/QuickFASTDotNetPch.h:
        * src/DotNet/StringConversion.h:
        * src/DotNet/app.aps:
        * src/Doxyfile:
        * src/DotNet/DNSequenceEntry.h:
          Removed this file.
        Update Doxygen Documentation for .NET API

Mon Mar  8 23:52:21 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNet/DNFieldSet.h:
        * src/DotNet/DNFieldSet.cpp:
        * src/DotNet/DNSequence.cpp:
        * src/DotNetExamples/InterpretFASTDotNet/FieldSetInterpreter.cs:
        Make FieldSet Enumerable.  Use foreach in Interpreter.


Mon Mar  8 23:33:02 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNet/DNSequence.h:
        * src/DotNet/DNSequence.cpp:
        * src/DotNetExamples/InterpretFASTDotNet/FieldSetInterpreter.cs:
        Make Sequence Enumerable.  Use foreach in Interpreter.

Mon Mar  8 17:44:09 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNet/DNField.h:
        * src/DotNet/DNField.cpp:
        * src/DotNetExamples/InterpretFASTDotNet/FieldSetInterpreter.cs:
        Access Field values as properties rather than "get" methods.

Mon Mar  8 16:13:47 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.features:
        Disable .NET support by default to avoid generating errors for
        people who do not have .NET installed on their system, or for
        people using the express editions of visual studio.

Sun Mar  7 19:57:02 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.mwc:
        * src/DotNet/AssemblyInfo.cpp:
        * src/DotNet/DNDecimal.h:
        * src/DotNet/DNDecimal.cpp:
        * src/DotNet/DNDecoderConnection.h:
        * src/DotNet/DNDecoderConnection.cpp:
        * src/DotNet/DNField.h:
        * src/DotNet/DNField.cpp:
        * src/DotNet/DNFieldSet.h:
        * src/DotNet/DNFieldSet.cpp:
        * src/DotNet/DNMessage.h:
        * src/DotNet/DNMessageBuilder.h:
        * src/DotNet/DNMessageDeliverer.h:
        * src/DotNet/DNMessageDeliverer.cpp:
        * src/DotNet/DNSequence.h:
        * src/DotNet/DNSequence.cpp:
        * src/DotNet/DNSequenceEntry.h:
        * src/DotNet/ImplBuilderBase.h:
        * src/DotNet/ImplBuilderBase.cpp:
        * src/DotNet/ImplField.h:
        * src/DotNet/ImplField.cpp:
        * src/DotNet/ImplFieldSet.h:
        * src/DotNet/ImplFieldSet.cpp:
        * src/DotNet/ImplFieldSetBuilder.h:
        * src/DotNet/ImplFieldSetBuilder.cpp:
        * src/DotNet/ImplSequence.h:
        * src/DotNet/ImplSequence.cpp:
        * src/DotNet/ImplSequenceBuilder.h:
        * src/DotNet/ImplSequenceBuilder.cpp:
        * src/DotNet/QuickFASTDotNet.mpc:
        * src/DotNet/QuickFASTDotNetPch.h:
        * src/DotNet/QuickFASTDotNetPch.cpp:
        * src/DotNet/StringConversion.h:
        * src/DotNet/app.aps:
        * src/DotNet/resource.h:
        * src/DotNetExamples/InterpretFASTDotNet/FieldSetInterpreter.cs:
        * src/DotNetExamples/InterpretFASTDotNet/InterpretFASTDotNet.cs:
        * src/DotNetExamples/InterpretFASTDotNet/Properties/AssemblyInfo.cs:
        * src/QuickFAST.mpc:
        Reenable .NET support.   It needs work, but it is successfully decoding incoming messages.


Sun Mar  7 19:22:31 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.features:
        Add "obsolete" feature for use during transtion to new .NET support

        * QuickFAST.mwc:
        Disable .NET builds during transition

        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConnection_fwd.h:
        Documentation changes.
        Add forward declaration.

        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionUInt64.h:
        Fix some field type errors.

        * src/Common/QuickFASTPch.h:
        Link boost::threads dynamically to cope with .NET

        * src/Communication/Receiver.h:
        Declare destructor as virtual.


        * src/DotNetExamples/InterpretFASTDotNet/InterpretFASTDotNet.mpc:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.mpc:
        Disable DotNet examples during transition to new DotNet support

        * src/DotNet/AssemblyInfo.cpp:
        * src/DotNet/BoostPtr.h:
        * src/DotNet/DataDestination.h:
        * src/DotNet/DataDestination.cpp:
        * src/DotNet/DataSource.h:
        * src/DotNet/DataSource.cpp:
        * src/DotNet/DataSourceBuffered.h:
        * src/DotNet/DataSourceBuffered.cpp:
        * src/DotNet/Decimal.h:
        * src/DotNet/Decimal.cpp:
        * src/DotNet/Decoder.h:
        * src/DotNet/Decoder.cpp:
        * src/DotNet/Encoder.h:
        * src/DotNet/Encoder.cpp:
        * src/DotNet/Exceptions.h:
        * src/DotNet/Exceptions.cpp:
        * src/DotNet/Field.h:
        * src/DotNet/Field.cpp:
        * src/DotNet/FieldIdentity.h:
        * src/DotNet/FieldIdentity.cpp:
        * src/DotNet/FieldSet.h:
        * src/DotNet/FieldSet.cpp:
        * src/DotNet/ManagedHelpers.h:
        * src/DotNet/MutableFieldSet.h:
        * src/DotNet/MutableFieldSet.cpp:
        * src/DotNet/MutableSequence.h:
        * src/DotNet/MutableSequence.cpp:
        * src/DotNet/QuickFASTDotNet.mpc:
        * src/DotNet/Sequence.h:
        * src/DotNet/Sequence.cpp:
        * src/DotNet/Stdafx.h:
        * src/DotNet/Stdafx.cpp:
        * src/DotNet/StlDotNet.h:
        * src/DotNet/Stopwatch.h:
        * src/DotNet/Stopwatch.cpp:
        * src/DotNet/SynchronousDecoder.h:
        * src/DotNet/SynchronousDecoder.cpp:
        * src/DotNet/TemplateRegistry.h:
        * src/DotNet/TemplateRegistry.cpp:
        * src/DotNet/UnmanagedPtr.h:
        * src/DotNet/UnmanagedPtr.cpp:
        * src/DotNet/resource.h:
        * src/DotNetExamples/InterpretFASTDotNet/MessageInterpreter.cs:
        Remove previous attempt at DotNet support to make room for the
        new way.

Fri Feb 26 18:00:48 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSource.cpp:
        Problem detecting end of data in DataSource::bytesAvailable();

Wed Feb 24 20:28:22 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Application/DecoderConfiguration.h:
        * src/Application/DecoderConnection.h:
        * src/Application/DecoderConnection.cpp:
        * src/Communication/PCapFileReceiver.h:
        * src/Examples/InterpretApplication/InterpretApplication.h:
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
        Use InterpretApplication as a prototype for a "typical"
        application that needs to decode FAST encoded data.

        The "guts" of InterpretApplication were refactored into
        - DecoderConfiguration which holds everything you need to
          know in order to configure a decoder for "any" supported
          type of incoming data, and
        - DecoderConnection which creates all the necessary
          QuickFAST objects (as described by a DecoderConfiguration),
          links them together, and makes the results available
          to the application.

        With this change, the InterpretApplication collapses into:
           Populate a DecoderConfiguration from command line arguments
           Create a MessageBuilder to accept decoded information
           Configure a DecoderConnection
              using the MessageBuilder and the DecoderConfiguration
           Run the DecoderConnection

       The DecoderConfiguration and DecoderConnection
       are available for use in other applications which was the
       point of the exercise.

Tue Feb 23 19:48:26 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        Suppress a silly warning from msvc

        * src/Communication/MulticastReceiverHandle.h:
        Fix a documentation error

        * src/Examples/InterpretApplication/InterpretApplication.h:
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
        Internal reorg to prepare for some future work.  Nothing visible.

Mon Feb 22 23:44:57 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/ByteSwapper.h:
        * src/Common/ByteSwapper.cpp:
        Consolidating byte-order support.

        * src/Codecs/DataSource.cpp:
        * src/Codecs/FixedSizeHeaderAnalyzer.cpp:
        * src/Codecs/StreamingAssembler.cpp:
        * src/Common/QuickFASTPch.h:
        * src/Communication/Assembler.h:
        * src/Communication/AsynchReceiver.h:
        * src/Communication/LinkedBuffer.h:
        * src/Communication/MulticastReceiverHandle.h:
        * src/Communication/PCapReader.h:
        * src/Communication/Receiver.h:
        * src/Communication/SynchReceiver.h:
        * src/Communication/TCPReceiver.h:
        * src/Doxyfile:
        Updating doxygen comments after recent Receiver refactoring.

Mon Feb 22 18:50:18 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/StreamingAssembler.cpp:
        * src/Communication/AsioService.h:
        * src/Communication/AsynchReceiver.h:
        * src/Communication/AsynchReceiver_fwd.h:
        * src/Communication/MulticastReceiver.h:
        * src/Communication/PCapFileReceiver.h:
        * src/Communication/RawFileReceiver.h:
        * src/Communication/Receiver.h:
        * src/Communication/SynchReceiver.h:
        * src/Communication/SynchReceiver_fwd.h:
        * src/Communication/TCPReceiver.h:
        Refactor Receiver into
          Receiver base class;
          AsynchReceiver;
            (Multicast & TCPIP)
          SynchReceiver;
            (Raw and PCap)
        This eliminates excess baggage and makes it more clear
        which methods should be used by which derived classes.

Mon Feb 22 16:55:06 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
        * src/Examples/TutorialApplication/TutorialApplication.h:
        * src/Examples/TutorialApplication/TutorialApplication.cpp:
        gcc build errors.  Apparently gcc and I disagree on the meaning
        of reinterpret_cast.   I'll let it have its way for now.

Fri Feb 19 19:38:05 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Communication/Assembler.h:
        * src/Codecs/MessagePerPacketAssembler.h:
        * src/Codecs/MessagePerPacketAssembler.cpp:
        * src/Codecs/StreamingAssembler.cpp:
        Add support for decoder options: strict and reset

        * src/Common/QuickFASTPch.h:
        * src/Messages/SingleValueBuilder.h:
        Add doxygen documentation for the Communication namespace
        Eliminate doxygen warnings for SingleValueBuilder.

        * src/Communication/PCapFileReceiver.h:
        * src/Communication/RawFileReceiver.h:
        Make the run() method public,
        but the filllBuffer() method private

        * src/Examples/InterpretApplication/main.cpp:
        Remove some debugging code

        * src/Examples/Examples.mpc:
        * src/Examples/TutorialApplication:
        * src/Examples/TutorialApplication/TutorialApplication.h:
        * src/Examples/TutorialApplication/TutorialApplication.cpp:
        * src/Examples/TutorialApplication/main.cpp:
        Add a tutorial application intended to be a gentle introduction
        to "how to use the QuickFAST decoder" in a real application.
        This is a companion to a new Wiki page that will appear
        shortly.

Fri Feb 19 16:02:10 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/InterpretApplication/InterpretApplication.cpp:
        some people type better than others (sigh)

Fri Feb 19 15:47:08 UTC 2010  Dale Wilson  <wilsond@ociweb.com>


        * src/Examples/InterpretApplication/InterpretApplication.cpp:
        gcc build error.

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/Decoder.h:
        * src/Codecs/FixedSizeHeaderAnalyzer.h:
        * src/Codecs/MessagePerPacketAssembler.h:
        * src/Codecs/StreamingAssembler.h:
        * src/Communication/PCapFileReceiver.h:
        * src/Communication/RawFileReceiver.h:
        * src/Messages/SpecialAccessors.h:
        Polishing Doxygen comments.

Thu Feb 18 22:42:35 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/DataSource.cpp:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FastEncodedHeaderAnalyzer.h:
        * src/Codecs/FixedSizeHeaderAnalyzer.h:
        * src/Codecs/GenericMessageBuilder.cpp:
        * src/Codecs/HeaderAnalyzer.h:
        * src/Codecs/HeaderAnalyzer_fwd.h:
        * src/Codecs/MessagePerPacketAssembler.h:
        * src/Codecs/MessagePerPacketAssembler.cpp:
        * src/Codecs/MessagePerPacketAssembler_fwd.h:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Codecs/NoHeaderAnalyzer.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/StreamingAssembler.h:
        * src/Codecs/StreamingAssembler.cpp:
        * src/Common/Exceptions.h:
        * src/Common/WorkingBuffer.cpp:
        * src/Communication/AsioService.h:
        * src/Communication/Assembler.h:
        * src/Communication/Assembler_fwd.h:
        * src/Communication/MulticastReceiver.h:
        * src/Communication/MulticastReceiverHandle.h:
        * src/Communication/MulticastReceiverHandle.cpp:
        * src/Communication/PCapFileReceiver.h:
        * src/Communication/PCapFileReceiver_fwd.h:
        * src/Communication/RawFileReceiver.h:
        * src/Communication/RawFileReceiver_fwd.h:
        * src/Communication/Receiver.h:
        * src/Communication/TCPReceiver.h:
        * src/Examples/InterpretApplication/InterpretApplication.h:
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
        * src/Examples/InterpretApplication/main.cpp:
        * src/Messages/FieldSet.cpp:
        * src/Messages/SingleValueBuilder.h:
        * src/Application/FastConnection.h:
        * src/Application/FastConnection.cpp:
        * src/Codecs/BlockedStreamQueueService.h:
        * src/Codecs/BlockedStreamQueueService.cpp:
        * src/Codecs/MessagePerPacketQueueService.h:
        * src/Codecs/MessagePerPacketQueueService.cpp:
        * src/Codecs/MessagePerPacketQueueService_fwd.h:
        * src/Communication/BufferQueueService.h:
        * src/Communication/BufferQueueService_fwd.h:
        This is the major check-in I mentioned on the QuickFAST_users list.
        Refactor the infrastructure that receives incoming FAST data and passes
        it to the decoder to support a wide variety of environments.

        As of this checkin, there are four roles that need to be filled
        and several actors available for each role:

        o Receiver -- accepts incoming data into buffers.
           -- MulticastReceiver
           -- TCPIPReceiver
           -- RawFileReceiver
           -- PCapFileReceiver
        o Assembler -- Organizes the incoming buffers and delivers the data
                       to the decoder
           -- MessagePerPacketAssembler
           -- StreamingAssembler
        o HeaderAnalyzer -- Examines the beginning of each incoming message
                            for header information.
           -- NoHeaderAnalyzer
           -- FixedSizeHeaderAnalyzer
           -- FastEncodedHeaderAnalyzer
           -- custom header analyzer implement the HeaderAnalyzer interface.
        o MessageBuilder -- Accepts the decoded data and delivers it to the
                            client application.
           -- GenericMessageBuilder
           -- custom message builders implement the ValueMessageBuilder interface.

        The InterpretApplication has been reworked so that any combination of
        the available actors may be used together in these roles.

        Because this check-in may break existing code, the repository was tagged
        before the checkin for users who wish to stay with the old version
        (for a while.  Please don't stay there forever!) The URL for this tag
        is //quickfast.googlecode.com/svn/tags/BeforeReceiverAssemblerAnalyzerRework




Wed Feb 17 22:09:28 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Communication/Receiver.h:
        Bad test for success of queue service caused the receiver to shut down early.


Mon Feb 15 20:30:49 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionInteger.h:
        * src/Tests/testFieldOperations.cpp:
        Error decoding default uint32 -- field was interpreted as signed.
        Added unit test for this.

Mon Feb 15 15:54:23 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/StreamingAssembler.h:
        * src/Tests/testXMLTemplateParser.cpp:
        Fix a problem handling PMAP for a sequence.  This problem
        could manifest itself in a number of ways including:
          Expecting a pmap for a seqence entry when none is required.
          Getting the pmap "out of sync" while decoding sequence entries.
        Add a unit test for the problem to testXMLTemplateParser.cpp.

Wed Feb 10 21:17:12 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FastEncodedHeaderAnalyzer.h:
        * src/Codecs/FastEncodedHeaderAnalyzer.cpp:
        * src/Codecs/FixedSizeHeaderAnalyzer.h:
        * src/Codecs/FixedSizeHeaderAnalyzer.cpp:
        * src/Codecs/HeaderAnalyzer.h:
        * src/Codecs/HeaderAnalyzer_fwd.h:
        * src/Codecs/MessagePerPacketQueueService.h:
        * src/Codecs/MessagePerPacketQueueService.cpp:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Codecs/NoHeaderAnalyzer.h:
        Define interface HeaderAnalyzer to cope with the headers, aka preambles,
        aka block sizes that frame FAST encoded messages.
        Add three implementations:
          NoHeaderAnalyzer for FAST data with no framing information.
          FastEncodedHeaderAnalyzer for messages that include one or
           more FAST-encoded fields in the header.
          FixedSizeHeaderAnalyzer for messages that have a fixed size
           unencoded header.
        Among other things this provide the hooks necessary to cope with
        CME's FIX/FAST 2.0 changes.

Wed Feb 10 16:22:56 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * setup.cmd:
        Add message about customizing setup.cmd

        * src/Codecs/BlockedStreamQueueService.h:
        Fix linux build warning.

        * src/Codecs/MessagePerPacketQueueService.h:
        * src/Codecs/MessagePerPacketQueueService.cpp:
        MessagePerPacketQueueService now serves as its own data source
        rather than delegating to DataSourceBuffer


Wed Feb 10 15:49:34 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/BlockedStreamQueueService.h:
        * src/Codecs/BlockedStreamQueueService.cpp:
        * src/Codecs/DataSource.h:
        * src/Codecs/DataSource.cpp:
        * src/Codecs/DataSourceBlockedStream.h:
        * src/Codecs/DataSourceBlockedStream.cpp:
        * src/Codecs/DataSourceBuffer.h:
        * src/Codecs/DataSourceBuffer.cpp:
        * src/Codecs/DataSourceBufferedBlockedStream.h:
        * src/Codecs/DataSourceBufferedBlockedStream.cpp:
        * src/Codecs/DataSourceBufferedStream.h:
        * src/Codecs/DataSourceBufferedStream.cpp:
        * src/Codecs/DataSourceStream.h:
        * src/Codecs/DataSourceStream.cpp:
        * src/Codecs/DataSourceString.h:
        * src/Codecs/DataSourceString.cpp:
        DataSource manages a buffer/count rather than a single byte at a time
        to avoid virtual call for every byte.   New getByte method should be
        inline on release builds.

        * src/Communication/BufferQueueService.h:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/SegmentBody.h:
        Eliminiate doxygen warnings


Tue Feb  9 18:49:55 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/BlockedStreamQueueService.h:
        * src/Codecs/BlockedStreamQueueService.cpp:
        * src/Codecs/Context.h:
        * src/Codecs/DataSourceBufferedBlockedStream.h:
        * src/Codecs/DataSourceBufferedBlockedStream.cpp:
        * src/Codecs/MessagePerPacketQueueService.h:
        * src/Codecs/MessagePerPacketQueueService.cpp:
        * src/Codecs/MessagePerPacketQueueService_fwd.h:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Common/Exceptions.h:
        * src/Communication/BufferQueueService.h:
        * src/Communication/BufferQueueService_fwd.h:
        * src/Communication/LinkedBuffer.h:
        * src/Communication/LinkedBuffer_fwd.h:
        * src/Communication/MulticastReceiver.h:
        * src/Communication/MulticastReceiverHandle.h:
        * src/Communication/MulticastReceiverHandle.cpp:
        * src/Communication/MulticastReceiver_fwd.h:
        * src/Communication/Receiver.h:
        * src/Communication/Receiver_fwd.h:
        * src/Communication/TCPReceiver.h:
        * src/Communication/TCPReceiver_fwd.h:
        * src/Examples/InterpretApplication/main.cpp:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Tests/testCommon.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Codecs/MessagePerPacketBufferConsumer.h:
        * src/Codecs/MessagePerPacketBufferConsumer.cpp:
        * src/Codecs/MulticastReceiver.h:
        * src/Codecs/MulticastReceiverHandle.h:
        * src/Codecs/MulticastReceiverHandle.cpp:
        * src/Codecs/MulticastReceiver_fwd.h:
        * src/Communication/BufferConsumer.h:
        * src/Communication/BufferConsumer_fwd.h:
        * src/Communication/BufferGenerator.h:
        * src/Communication/BufferGenerator_fwd.h:

        Rework the Communication support to add preliminary support for TCP/IP.

        TCP/IP support is untested and undocumented as of this checkin!  Use at your own risk.

        Part of this work involved moving MulticastReceiver to the Communication
        namespace which may break existing code (note the MulticastDecoder has
        not moved and most users should be interacting at this level or higher.)

        A new tag was created before this check in:
         http://quickfast.googlecode.com/svn/tags/BeforeCommunicationReceiver

        Heads up: I expect to do more in this area. In particular I want to add
        support for CME's new FIX/FAST 2.0.  I don't anticipate that this will
        break anything else, but it's possible.

Thu Feb  4 16:13:28 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Tests/testFieldOperations.cpp:
        Fix error in decoding ascii w/ default operator.
        Add unit test for the problem.

Thu Feb  4 15:41:49 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MessagePerPacketBufferConsumer.h:
        * src/Examples/PerformanceTest/main.cpp:
        Fix Linux build errors & warnings.

Tue Feb  2 22:45:21 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MessagePerPacketBufferConsumer.h:
        * src/Codecs/MessagePerPacketBufferConsumer.cpp:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Codecs/MulticastReceiver.h:
        * src/Codecs/MulticastReceiverHandle.h:
        * src/Codecs/MulticastReceiverHandle.cpp:
        * src/Communication:
        * src/Communication/AsioService.h:
        * src/Communication/AsioService.cpp:
        * src/Communication/BufferConsumer.h:
        * src/Communication/BufferConsumer_fwd.h:
        * src/Communication/BufferGenerator.h:
        * src/Communication/BufferGenerator_fwd.h:
        * src/Communication/LinkedBuffer.h:
        * src/Communication/LinkedBuffer_fwd.h:
        * src/Communication/PCapReader.h:
        * src/Communication/PCapReader.cpp:
        * src/Examples/PCapToMulticast/PCapToMulticast.h:
        * src/QuickFAST.mpc:
        * src/Tests/testCommon.cpp:
        * src/Common/AsioService.h:
        * src/Common/AsioService.cpp:
        * src/Common/BufferConsumer.h:
        * src/Common/BufferConsumer_fwd.h:
        * src/Common/BufferGenerator.h:
        * src/Common/BufferGenerator_fwd.h:
        * src/Common/LinkedBuffer.h:
        * src/Common/LinkedBuffer_fwd.h:
        * src/Common/PCapReader.h:
        * src/Common/PCapReader.cpp:
        Added a new namespace and directory: Communication.
        This gets the FAST independent communication stuff out
        of Messages and Codecs.  It also moves some communication-
        specific stuff from into a better home.

        Depending on what level you are using QuickFAST this may
        break builds (sorry) but only by changing #includes and
        namespaces.  It should be easy to fix (I hope.)


Tue Feb  2 21:43:35 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MessagePerPacketBufferConsumer.h:
        * src/Codecs/MessagePerPacketBufferConsumer.cpp:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Codecs/MulticastReceiver.h:
        * src/Common/BufferConsumer.h:
        * src/Common/BufferGenerator.h:
        * src/Common/BufferGenerator_fwd.h:
        * src/Common/LinkedBuffer.h:
        * src/Common/LinkedBuffer_fwd.h:
        * src/Tests/testCommon.cpp:
        Moving Data communications support out of Codecs and Messages
        Warning: The move is not complete.  This is not a good revision
        on which to base any ongoing work.

Tue Feb  2 19:59:16 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MessageConsumer.h:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Codecs/MulticastReceiver.h:
        * src/Codecs/MulticastReceiverHandle.h:
        * src/Codecs/MulticastReceiverHandle.cpp:
        * src/Common/BufferConsumer.h:
        * src/Common/BufferConsumer_fwd.h:
        * src/Common/Logger.h:
        * src/Common/Logger_fwd.h:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Messages/MessageBuilder.h:
        * src/Messages/ValueMessageBuilder.h:
        * src/Tests/testFieldOperations.cpp:
        * src/Codecs/BufferConsumer.h:
        * src/Codecs/BufferConsumer_fwd.h:
        * src/Messages/Logger.h:
        * src/Messages/Logger_fwd.h:
        Move Logger and BufferConsumer to Common
        Groundwork for changing BufferConsumer, etc.

Tue Feb  2 16:59:33 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Tests/testFieldOperations.cpp:
        Added a unit test for issue # 38.  This test does NOT trigger the problem
        reported in this issue so I've asked for more information.

Tue Feb  2 15:58:24 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * QuickFASTApplication.mpb:
        * src/Examples/Examples.mpc:
        * src/QuickFAST.mpc:
        Promote use of boost mpb files to QuickFASTApplication and QuickFAST

        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        Remove unnecessary include

        * src/Common/QuickFASTPch.h:
        Add include_shared_from_this.hpp.  It'll be needed soon.


Wed Jan 27 20:25:39 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/XMLTemplateParser.cpp:
        Editing error in previous checkin -- accidentally undid some
        changes.

Wed Jan 27 15:46:12 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        If template ID 120 is not defined in the template repository,
        then reset the decoder and continue.
        Honor scp:reset="yes" attribute for templates.
        Technically QuickFAST is now SCP 1.1 Level 1 compliant.

        * src/Common/LinkedBuffer.h:
        fix grammar in comment

Tue Jan 26 18:27:27 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionInteger.h:
        * src/Tests/testFieldOperations.cpp:
        Decoding error on missing value for optional incremetal integer field.
        Add unit test for the problem.

        * src/Codecs/PresenceMap.cpp:
        Echo/debug output display problem.

        * src/Common/Version.h:
        Switch to 1.2 [prerelease]

        * src/Examples/Examples/CommandArgParser.cpp:
        Add -V option to display QuickFAST version number.

        * src/Examples/Examples/ExamplesPch.h:
        Include boost::weak_ptr and boost::enable_shared_from_this

        * src/Examples/Examples/MessagePerformance.cpp:
        Remove #ifdeffed out code.

Fri Jan 22 15:54:37 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/Version.h:
        Preparing for 1.1 release.

Thu Jan 21 18:48:21 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/SegmentBody.h:
        * src/Codecs/DataSourceBlockedStream.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Messages/MessageBuilder.h:
        Cosmetic: fix commment, simplify statement
        Remove orphan code

        * src/Codecs/FieldInstructionInteger.h:
        Don't put NULL value in decoded message

        * src/Codecs/PresenceMap.cpp:
        Use memset rather than std::fill for speed.
        Skip memset if possible

        * src/Common/Value.h:
        getValue methods are const

        * src/Messages/SingleValueBuilder.h:
        Use Value class to store value.  Avoid use of Field object.

Tue Jan 19 21:54:30 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionInteger.h:
        * src/Tests/testFieldOperations.cpp:
        Add test for Issue #36.  Increment operator encoding misbehaves when there is no initial value.
        Fix Issue #36.

Tue Jan 19 21:02:51 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Messages/MessageField.h:
        * src/Messages/Sequence.h:
        Linux build errors -- reference to temporary.

Tue Jan 19 01:32:44 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        Fix a typo in a display string.

Tue Jan 19 00:59:21 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Encoder.h:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/GenericMessageBuilder.h:
        * src/Codecs/GenericMessageBuilder.cpp:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/Examples/MessagePerformance.h:
        * src/Examples/Examples/MessagePerformance.cpp:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        * src/Messages/MessageBuilder.h:
        * src/Messages/MessageBuilder.cpp:
        * src/Messages/Sequence.h:
        * src/Messages/SingleValueBuilder.h:
        * src/Messages/SpecialAccessors.h:
        * src/Messages/ValueMessageBuilder.h:
        * src/Tests/FieldInstructionMock.h:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Tests/testRoundTrip.cpp:

        Pass smart pointers by reference when possible to improve performance.
        Decoder throws exceptions rather than returning false on EOF.
        SegmentBody caches field count @ finalize time.
        SegmentBody keeps parallel vectors of const and mutable ptrs to instructions for performance.

        * src/QuickFAST.mpc:
        Gcc build flag -> -O3 to enable "compile-time-expensive" optimizations.

Fri Jan 15 20:42:59 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Application:
        * src/Application/FastConnection.h:
        * src/Application/FastConnection.cpp:
        create a new level of API.
        QuickFAST::Application::FastConnection provides a single
        point of contact for developing a FAST based application.

        * src/Codecs/DataSourceBlockedStream.cpp:
        * src/Codecs/FieldInstruction.h:
        Support data streams containing block sizes.
         (recommended by the spec for TCP/IP)

        * src/Examples/Examples.mpc:
        * src/Examples/InterpretApplication:

        * src/Examples/InterpretApplication/InterpretApplication.h:
        * src/Examples/InterpretApplication/InterpretApplication.cpp:
        * src/Examples/InterpretApplication/main.cpp:
        * src/Messages/FieldIdentity.h:
        * src/QuickFAST.mpc:
        Add a new example application that uses FastConnection.
        Eventually this should replace InterpretFAST.

Thu Jan 14 22:27:51 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * setup.cmd:
        * src/Examples/Examples.mpc:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/MessageBuilder.h:
        * src/Messages/MessageBuilder.cpp:

        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        Add additional information to verbose displays.
        Add ignore_overflow="YES" attribute to integer field types in
        XML template file.

        Fixes Issue #25 "again".   A new problem produced the same symptoms.


p Wed Jan 13 16:22:28 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/DictionaryIndexer.h:
        * src/Codecs/DictionaryIndexer.cpp:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionExponent.h:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInt16.h:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInt8.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUInt16.h:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/FieldInstructionUInt8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOp.cpp:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/GenericMessageBuilder.h:
        * src/Codecs/GenericMessageBuilder.cpp:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Codecs/MulticastDecoder_fwd.h:
        * src/Codecs/SynchronousDecoder.h:
        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Common/AsioService.h:
        * src/Common/AsioService.cpp:
        * src/Common/StringBuffer.h:
        * src/Common/Types.h:
        * src/Common/Types.cpp:
        * src/Common/Value.h:
        * src/Common/Value_fwd.h:
        * src/Common/Version.h:
        * src/Common/WorkingBuffer.cpp:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/Examples/MessagePerformance.h:
        * src/Examples/Examples/MessagePerformance.cpp:
        * src/Examples/MulticastInterpreter:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/MessageCounter.cpp:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldIdentity.cpp:
        * src/Messages/FieldInt16.h:
        * src/Messages/FieldInt16.cpp:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldInt8.h:
        * src/Messages/FieldInt8.cpp:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/FieldString.h:
        * src/Messages/FieldString.cpp:
        * src/Messages/FieldUInt16.h:
        * src/Messages/FieldUInt16.cpp:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUInt8.h:
        * src/Messages/FieldUInt8.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        * src/Messages/Message.cpp:
        * src/Messages/MessageBuilder.h:
        * src/Messages/MessageBuilder.cpp:
        * src/Messages/SingleValueBuilder.h:
        * src/Messages/SpecialAccessors.h:
        * src/Messages/ValueMessageBuilder.h:
        * src/Messages/ValueMessageBuilder_fwd.h:
        * src/Tests/FieldInstructionMock.h:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Tests/testIntegerFields.cpp:
        * src/Tests/testRoundTrip1.cpp:
        * src/Tests/testStringFields.cpp:
        * src/Tests/testTemplateRef.cpp:
        * src/Codecs/FieldInstructionBitMap.h:
        * src/Codecs/FieldInstructionBitMap.cpp:

        * src/Messages/FieldBitMap.h:
        * src/Messages/FieldBitmap.cpp:
          Removed these files.
        Merging changes from the ValueClass branch into the Trunk.
        Change log entries from here down to Mon Dec 28 21:56:15 UTC 2009
        were made in the ValueClass branch.

Mon Jan 11 23:14:37 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
          Handle dictionary status correctly.
          Issue # 35.  Thanks to carlosz

        * src/Codecs/FieldOp.h:
          Minor cosmetic change

        * src/Common/WorkingBuffer.cpp:
          Clear start pos when necessary -- avoids unnecessary growth.
          Issue #35
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
          Add field and sequence entry stats to performance test

Wed Jan  6 15:48:22 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/Types.cpp:
        * src/Messages/MessageBuilder.cpp:
        Linux build errors.

        * src/Messages/FieldBitMap.h:
        * src/Messages/FieldBitmap.cpp:
          Removed these files.

Wed Jan  6 00:01:56 UTC 2010  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/DictionaryIndexer.h:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionExponent.h:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInt16.h:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInt8.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.h:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUInt16.h:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/FieldInstructionUInt8.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOp.cpp:
        * src/Codecs/GenericMessageBuilder.h:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Codecs/MulticastDecoder_fwd.h:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Common/StringBuffer.h:
        * src/Common/Types.h:
        * src/Common/Value.h:
        * src/Common/Version.h:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/Examples/MessagePerformance.h:
        * src/Examples/Examples/MessagePerformance.cpp:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        * src/Messages/Field.h:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldIdentity.cpp:
        * src/Messages/FieldInt16.h:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt8.h:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/FieldUInt16.h:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt8.h:
        * src/Messages/FieldUtf8.h:
        * src/Messages/Message.cpp:
        * src/Messages/MessageBuilder.h:
        * src/Messages/SingleValueBuilder.h:
        * src/Messages/ValueMessageBuilder.h:
        Update doxygen comments.

Tue Jan  5 21:35:52 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/DictionaryIndexer.h:
        * src/Codecs/DictionaryIndexer.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionExponent.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInt16.h:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInt8.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUInt16.h:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/FieldInstructionUInt8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/SegmentBody.h:
        * src/Common/Types.h:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/Examples/MessagePerformance.h:
        * src/Examples/Examples/MessagePerformance.cpp:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/MessageCounter.cpp:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldInt16.h:
        * src/Messages/FieldInt16.cpp:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldInt8.h:
        * src/Messages/FieldInt8.cpp:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/FieldString.cpp:
        * src/Messages/FieldUInt16.h:
        * src/Messages/FieldUInt16.cpp:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUInt8.h:
        * src/Messages/FieldUInt8.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        * src/Messages/Message.cpp:
        * src/Messages/MessageBuilder.h:
        * src/Messages/MessageBuilder.cpp:
        * src/Messages/ValueMessageBuilder.h:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Tests/testIntegerFields.cpp:
        * src/Tests/testStringFields.cpp:
        * src/Tests/testTemplateRef.cpp:
        Move FieldType definitions out of Field class into ValueType class.
        This removes a widespread dependency on Field.h which is otherwise no
        longer necessary due to the use of value methods rather than field methods
        to deliver decoded data to the application.

Tue Jan  5 00:09:42 UTC 2010  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/GenericMessageBuilder.h:
        * src/Codecs/GenericMessageBuilder.cpp:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Codecs/SynchronousDecoder.h:
        * src/Examples/Examples/MessagePerformance.h:
        * src/Examples/Examples/MessagePerformance.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldBitMap.h:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldInt16.h:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt8.h:
        * src/Messages/FieldString.h:
        * src/Messages/FieldString.cpp:
        * src/Messages/FieldUInt16.h:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt8.h:
        * src/Messages/FieldUtf8.h:
        * src/Messages/MessageBuilder.h:
        * src/Messages/MessageBuilder.cpp:
        * src/Messages/SingleValueBuilder.h:
        * src/Messages/SpecialAccessors.h:
        * src/Messages/ValueMessageBuilder.h:
        * src/Messages/ValueMessageBuilder_fwd.h:
        * src/Tests/FieldInstructionMock.h:
        * src/Tests/testRoundTrip1.cpp:

        Allocating and freeing Field objects was having a significant impact
        on performance.  This change replaces the pointer to immutable Field object
        in the data dictionary with a mutable Value object, and adds a new
        interface, ValueMessageBuilder, for passing decoded data to the application.

        This new interface replaces the addField method with polymorphic addValue
        methods for the various field types.  The application still receives a
        FieldIdentity object to let it know what to do with the data.


        * src/Codecs/FieldInstructionBitMap.h:
        * src/Codecs/FieldInstructionBitMap.cpp:
          Removed these files.

Thu Dec 31 14:24:36 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOp.cpp:

        * src/Common/AsioService.h:
        * src/Common/AsioService.cpp:
        * src/Common/StringBuffer.h:
        * src/Common/Value.h:
        * src/Common/Value_fwd.h:
        Define Value to store "any" value (extracted from Field)
        Modify dictionaries to use Value rather than FieldCPtr.
        The ultimate goal is to eliminate allocation/free of Fields.


Mon Dec 28 21:56:15 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/SynchronousDecoder.h:
        expose the decoder's getTemplateId() method.

        * src/Common/StringBuffer.h:
        Remove an unnecessary cast.

Tue Dec 22 22:19:15 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/PresenceMap.cpp:
        * src/Tests/testPresenceMap.cpp:
        Issue #34.  Presence map bit buffer size calculation was
        wrong causing an unnecessary growth of the presence map.

Tue Dec 22 21:12:03 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastDecoder.cpp:
        * src/Codecs/MulticastReceiver.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Messages/Logger.h:
        Rename LOG_xxxx symbols to avoid conflicts with #defined
        symbols on some platforms.

        * src/Examples/PCapToMulticast/PCapToMulticast.h:
        * src/Examples/PCapToMulticast/PCapToMulticast.cpp:
        * src/Common/PCapReader.h:
        * src/Common/PCapReader.cpp:
        Add new options to PCapToMulticast
          -64 means input was captured on a 64 bit system
          -32 means input was captured on a 32 bit system
          If neither is specified, then native integer length is assumed.

Wed Dec  9 20:49:09 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Tests/testFieldInstructions.cpp:
        Linux build error.  Passing temporary object as non-const
        parameter.

Tue Dec  8 20:08:17 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:

Mon Dec  7 16:57:02 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        Issue 32: Ascii field dictionary entry not being set to null when
        optional field not present.

Mon Dec  7 16:31:41 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        Change the way presence map bits are calculated.
        # of bits needed will now be calculated when the
        template is finalized.
        This addresses Issue 31 which was not completely
        resolved by the previous checkin.

        Also update the dictionary when the initial value is used.
        This addresses Issue #28

        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        Tests for the new finalize and revised test for issue #31

Fri Dec  4 19:30:48 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        Minor cosmetic changes.  Just getting them out of the way now.


Thu Dec  3 20:50:21 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/FieldInstructionGroup.cpp:
        Encoding an optional group that has been merged into the
        enclosing application message did set the presence map
        bit for the group correctly.
        Reported as Issue #31

        * src/Tests/testFieldInstructions.cpp:
        Add unit test for this problem: test_issue_31

Thu Dec  3 16:55:11 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Tests/testFieldOperations.cpp:
        Issue 30: Copy operation, zero following NULL was being "copied"
        rather than sent.
        New unit test for this issue:  test_issue_30.


        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        cosmetic: changed usage message

Wed Dec  2 22:07:07 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/DataSourceBlockedStream.cpp:
        Remove debug message to cout (particularly since it broke the gcc build)
        Issue #29

Wed Dec  2 15:22:09 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        Expose the thread-related methods of the AsioService

Tue Dec  1 23:27:49 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSourceBlockedStream.h:
        * src/Codecs/DataSourceBlockedStream.cpp:
        A new data source:  Expects a FAST encoded block length to proceed each block of messages.
        [think TCP/IP captured to a binary file]

        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        Handle default operator with no initial value for optional fields.

        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/GenericMessageBuilder.h:
        * src/Codecs/GenericMessageBuilder.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Messages/FieldIdentity_fwd.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/MessageBuilder.h:
        * src/Messages/Sequence.h:
        * src/Messages/SingleValueBuilder.h:
        * src/Tests/testRoundTrip.cpp:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        Make sequence length identity (name and ID) available.

        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        Change command line option handling:
          -em -ef -r -s -vp -vd -vx
            Always set the corresponding option.
            Adding a trailing '-' to any of them clears the option.
            [toggling the option was confusing]
        -e cout sends echo output to standard output

        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        Fix a bug -- open the template file as a binary file on windows.

Mon Nov 30 17:21:41 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/PresenceMap.cpp:
        * src/Codecs/SchemaElement.h:
        * src/Codecs/SchemaElement.cpp:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        Modify template finalization to account for pmap bits resulting
        from static template references.
        Issue # 25

        * src/Codecs/GenericMessageBuilder.cpp:
        Remove unnecessary log messages left over from debugging.

Mon Nov 30 17:15:51 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/Examples/ExamplesPch.h:
          Use boost/cstdint.hpp in examples, too.


Wed Nov 25 14:41:09 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Common/QuickFASTPch.h:
        * src/Common/Types.h:
        Use boost/cstdint.hpp to define integral types.
        This improves portability.

Mon Nov 23 17:43:00 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        Add field identity to several encoding/decoding error messages.

Fri Nov 20 21:44:02 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        Include field identity in fatal exceptions

        * src/Codecs/FieldInstructionDecimal.cpp:
        Encoding w/ copy operator problems.
        Issue # 27


        * src/Messages/FieldSet.cpp:
        for the purposes of comparing Messages "any" application data type matches anything

        * src/Tests/testRoundTripFieldOps.cpp:
        Add roundtrip tests for decimal + field operators
        Reveals problem from Issue # 27

Fri Nov 20 18:06:53 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Common/AtomicPointer.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/Examples/MessagePerformance.cpp:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldInt16.h:
        * src/Messages/FieldInt16.cpp:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldInt8.h:
        * src/Messages/FieldInt8.cpp:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldUInt16.h:
        * src/Messages/FieldUInt16.cpp:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUInt8.h:
        * src/Messages/FieldUInt8.cpp:
        Housecleaning:
          Eliminating unneeded casts.
          Eliminating #ifdeffed out expermental code.

Thu Nov 19 17:16:06 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionSequence.cpp:
        Revise encoding of length instruction for missing sequence.

Wed Nov 18 23:10:35 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Messages/SpecialAccessors.h:
        Improve the implementation of group and sequence encoding.
        See Issue #26.

Wed Nov 18 20:33:42 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionDecimal.cpp:
        Missed a spot on the previous fix to Issue #23.

Wed Nov 18 17:37:33 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Common/Constants.h:
        Issue #23 points out a mismatch between the specification and
        the examples in Appendix 3 on which testFieldOperations is based.
        This change makes the encoder conform to the specification, not
        the example.

        * src/Tests/testFieldOperations.cpp:
        Revise the test to match the new behavior.
        I added the following comment to the tests:
          // This is an error in the specification.
          //
          // 6.3.5 of FAST 1.x.1 says:
          // When the value is not present in the input stream [...]
          //  If the field has optional presence and no initial value, the
          //  field is considered absent and the state of the previous value
          //  is changed to empty.
          // [the revised test case appears here]

Mon Nov 16 21:10:57 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
          Handle initial values during encoding correctly.
          Issue #23.

        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
          Handle templates without ID's properly to support
          TemplateRef by name. Issue #24

        * src/Messages/SpecialAccessors.h:
          Remove assert on otherwise unused parameter.  Otherwise suppressing
          gcc warnings gets messy.

        * src/Tests/testTemplateRef.cpp:
          New test: TemplateRef problem: Issue # 24

Thu Nov 12 22:45:39 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSourceStream.h:
        * src/Codecs/DataSourceStream.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBitMap.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/GenericMessageBuilder.cpp:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Codecs/SchemaElement.cpp:
        * src/Codecs/SingleMessageConsumer.cpp:
        * src/Common/Constants.h:
        * src/Common/Decimal.cpp:
        * src/Common/Profiler.h:
        * src/Common/QuickFASTPch.h:
        * src/Common/dllmain.cpp:
        * src/Messages/Field.h:
        * src/Messages/FieldIdentity.h:
        * src/Messages/SingleValueBuilder.h:
        * src/Messages/SpecialAccessors.h:
        Eliminate warning messages at VC -W4

Thu Nov 12 21:03:54 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionInteger.h:
        Fix Issue #22. Problem parsing uInt8 values in XML Template
        * src/Codecs/XMLTemplateParser.cpp:
        Add [ERR S1] to XML parsing messages.  ERR S1 is defined in the FAST specification.

        * src/Tests/testXMLTemplateParser.cpp:
        Add test for Issue #22.

Thu Nov 12 20:14:12 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionInteger.h:
        Fix Issue # 21 Encode Copy doesn't seem work properly with optional fields

        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldInt16.h:
        * src/Messages/FieldInt16.cpp:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldInt8.h:
        * src/Messages/FieldInt8.cpp:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/FieldUInt16.h:
        * src/Messages/FieldUInt16.cpp:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUInt8.h:
        * src/Messages/FieldUInt8.cpp:
        Add operator == and displayString() methods to fields to allow
        unit test to compare messages for equality.

        * src/Tests/testRoundTripFieldOps.cpp:
        Duplicate the problem in Issue#21.

Wed Nov 11 16:11:34 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldSet.cpp:
        Fix memory leak when more than the expected number of fields
        are found. (This can happen when the templateRef field instruction
        is used.)

Thu Nov  5 14:55:46 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        Labeled as V1.0

Wed Nov  4 21:48:42 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionInteger.h:
        Avoid warning message on gcc: templates signed vs unsigned

        * src/Common/Version.h:
        add version # support

        * src/Common/AsioService.h:
        * src/Common/WorkingBuffer.cpp:
        Minor/cosmetic: code formatting changes

Tue Oct 27 17:58:37 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Common/QuickFASTPch.h:
        Hei Chan reports build problem: missing boost function.

Tue Sep 15 18:41:30 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Tests/testSmallestValue.cpp:
        Eliminate gcc warnings about largest negative 64 bit integer

Tue Sep 15 16:15:33 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.features:
        * QuickFASTDotNetApplication.mpb:
        Define a new feature, dotnetapp

        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/SynchronousDecoder.h:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        SynchronousDecoder no longer needs to be a template

        * src/Messages/FieldIdentity.h:
        Cosmetic formatting change

        * src/Tests/testRoundTrip1.cpp:
        Verify template file can be opened and parsed.

Thu Sep 2 16:18:27 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/Decoder.cpp:
       Name conflict between parameter and local variable.
       Undetected by MSVC or gcc!   Led to seg faults on linux though.

Wed Aug 26 18:18:27 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/AtomicCounter.h:
        * src/Common/AtomicOps.h:
        * src/Common/AtomicPointer.h:
        * src/Common/LinkedBuffer.h:
        * src/Common/QuickFASTPch.h:
        * src/Tests/testCommon.cpp:
        Improve Doxygen documentation

        * src/Common/StringBuffer.h:
        Linux build error: std::bad_alloc doesn't take an argument on linux/gcc.


Tue Aug 25 22:16:08 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/BufferConsumer.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/GenericMessageBuilder.cpp:
        * src/Common/StringBuffer.h:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldInt16.h:
        * src/Messages/FieldInt16.cpp:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldInt8.h:
        * src/Messages/FieldInt8.cpp:
        * src/Messages/FieldUInt16.h:
        * src/Messages/FieldUInt16.cpp:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUInt8.h:
        * src/Messages/FieldUInt8.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        * src/Codecs/BufferDecoder.h:
        Continue to work on reorganizing the message handling so that
        the DotNet code can be reenabled.  The goal is to significantly
        improve the dot net performance and provide a foundation for
        Exchange-specific application data types.

Mon Aug 24 17:59:36 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastReceiver.h:
        Rename buffers_ to be bufferLifetimes_ for clarity.

        * src/Messages/Field.h:
        Add UNDEFINED field type

Fri Aug 21 15:13:37 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Codecs/MulticastReceiver.h:

        * src/Common/LinkedBuffer.h:

        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:

        * src/Tests/testCommon.cpp:
        Change default multicast receiver buffer size to 1400 bytes.
        Add the ability to allocate additional buffers on-the-fly
        for use by multicast receiver.
        Improve doxygen comments.

Fri Aug 21 14:19:40 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/LinkedBuffer.h:
        * src/Tests/testCommon.cpp:
        Unit tests for buffers and containers used in multicast receiver.

Fri Aug 21 14:05:06 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/MessageConsumer.h:
        * src/Codecs/MulticastReceiver.h:
        * src/Codecs/MulticastReceiverHandle.h:
        * src/Codecs/MulticastReceiverHandle.cpp:
        * src/Codecs/SingleMessageConsumer.h:
        * src/Codecs/SingleMessageConsumer.cpp:

        * src/Common/QuickFASTPch.h:

        * src/Examples/Examples/ExamplesPch.h:

        * src/Tests/testBiggestValue.cpp:
        Add additional statistics support to multicast receiver.
        Fix some formatting issues.
        Notify MessageConsumer when decoding starts.

Tue Aug 18 22:08:44 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastReceiver.h:
        * src/Codecs/MulticastReceiverHandle.h:
        * src/Codecs/MulticastReceiverHandle.cpp:

        * src/Common/AtomicCounter.h:
        * src/Common/AtomicOps.h:
        * src/Common/AtomicPointer.h:
        * src/Common/LinkedBuffer.h:
        * src/Common/QuickFASTPch.h:

        * src/Examples/Examples/ExamplesPch.h:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/Examples/MessagePerformance.h:
        * src/Examples/Examples/MessagePerformance.cpp:

        * src/Examples/FileToMulticast/FileToMulticast.cpp:

        * src/Examples/MulticastInterpreter/MulticastInterpreter.h:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:

        Change buffering scheme in MulticastReceiver.
        Uses Common/LinkedBuffer.


Fri Aug 14 15:36:58 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastReceiver.h:
        change buffering management to avoid race condition

Mon Aug 10 20:35:18 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * data/ARCATemplates.xml:
        ARCA Imbalance fields are signed.

Mon Jul 27 15:42:30 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/BufferConsumer_fwd.h:
        * src/Codecs/BufferDecoder.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/GenericMessageBuilder.h:
        * src/Codecs/GenericMessageBuilder.cpp:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastReceiver.h:
        * src/Codecs/MulticastReceiver_fwd.h:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/SingleMessageConsumer.h:
        * src/Codecs/Template.h:
        * src/Common/Exceptions.h:
        * src/Common/PCapReader.h:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessagePerformance.h:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/MessageCounter.cpp:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        * src/Messages/Field.h:
        * src/Messages/FieldSet.h:
        * src/Messages/MessageBuilder.h:
        * src/Messages/SingleValueBuilder.h:
        * src/Messages/SpecialAccessors.h:
        Updating doxygen comments.
        Removing unused methods from interfaces.


Fri Jul 24 19:29:05 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Codecs/MulticastReceiver.h:
        * src/Codecs/MulticastReceiverHandle.h:
        * src/Codecs/MulticastReceiverHandle.cpp:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.h:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        * src/Messages/Logger.h:
        Multicast Decoder now depends on MulticastReceiver (DRY)
        Consolidating the logging support using the
        Logger interface.  (more to do here)

Thu Jul 23 18:53:09 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/XMLTemplateParser.cpp:
        Resolves issue 19: Template files without the root <templates> tag cause
        the parser to fail.

        * src/Tests/testXMLTemplateParser.cpp:
        Add a unit test for issue 19.

Thu Jul 23 17:44:58 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/GenericMessageBuilder.h:
        * src/Codecs/GenericMessageBuilder.cpp:
        * src/Codecs/Template.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Messages/MessageBuilder.h:
        * src/Messages/SingleValueBuilder.h:
        * src/Tests/testFieldInstructions.cpp:
        Fix problem in static templateRef handling.
        Add ignore="Y" option to <template> element to cause
        the results of decoding with this template to be ignored.
        Couple this with the reset="Y" option to duplicate the
        reset template (120) from SCP.

Thu Jul 23 13:39:47 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Messages/FieldSet.cpp:
        Heap corruption due to incorrect calculation of buffer size.
        Symptoms were a hang in release mode/ a heap corruption detection in debug mode.

Thu Jul 23 00:04:19 UTC 2009  Yan Dai  <dai_y@ociweb.com>

        * src/Messages/FieldIdentity_fwd.h:

          Added an include that fixed compilation errors on linux.
Wed Jul 22 21:23:13 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Messages/Logger.h:
        * src/Messages/Logger_fwd.h:
        Missing from previous checkin.

Wed Jul 22 21:03:02 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/GenericMessageBuilder.h:
        * src/Codecs/GenericMessageBuilder.cpp:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        Fixed problems handling Group messages.
        Symptom: hang or memory access fault or heap corruption.

Wed Jul 22 19:15:03 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/BufferConsumer.h:
        * src/Codecs/GenericMessageBuilder.h:
        * src/Codecs/GenericMessageBuilder.cpp:
        * src/Codecs/MessageConsumer.h:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder_fwd.h:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        * src/Messages/MessageBuilder.h:
        * src/Messages/SingleValueBuilder.h:
        MulticastReceiver and MulticastDecoder duplicate a lot of code.
        I'm consolidating MulticastDecoder to be built on top of MulticastReceiver.
        This is a step in that direction.



Tue Jul 21 16:14:23 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.features:
        separate dotnet from arcadotnet features.
        disable (temporarily) dotnet support

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBitMap.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/GenericMessageBuilder.h:
        * src/Codecs/GenericMessageBuilder.cpp:
        * src/Codecs/MessageConsumer.h:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder_fwd.h:
        * src/Codecs/SingleMessageConsumer.h:
        * src/Codecs/SingleMessageConsumer.cpp:
        * src/Codecs/SynchronousDecoder.h:
        * src/Codecs/Template.h:
        * src/Common/QuickFASTPch.h:
        * src/Examples/Examples/ExamplesPch.h:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/Examples/MessagePerformance.h:
        * src/Examples/Examples/MessagePerformance.cpp:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Examples/InterpretFAST/main.cpp:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/MessageBuilder.h:
        * src/Messages/SingleValueBuilder.h:
        * src/Tests/testBiggestValue.cpp:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Tests/testRoundTrip.cpp:
        * src/Tests/testRoundTrip1.cpp:
        * src/Tests/testSmallestValue.cpp:
        Reworked Decoder to use MessageBuilder interface.
        Added GenericMessageBuilder to preserve previous functionality.
        See: http://code.google.com/p/quickfast/wiki/CustomMessages


Fri Jul 17 21:41:16 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/Examples.mpc:
        ArcaBook support is not ready for prime-time.

Fri Jul 17 21:22:37 UTC 2009  Dale Wilson  <wilsond@ociweb.com>


        * src/QuickFAST.mpc:
        * src/Arca:
        * src/Codecs/FieldInstructionFiller.h:
        * src/Codecs/FieldInstructionFiller.cpp:
        * src/Codecs/FieldOpArcaNop.h:
        * src/Examples/PerformanceTestArca:
        ArcaBook support is not ready for prime-time.

Fri Jul 17 20:18:27 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionGroup.cpp:
        Honor the presence="optional" attribute of the <group> element.

Fri Jul 10 20:58:43 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Arca/ArcaMessageBuilder.h:
        * src/Arca/ArcaMessageBuilder.cpp:
        * src/Codecs/Encoder.h:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBitMap.h:
        * src/Codecs/FieldInstructionBitMap.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionFiller.h:
        * src/Codecs/FieldInstructionFiller.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpArcaNop.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/MessageAccessor.h:
        * src/Messages/SpecialAccessors.h:
        * src/Tests/FieldInstructionMock.h:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        Encoder is now based on the MessageAccessor interface rather than
        interacting directly with a FieldSet -- another step toward generic/specific
        message support.

Fri Jul 10 18:17:38 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Arca/ArcaMessageBuilder.h:
        * src/Arca/ArcaMessageBuilder.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/MessageBuilder.h:
        * src/Messages/SingleValueBuilder.h:
        Pass message builder by reference rather than pointer

Fri Jul 10 17:39:53 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Arca/ArcaMessageBuilder.h:
        * src/Arca/ArcaMessageBuilder.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/MessageBuilder.h:
        * src/Messages/Sequence.h:
        * src/Messages/SingleValueBuilder.h:
        Another step on the way to generic/specific message support.
        Delegate sequence and group construction to message builder.

Fri Jul 10 16:08:29 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Arca/ArcaMessageBuilder.h:
        * src/Arca/ArcaMessageBuilder.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/Group.h:
        * src/Messages/MessageBuilder.h:
        * src/Messages/SingleValueBuilder.h:
        Changes to FieldGroup to support switching to MessageBuilder.

Thu Jul  9 20:49:49 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Arca/ArcaMessageBuilder.h:
        * src/Arca/ArcaMessageBuilder.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Common/QuickFASTPch.h:
        * src/DotNet/Stdafx.h:
        * src/Examples/Examples/ExamplesPch.h:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/MessageBuilder.h:
        * src/Messages/Sequence.h:
        * src/Messages/SingleValueBuilder.h:
        * src/Tests/testRoundTrip.cpp:
        More support for switching from generic message structure
        to application specific structures.  This can result in a
        significant performance improvement.

Wed Jul  8 21:19:50 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * data/ARCATemplates.xml:
        * src/Arca/ArcaMessageBuilder.cpp:
        * src/Arca/ArcaMessageHandler.h:

        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBitMap.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastReceiver.h:
        * src/Codecs/MulticastReceiverHandle.h:
        * src/Codecs/MulticastReceiverHandle.cpp:
        * src/Codecs/SynchronousDecoder.h:
        * src/Examples/InterpretFAST/main.cpp:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        * src/Examples/PerformanceTestArca/PerformanceTestArca.h:
        * src/Examples/PerformanceTestArca/PerformanceTestArca.cpp:
        Normalize error messages.  They are now documented in the Googlecode Wiki.
        Arca decode error reports now include the partially decoded message.
        Default multicast receive buffer is now 1600 bytes
        Add Book Refresh message to Arca templates


Wed Jul  1 21:05:06 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * data/ARCATemplates.xml:
        Reorder fields to match my current best reading of the spec.

        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastReceiver.h:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        Change group join to honor listen interface specification (possible boost::asio bug)

        * src/Examples/PCapToMulticast/PCapToMulticast.cpp:
        Use ARCA  IP & Port.
        Echo IP's and port.

Wed Jun 24 18:29:43 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.features:
        Enable build of Arca support

        * src/Common/PCapReader.cpp:
        * src/Examples/PCapToMulticast/PCapToMulticast.h:
        * src/Examples/PCapToMulticast/PCapToMulticast.cpp:
        * src/Examples/PCapToMulticast/main.cpp:
        Fix capitalization issue that showed up in Linux build

Wed Jun 24 16:47:40 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.mwc:
        * QuickFASTApplication.mpb:
        * QuickFASTArca.mpb:
        * QuickFASTArcaApplication.mpb:
        * QuickFASTDotNetExample.mpb:
        * QuickFASTExample.mpb:
        * QuickFASTExeOut.mpb:
        * src/DotNetExamples/InterpretFASTDotNet/InterpretFASTDotNet.mpc:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.mpc:

        More streamlining of the mpb files.

        * src/Arca:
        * src/Arca/ArcaMessageBuilder.h:
        * src/Arca/ArcaMessageBuilder.cpp:
        * src/Arca/ArcaMessageBuilder_fwd.h:
        * src/Arca/ArcaMessageHandler.h:
        * src/Arca/ArcaMessageStructure.h:
        * src/Arca/QuickFASTArca.mpc:
        * src/Arca/QuickFASTArca_Export.h:
        * src/Arca/QuickFASTArca_pch.h:
        * src/Arca/QuickFASTArca_pch.cpp:

        Arca support


Wed Jun 24 15:47:30 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.mwc:
        * QuickFASTArca.mpb:
        * QuickFASTDotNetExample.mpb:
        * src/DotNetExamples/DotNetExampleCode:
        * src/DotNetExamples/InterpretFASTDotNet/InterpretFASTDotNet.mpc:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.cs:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.mpc:

        Eliminate DotNetExampleCode which only implemented one class, Stopwatch

        * src/DotNet/Stopwatch.h:
        * src/DotNet/Stopwatch.cpp:
        Ugly little wrapper class around System.Diagnostis.Stopwatch
        See comments about why it's needed.

        * m.cmd:
        Quote the path to handle embedded spaces.

Tue Jun 23 17:06:12 UTC 2009  Dale Wilson  <wilsond@ociweb.com>


        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Common/Profiler.cpp:
        * src/DotNet/DataDestination.h:
        * src/DotNet/Field.cpp:
        * src/DotNet/SynchronousDecoder.h:
        * src/DotNet/SynchronousDecoder.cpp:
        * src/DotNet/TemplateRegistry.h:
        * src/Examples/FileToMulticast/FileToMulticast.cpp:
        * src/Examples/PerformanceTestArca:
        * src/Examples/PerformanceTestArca/MessageCounter.h:
        * src/Examples/PerformanceTestArca/MessageCounter.cpp:
        * src/Examples/PerformanceTestArca/PerformanceTestArca.h:
        * src/Examples/PerformanceTestArca/PerformanceTestArca.cpp:
        * src/Examples/PerformanceTestArca/main.cpp:
        Suppress benign warnings from 64 bit builds.

Mon Jun 22 14:46:36 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.mwc:
        * QuickFASTApplication.mpb:
        * QuickFASTDotNetApplication.mpb:
        * QuickFASTDotNetExample.mpb:
        * QuickFASTExample.mpb:
        * src/DotNetExamples/DotNetExampleCode/DotNetExampleCode.mpc:
        Rework the mpb files to reduce (but, alas, not completely elimnate)
        the build warnings related to assembly references vs library referencs.
        Handling this completely cleanly may take a change to MPC.

        * data/arca.dat:
        * data/arca.fast:
        * data/arca_files_notice:
        Remove the Arca data files from their web site.  They were misleading at best.


        * src/DotNetTests/DecodingPerformance:
        * src/DotNetTests/DecodingPerformance/.svnignore:
        * src/DotNetTests/DecodingPerformance/DecodingPerformance.cs:
        * src/DotNetTests/DecodingPerformance/DecodingPerformanceDotNet.mpc:
        * src/DotNetTests/DecodingPerformance/MessageProcessor.cs:
        * src/DotNetTests/DecodingPerformance/Properties:
        * src/DotNetTests/DecodingPerformance/Properties/AssemblyInfo.cs:
         Remove this.  It never worked.

Fri Jun 19 15:33:43 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionDecimal.cpp:
        Exponent is "32 bit" in template even if it's 8 bits in reality.

        * src/Common/PCapReader.h:
        * src/Common/PCapReader.cpp:
        * src/Examples/PCapToMulticast/PCapToMulticast.cpp:
        Rename isOK() to good() for consistency with I/O Streams

        * QuickFAST.features:
        * src/Examples/Examples.mpc:
        Getting ready for Arca.


Wed Jun 17 18:22:55 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Messages/SingleValueBuilder.h:
        Change Decimal and Sequence so that rather than creating a dummy field set
        to read mantissa/exponent/length, they use the new SingleValueBuilder
        which captures the value directy.

Wed Jun 17 16:02:57 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.cpp:
        Tell the data source when you're decoding the template ID even if the ID is omitted via the PMAP

        * src/Codecs/FieldOpIncrement.cpp:
        Add support for the pmap='n' attribute.

        * src/Examples/PCapToMulticast/PCapToMulticast.h:
        * src/Examples/PCapToMulticast/PCapToMulticast.cpp:
        Change PCapToMulticast to use PCapReader

        * src/Common/PCapReader.h:
        * src/Common/PCapReader.cpp:
        * src/Examples/Examples/PCapReader.h:
        * src/Examples/Examples/PCapReader.cpp:
        Move PCapReader from Examples to Common (avoids linker/library/reference nightmares)
        Add setVerbose and seek methods to PCapReader

Tue Jun 16 15:56:39 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/Examples/PCapReader.h:
        * src/Examples/Examples/PCapReader.cpp:

        * src/Examples/PCapToMulticast/PCapToMulticast.h:
        * src/Examples/PCapToMulticast/PCapToMulticast.cpp:
        Separate PCap file reader into a separate module.

Tue Jun 16 14:16:37 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * data/ARCATemplates.xml:

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOp.cpp:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        Ah Arca.  Never mind what your documentation says.   You actually
        send the fields in one order and the PMAP bits in a different order.
        Added pmap='n' attribute to operators (I may move it to field instruction)
        Removed the filler and arca_nop field types -- they no longer make sense.
        Added a <nop> operator in order to have a place to put pmap= (that's why
        pmap= may move even though it makes sense as the property of an operator.)

        * src/Examples/PCapToMulticast/PCapToMulticast.cpp:
        Display hex record BEFORE asking: hit any key to send it
        Accept 'q' from hit any key to quit.


        * setup.cmd:
        Because I installed Xerces 3.01 on my system.


Mon Jun 15 14:05:53 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * data/ARCATemplates.xml:
        Revise in response to tests against live data

        * src/Codecs/MulticastReceiverHandle.h:
        * src/Codecs/MulticastReceiverHandle.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Common/AsioService.h:
        * src/Common/AsioService.cpp:
        * src/Common/Exceptions.h:
        * src/Messages/Field.cpp:
        Improve error messages

        * src/Examples/Examples.mpc:
        * src/Examples/PCapToMulticast:
        * src/Examples/PCapToMulticast/PCapToMulticast.h:
        * src/Examples/PCapToMulticast/PCapToMulticast.cpp:
        * src/Examples/PCapToMulticast/main.cpp:
        Add new application.  Read a pcap formant file
        (the format used by wireshark among others)
        and multicast the packets in the file.


Fri Jun 12 20:41:36 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        Remove debug code

Fri Jun 12 15:46:45 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * QuickFASTDotNetApplication.mpb:
        * src/DotNetTests/DecodingPerformance/DecodingPerformanceDotNet.mpc:
        don't use lib += for DotNet libs

        * src/DotNet/FieldSet.h:
        * src/DotNet/Sequence.cpp:
        * src/DotNet/TemplateRegistry.h:
        * src/Messages/FieldSequence.cpp:
        Avoid warnings for 64 bit build.

Thu Jun 11 17:41:16 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastReceiver.h:
        * src/Codecs/MulticastReceiverHandle.h:
        * src/Codecs/MulticastReceiverHandle.cpp:
        * src/Codecs/MulticastReceiver_fwd.h:
        Add preliminary support for configuring # of buffers (not working yet.)
        Define MulticastReceiverHandle to hide MulticastReceiver implementation
        [mostly from .NET]

Mon Jun  8 21:55:29 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * QuickFASTDotNetApplication.mpb:
        * src/DotNet/QuickFASTDotNet.mpc:
        * src/DotNetExamples/DotNetExampleCode/DotNetExampleCode.mpc:
        * src/DotNetTests/DecodingPerformance/DecodingPerformanceDotNet.mpc:
        * src/QuickFAST.mpc:
        Add dependencies

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBitMap.h:
        * src/Codecs/FieldInstructionBitMap.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionFiller.h:
        * src/Codecs/FieldInstructionFiller.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpArcaNop.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/MessageConsumer.h:
        * src/DotNet/SynchronousDecoder.h:
        * src/DotNet/SynchronousDecoder.cpp:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/Examples/MessagePerformance.h:
        * src/Examples/Examples/MessagePerformance.cpp:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.h:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/MessageCounter.cpp:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/MessageBuilder.h:
        * src/Messages/MessageBuilder_fwd.h:
        * src/Tests/FieldInstructionMock.h:
        * src/Messages/DecodedFields.h:
        * src/Messages/DecodedFields_fwd.h:
        Rename DecodedFields to be MessageBuilder.   First step in supporting
        separate message factories.

Mon Jun  8 20:46:00 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/BufferConsumer.h:
        * src/Codecs/BufferConsumer_fwd.h:
        * src/Codecs/BufferDecoder.h:
        * src/Codecs/MulticastReceiver.h:
        * src/Codecs/MulticastReceiver_fwd.h:
        Refactor MulticastDecoder into
             MulticastReceiver,
             interface BufferConsumer, and
             implementation BufferDecoder
        Ongoing set of changes to support alternative message types.

        * src/DotNet/QuickFASTDotNet.mpc:
        Strange GUID mismatch confuses visual studio

Fri Jun  5 13:32:40 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * data/ARCATemplates.xml:
        Refine ARCA templates to reflect new information.

        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder_fwd.h:
        Allow replacable buffering strategies

        * src/Codecs/MessageConsumer.h:
        * src/Common/Exceptions.h:
        * src/DotNet/SynchronousDecoder.h:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/Examples/MessagePerformance.h:
        * src/Examples/Examples/MessagePerformance.cpp:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/MessageCounter.cpp:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        * src/Messages/DecodedFields.h:
        Use base class, DecodedFields, rather than specific Message class
        to support alternative types of message

        * src/Codecs/DecodedFields.h:
        * src/Codecs/DecodedFields_fwd.h:
          Removed these files -- they were duplicates of the ones in Message

Wed Jun  3 20:04:10 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNet/Field.h:
        * src/DotNet/Field.cpp:
        * src/DotNet/FieldSet.h:
        * src/DotNet/FieldSet.cpp:
        Performance improvements

Tue May 26 15:16:46 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNet/BoostPtr.h:
        * src/DotNet/Decoder.h:
        * src/DotNet/Field.h:
        * src/DotNet/Field.cpp:
        * src/DotNet/FieldIdentity.h:
        * src/DotNet/FieldIdentity.cpp:
        * src/DotNet/FieldSet.h:
        * src/DotNet/FieldSet.cpp:
        * src/DotNet/MutableFieldSet.h:
        * src/DotNet/MutableFieldSet.cpp:
        * src/DotNet/MutableSequence.h:
        * src/DotNet/Sequence.h:
        * src/DotNet/Sequence.cpp:
        * src/DotNet/SynchronousDecoder.h:
        * src/DotNet/TemplateRegistry.h:
        * src/DotNet/UnmanagedPtr.h:
        * src/DotNet/UnmanagedPtr.cpp:
        * src/DotNetExamples/PerformanceTestDotNet/MessageInterpreter.cs:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldBitMap.h:
        * src/Messages/FieldBitmap.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldInt16.h:
        * src/Messages/FieldInt16.cpp:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldInt8.h:
        * src/Messages/FieldInt8.cpp:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/FieldUInt16.h:
        * src/Messages/FieldUInt16.cpp:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUInt8.h:
        * src/Messages/FieldUInt8.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        * src/Messages/Sequence.h:
        Working on DotNet performance.    Field now caches the type and the
        raw C++ pointer to avoid extra transitions between managed and unmanaged code.


        * src/DotNet/ReadMe.txt:

          Removed this file.

Fri May 22 14:37:13 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNet/Decoder.h:
        Add destructor & dosposer

        * src/DotNet/UnmanagedPtr.h:
        Make Release() public to support dosposers

        * src/DotNet/MutableFieldSet.cpp:
        Disable AddField() thereby disabling encoding while I focus on the decoder.

        * src/DotNet/Field.h:
        * src/DotNet/Field.cpp:
        * src/DotNet/FieldSet.h:
        * src/DotNet/FieldSet.cpp:
        * src/DotNetExamples/InterpretFASTDotNet/MessageInterpreter.cs:
        * src/DotNetExamples/PerformanceTestDotNet/MessageInterpreter.cs:
        * src/DotNetTests/DecodingPerformance/MessageProcessor.cs:
        Correct the mismatch between C++ FieldType and DotNet FieldType
        Eliminate the elaborate and expensive "cast"of fields by switching
        on FieldType.   Can you say "polymorphism"?  How about "virtual?"


Thu May 21 14:00:03 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNetExamples/InterpretFASTDotNet:
        * src/DotNetExamples/InterpretFASTDotNet/.svnignore:
        * src/DotNetTests:
        * src/DotNetTests/.svnignore:
        Set svn:ignore property in various places

Thu May 21 13:50:52 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastDecoder.h:
        Issue # 15 revisited.  I think I got it right this time.

Thu May 21 13:39:06 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/Template.h:
        Addresses:
        Issue 17b: Context::reset_ not being initialized.
        Issue 17a: Reset template attribute being applied to template ID.

Wed May 20 21:46:31 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNet/SynchronousDecoder.cpp:

        * src/DotNetExamples/PerformanceTestDotNet/MessageInterpreter.cs:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.cs:

        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/Examples/MessagePerformance.h:
        * src/Examples/Examples/MessagePerformance.cpp:

        * src/Examples/PerformanceTest/PerformanceTest.h:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        Diagnose and fix performance problem in DotNet wrappers.
        Enhance Performance tests to add more control of field retrieval.

        * src/DotNetExamples/PerformanceTestDotNet/MessageCounter.cs:
          Removed this file.  Functionality is now in MessageInterpreter.cs

Mon May 18 19:51:34 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/SynchronousDecoder.h:
        * src/DotNet/SynchronousDecoder.h:
        * src/DotNet/SynchronousDecoder.cpp:
        Unnecessary includes lead to build problems in some environments (Winbase symbol defn conflicts)
        Remove the includes and all is well.

Mon May 18 19:11:51 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionFiller.h:
        * src/Codecs/MulticastDecoder.h:

        * src/Examples/PerformanceTest/NullMessage.h:

        * src/Messages/DecodedFields.h:
        * src/Messages/FieldSet.h:
        Updating documentation to eliminate Doxygen warnings

Thu May 14 15:32:01 UTC 2009  Adam Mitz  <mitza@ociweb.com>

        * m.cmd:
        * setup.cmd:

          Removed a work-around for C# 2008.  MPC is now updated to handle
          this version (use the latest MPC from subversion).

        * src/DotNetExamples/PerformanceTestDotNet/MessageInterpreter.cs:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.cs:

          Added a -i, "interpret" option to this test.  See the comment at the
          top of PerformanceTestDotNet/MessageInterpreter.cs.

Tue May 12 22:32:31 UTC 2009  Adam Mitz  <mitza@ociweb.com>

        * src/Codecs/Encoder.h:
        * src/Codecs/Encoder.cpp:

          encodeMessage() now takes a FieldSet instead of a Message because it
          only needs the methods defined on FieldSet.  Enables the .NET change:

        * src/DotNet/MutableFieldSet.h:
        * src/DotNet/MutableFieldSet.cpp:
        * src/DotNet/MutableSequence.h:
        * src/DotNet/MutableSequence.cpp:

          Added mutable variations for FieldSet and Sequence which derive from
          their immutable counterparts and add mutating methods.

        * src/DotNet/Message.h:
        * src/DotNet/Message.cpp:

          Removed these files.  The .NET side no longer hass a Message class,
          instead just use a FieldSet (or MutableFieldSet).

        * src/DotNet/Decoder.h:
        * src/DotNet/Decoder.cpp:
        * src/DotNet/Encoder.h:
        * src/DotNet/Encoder.cpp:
        * src/DotNet/FieldSet.h:
        * src/DotNet/FieldSet.cpp:
        * src/DotNet/Sequence.h:
        * src/DotNet/Sequence.cpp:
        * src/DotNet/SynchronousDecoder.h:
        * src/DotNet/SynchronousDecoder.cpp:
        * src/DotNetExamples/InterpretFASTDotNet/MessageInterpreter.cs:
        * src/DotNetExamples/PerformanceTestDotNet/MessageCounter.cs:
        * src/DotNetTests/DecodingPerformance/MessageProcessor.cs:
        * src/DotNetTests/EncodeDecodeTests.cs:
        * src/DotNetTests/FieldTests.cs:
        * src/DotNetTests/MessageTests.cs:

          Refactoring change Message -> FieldSet
          Re-enabled tests that were disabled last week.

Fri May  8 20:58:51 UTC 2009  Adam Mitz  <mitza@ociweb.com>

        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/Message.h:
        * src/Messages/Sequence.h:
          Messages, FieldSets, and Sequences are no longer copyable.

        * src/Tests/testBiggestValue.cpp:
        * src/Tests/testRoundTrip.cpp:
        * src/Tests/testRoundTrip1.cpp:
        * src/Tests/testSmallestValue.cpp:
          Removed parts of tests that copied Messages.

        * src/DotNet/Field.cpp:
        * src/DotNet/FieldSet.h:
        * src/DotNet/FieldSet.cpp:
        * src/DotNet/Sequence.h:
        * src/DotNet/Sequence.cpp:
          Removed "copy" constructors (those that copied the native objects).
          DotNet FieldSet and Sequence are now wrappers around their *const*
          native counterparts, so methods like SetApplicationType()
          and AddField() are no longer available.  These would only be needed
          for doing encoding in .NET, which is not yet supported.

        * src/DotNetTests/FieldTests.cs:
        * src/DotNetTests/MessageTests.cs:
          Parts of tests that depended on modifying FieldSets and Messages are
          now disabled (conditionally compiled with QUICKFAST_DOTNET_ENCODING).

Fri May  8 18:39:02 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * setup.cmd:
        Misspelled label

Fri May  8 16:48:51 UTC 2009  Adam Mitz  <mitza@ociweb.com>

        * QuickFAST.features:
        * QuickFASTApplication.mpb:
        * m.cmd:
        * setup.cmd:
        * src/QuickFAST.mpc:
          VC8 compatibility.  Boost ASIO requires _WIN32_WINNT to be defined.
          setup.cmd now auto-detects VC8 if VC9 is not present.

        * src/Common/Decimal.cpp:
          Work around a bug in VC8's standard C++ library.

        * src/DotNetTests/EncodeDecodeTests.cs:
          Use a C# "using" block for all file streams so they are closed.

Fri May  8 16:39:48 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * bin/setdebug.cmd:
        * bin/setrelease.cmd:
        Syntax error: missing trailing % on environment symbol

Fri May  8 15:11:30 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/WorkingBuffer.cpp:
        VC8:  std::string((char *)0, (size_t)0); throws rather than creating null string.
        Change working buffer so the buffer is always allocated even when it's empty.

Tue May  5 20:35:50 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastDecoder.h:
        Typo in argument name.
        * src/QuickFAST.mpc:
        Depend on boost_system

Mon May  4 15:39:41 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.cpp:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/Template.h:
        * src/Codecs/XMLTemplateParser.cpp:
        Add the reset attribute to the template element, i.e. <template reset="Y"> will force
        a reset of the dictionaries before decoding or encoding with this template.
        Addresses Issue #13

Fri May  1 14:47:53 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MessageConsumer.h:
        * src/Codecs/MulticastDecoder_fwd.h:
        Issue #13: Message not reset when multiple messages appear in a packet.

Thu Apr 30 19:48:28 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder_fwd.h:
        * src/Codecs/SynchronousDecoder.h:
        Convert MulticastDecoder to template class
        based on message type and message consumer type.
        MulticastDecoder now decodes all messages in a packet.
        Add reset methods to SynchronousDecoder and MulticastDecoder
        Addresses Issues #12 and #14

        * src/Codecs/MulticastDecoder.cpp:
        * src/Codecs/SynchronousDecoder.cpp:
        MulticastDecoder is now a template class.  The implementation is inline.
        SynchronousDecoder is now a template class.  The implementation is inline.

Tue Apr 21 18:06:57 UTC 2009  Trevor Fields  <fields_t@ociweb.com>

        * src/DotNetTests/DecodingPerformance/DecodingPerformance.cs:
        * src/DotNetTests/DecodingPerformance/MessageProcessor.cs:

          Implemented the timing of data access and counting types of fields.

Mon Apr 20 21:22:29 UTC 2009  Yan Dai  <dai_y@ociweb.com>

        * src/Tests/resources/biggest_value.xml:
        * src/Tests/testBiggestValue.cpp:

          Added a random buffer to test non-null string or bytevector values.

Fri Apr 17 20:34:26 UTC 2009  Yan Dai  <dai_y@ociweb.com>

        * src/Common/Decimal.cpp:

          Made parse() to handle strings represent a bigger than longlong
          value which fail on lexical_cast. The right zeros will be trimmed
          from matissa string and the exponent will be updated accordingly.

        * src/Tests/resources/biggest_value.xml:
        * src/Tests/resources/smallest_value.xml:
        * src/Tests/testBiggestValue.cpp:
        * src/Tests/testSmallestValue.cpp:

          - Made tail presence to be optional since the spec implies mandatory
            tail should not be null.
          - Corrected the decimal biggest and lowest value (with 63 zeros)

Wed Apr 15 19:13:50 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNet/UnmanagedPtr.h:
        Remove "using namespace" from header file.

Tue Apr 14 23:17:22 UTC 2009  Trevor Fields  <fields_t@ociweb.com>

        * src/DotNet/FieldSet.h:
        * src/DotNet/Sequence.cpp:
        * src/DotNet/Sequence.h:
        Added references of the parent objects to the enumerator classes.
        The optimized build was optimizing away members while the
        enumerator was still using references to contained unmanaged
        memory.

Mon Apr 13 17:26:47 UTC 2009  Trevor Fields  <fields_t@ociweb.com>

        * src/DotNet/SynchronousDecoder.cpp:
        Fixed incorrect handling of failed message decoding.

        * src/DotNet/UnmanagedPtr.h:
        Added code (NOT ACTIVE) that will inform the system Garbage collection
        about some of the non manged memory that is allocated by the object.

        * src/DotNetExamples/InterpretFASTDotNet/InterpretFASTDotNet.cs:
        * src/DotNetExamples/InterpretFASTDotNet/MessageInterpreter.cs:
        Minor fixes.

        * src/Messages/FieldIdentity.h:
        Added the setting of the ref count for the copy constructor.

        * src/DotNetTests/DecodingPerformance/DecodingPerformance.cs:
        Copied in some commented out code for it to use later.  This program
        will be very similar to the InterpretFASTDotNet program except it will
        time the extraction of data from the message.

Thu Apr 09 17:27:35 UTC 2009  Trevor Fields  <fields_t@ociweb.com>

        * src/DotNetExamples/InterpretFASTDotNet:
        * src/DotNetExamples/InterpretFASTDotNet/InterpretFASTDotNet.cs:
        * src/DotNetExamples/InterpretFASTDotNet/InterpretFASTDotNet.mpc:
        * src/DotNetExamples/InterpretFASTDotNet/MessageInterpreter.cs:
        * src/DotNetExamples/InterpretFASTDotNet/Properties:
        * src/DotNetExamples/InterpretFASTDotNet/Properties/AssemblyInfo.cs:
        * QuickFAST.mwc:
        Added C# version of the InterpretFAST example.

Wed Apr 08 20:26:53 UTC 2009  Trevor Fields  <fields_t@ociweb.com>

        * src/DotNet/Stdafx.h:
        Added missing include for boost intrusive_ptr.

Wed Apr  8 20:05:42 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Tests/testBiggestValue.cpp:
        Missed on on my previous check-in.

Wed Apr  8 20:04:01 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Tests/testBiggestValue.cpp:
        More literals need length and unsigned qualifiers.

Wed Apr  8 19:53:19 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Tests/testRoundTrip1.cpp:
        Add "LL" or "ULL" for 64 bit integer literals.

Wed Apr  8 19:31:58 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNetExamples/DotNetExampleCode/DotNetExampleCode.mpc:
        * src/DotNetExamples/DotNetExampleCode/Properties/AssemblyInfo.cs:
        * src/DotNetExamples/PerformanceTestDotNet/Properties/AssemblyInfo.cs:
        * src/DotNetTests/DecodingPerformance/DecodingPerformanceDotNet.mpc:
        * src/DotNetTests/DecodingPerformance/Properties/AssemblyInfo.cs:
        Visual Studio quirk.  If the GUIDs aren't uppercased the modules are not built.

        * src/Tests/resources/biggest_value.xml:
        * src/Tests/testBiggestValue.cpp:
        Disable test for largest int64 and uint64 due to bug in boost:lexical_cast
         https://svn.boost.org/trac/boost/ticket/2295
        Add "LL" qualifier on integral constants to avoid compiler warning messages.

        * src/Tests/testSmallestValue.cpp:
        Add "LL" qualifier on integral constants to avoid compiler warning messages.

Tue Apr  7 23:18:50 UTC 2009  Yan Dai  <dai_y@ociweb.com>

        * src/Tests/resources/smallest_value.xml:
        * src/Tests/testSmallestValue.cpp:

          Corrected the decimal lowest bound value in comments and xml file.

Tue Apr  7 22:14:58 UTC 2009  Yan Dai  <dai_y@ociweb.com>

        * src/Tests/testSmallestValue.cpp:

          Corrected the decimal lowest bound value.

Tue Apr  7 21:47:22 UTC 2009  Yan Dai  <dai_y@ociweb.com>


        * src/Tests/resources/biggest_value.xml:
        * src/Tests/resources/smallest_value.xml:
        * src/Tests/testBiggestValue.cpp:
        * src/Tests/testSmallestValue.cpp:

          Added new tests to test bound values.

        * src/Tests/testRoundTrip1.cpp:

          Fixed one type field check that was missed in previous commit and corrected
          namespace scope.

Mon Apr  6 17:26:17 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Tests/testRoundTrip1.cpp:
        Gcc build errors.  int64 constant was not qualified with "LL".

Mon Apr  6 17:14:03 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionBitMap.cpp:
        * src/Common/BitMap.h:
        * src/Common/BitMap.cpp:
        Check in the BitMap implementation


Mon Apr  6 15:04:43 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        Unit test revealed mishandling of default value defined in XML.

        * src/DotNet/DataSourceBuffered.cpp:
        Avoid type conversion warning.

Fri Apr  3 20:02:36 UTC 2009  Yan Dai  <dai_y@ociweb.com>

        * src/Tests/resources:
        * src/Tests/resources/unittest_mandatory.xml:
        * src/Tests/resources/unittest_optional.xml:
        * src/Tests/testRoundTrip1.cpp:

          Added test cases for combination of various field types, field operators,
          and presence.

Fri Apr  3 18:10:22 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/Profiler.h:
        * src/DotNet/DataDestination.h:
        * src/DotNet/DataDestination.cpp:
        * src/DotNet/DataSource.h:
        * src/DotNet/Decimal.h:
        * src/DotNet/Decimal.cpp:
        * src/DotNet/Decoder.h:
        * src/DotNet/Decoder.cpp:
        * src/DotNet/Encoder.cpp:
        * src/DotNet/Exceptions.h:
        * src/DotNet/Exceptions.cpp:
        * src/DotNet/Field.h:
        * src/DotNet/Field.cpp:
        * src/DotNet/FieldIdentity.h:
        * src/DotNet/FieldIdentity.cpp:
        * src/DotNet/FieldSet.h:
        * src/DotNet/FieldSet.cpp:
        * src/DotNet/Message.h:
        * src/DotNet/Message.cpp:
        * src/DotNet/Sequence.h:
        * src/DotNet/Sequence.cpp:
        * src/DotNet/Stdafx.h:
        * src/DotNet/SynchronousDecoder.h:
        * src/DotNet/SynchronousDecoder.cpp:
        * src/DotNet/TemplateRegistry.h:
        * src/DotNet/TemplateRegistry.cpp:
        * src/DotNet/UnmanagedPtr.cpp:
        * src/DotNetExamples/DotNetExampleCode:
        * src/DotNetExamples/DotNetExampleCode/.svnignore:
        * src/DotNetExamples/PerformanceTestDotNet:
        * src/DotNetExamples/PerformanceTestDotNet/.svnignore:
        * src/DotNetTests/DecodingPerformance:
        * src/DotNetTests/DecodingPerformance/.svnignore:

        Fixed include file related build problems.
        Guidelines for include files in QuickFAST C++
.
        Almost all includes should use angle bracket delimiters and paths qualified with respect
        to $QUICKFAST_ROOT/src.  Exceptions to this are:

        Precompiled headers use the file name given in the mpc file.
          For QuickFIX.dll and QuickFAST_Tests that is:
            #include <Common/QuickFASTPch.h>
          For Examples:
            #include <Examples/ExamplesPch.h>
          For QuickFASTDotNet:
            #include "StdAfx.h"
        Pcompiled headers should be included ONLY from .cpp files.

        Closely associated files with the same base name should be included using unqualified names in quotes.
        Example:
          src/Codex/Decoder.cpp should use:
            #include "Decoder.h"
            which in turn should:
              #include "Decoder_fwd.h"

        A cpp file should include its own header file immediately after the precompiled header file.
        A normal header should include its own forward declaration header. i.e. xyz.h should include xyz_fwd.h
        Forward declaration header files should be included only from other .h files.


Thu Apr 02 22:17:01 UTC 2009  Trevor Fields  <fields_t@ociweb.com>

        * src/DotNet/SynchronousDecoder.cpp:
        * src/DotNet/SynchronousDecoder.h:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.cs:
        Added ability to use synchronous decoder for testing timing.

Tue Mar 31 14:34:05 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * m.cmd:
        add -toolsversion=3.5 QuickFAST.mwc to command line.
        This is a temporary fix to avoid having to upgrade the generated csproj files for a .net build.
        It will be ignored unless the following patch is applied to %MPC_ROOT\templates\vc8csharp.mpd
        Index: vc8csharp.mpd
        ===================================================================
        --- vc8csharp.mpd       (revision 1527)
        +++ vc8csharp.mpd       (working copy)
        @@ -1,4 +1,4 @@
        -n++<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
        +n++<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"<%if(toolsversion)%> ToolsVersion="<%toolsversion%>"<%endif%>>
           <PropertyGroup>
             <ProjectType>Local</ProjectType>
             <ProductVersion><%prversion("8.0.50727")%></ProductVersion>

        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.mpc:
        Build this after DotNetExampleCode

Mon Mar 30 22:16:43 UTC 2009  Trevor Fields  <fields_t@ociweb.com>

        * src/DotNet/DataDestination.h:
        * src/DotNet/DataSourceBuffered.cpp:
        * src/DotNet/Stdafx.h:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.cs:
        Moved the readbyte method into the native code compilation for speed.

        * src/DotNet/SynchronousDecoder.cpp:
        Minor clean up.

Fri Mar 27 06:33:29 UTC 2009  Trevor Fields  <fields_t@ociweb.com>

        * src/DotNet/DataSource.cpp:
        * src/DotNet/DataSource.h:
        * src/DotNet/DataSourceBuffered.cpp:
        * src/DotNet/DataSourceBuffered.h:
        * src/DotNet/Decoder.h:
        * src/DotNet/SynchronousDecoder.cpp:
        * src/DotNet/SynchronousDecoder.h:
        Added a buffered data source that reads all the data from the managed data stream
        into an unmanaged data buffer to avoid the managed/unmanged boundary transition
        during the decode.

        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.cs:
        Peform timing operations twice to remove the affect of the JIT compilation.

        * src/DotNetExamples/DotNetExampleCode/DotNetExampleCode.mpc:
        * src/DotNetTests/DecodingPerformance/DecodingPerformanceDotNet.mpc:
        Added missing dotnet feature.

Thu Mar 26 16:01:36 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * QuickFASTDotNetApplication.mpb:
        * QuickFASTDotNetExample.mpb:
        * src/DotNet/QuickFASTDotNet.mpc:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.mpc:
        * src/DotNetTests/QuickFASTDotNetTests.mpc:
        Dot NET support requires dotnet feature.

Wed Mar 25 20:35:43 UTC 2009  Trevor Fields  <fields_t@ociweb.com>

        * QuickFAST.mwc:
        * QuickFASTDotNetExample.mpb:
        * src/DotNetExamples/DotNetExampleCode:
        * src/DotNetExamples/DotNetExampleCode/DotNetExampleCode.mpc:
        * src/DotNetExamples/DotNetExampleCode/Properties:
        * src/DotNetExamples/DotNetExampleCode/Properties/AssemblyInfo.cs:
        * src/DotNetExamples/DotNetExampleCode/StopWatch.cs:
        * src/DotNetExamples/PerformanceTestDotNet/StopWatch.cs:
        Moved the StopWatch code into a new shared library for the dot net
        examples to use.

        * src/DotNetExamples/PerformanceTestDotNet/MessageCounter.cs:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.cs:
        Namespace changes for the new shared library.

        * src/DotNetTests/DecodingPerformance:
        * src/DotNetTests/DecodingPerformance/DecodingPerformance.cs:
        * src/DotNetTests/DecodingPerformance/DecodingPerformanceDotNet.mpc:
        * src/DotNetTests/DecodingPerformance/MessageProcessor.cs:
        * src/DotNetTests/DecodingPerformance/Properties:
        * src/DotNetTests/DecodingPerformance/Properties/AssemblyInfo.cs:
        Added beginning of test to test performance of decoding and
        extrating data from the messages.

Mon Mar 23 19:32:38 UTC 2009  Trevor Fields  <fields_t@ociweb.com>

        * src/DotNet/Field.cpp:
        * src/DotNet/Field.h:
        * src/DotNet/Stdafx.h:
         Added code to handle the new types for ARCA formatted data.

        * src/DotNet/SynchronousDecoder.cpp:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.cs:
        Optimizations to improve time performance.

Thu Mar 19 20:17:03 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionInteger.h:
        comment about bogus gcc warnings:  see GCC Bugzilla Bug 11856

        * src/Examples/Examples.mpc:
        Report from ICAP that boost-system is needed for gcc on solaris builds.

Thu Mar 19 14:58:55 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        Unit test detected failure. Missing check to see if inital value was set.

Wed Mar 18 20:58:08 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/QuickFAST.mpc:
        * QuickFASTApplication.mpb:
        Disable gcc warning about unreachable code

        * data/ARCATemplates.xml:
        Move comment inside.  XERCES doesn't like leading comments.

        * src/Codecs/Context.cpp:
        * src/Codecs/DataDestinationString.h:
        * src/Codecs/DataSourceBuffer.h:
        * src/Codecs/DataSourceBufferedStream.h:
        * src/Codecs/DataSourceString.h:
        * src/Codecs/DecodedFields.h:
        * src/Codecs/DecodedFields_fwd.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionBitMap.h:
        * src/Codecs/FieldInstructionBitMap.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionFiller.h:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldOpArcaNop.h:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/SynchronousDecoder.h:
        * src/Codecs/SynchronousDecoder.cpp:
        * src/Codecs/Template.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Common/BitMap.h:
        * src/Common/Bitmap.cpp:
        * src/Examples/Examples/CommandArgParser.cpp:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Examples/PerformanceTest/MessageCounter.cpp:
        * src/Examples/PerformanceTest/NullMessage.h:
        * src/Examples/PerformanceTest/NullMessage.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.h:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Messages/DecodedFields.h:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldBitMap.h:
        * src/Messages/FieldBitmap.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldInt16.h:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt8.h:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldUInt16.h:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt8.h:
        * src/Messages/FieldUtf8.h:
        * src/Messages/Message.h:
        Add support for ARCA bitfields.
        Fix some formatting issues.

Wed Mar 18 19:21:13 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.cpp
        * src/Messages/Field.h
        * src/QuickFAST.mpc
        gcc build error: undefined intrusive_ptr_ functions
        Also disabled unreachable code warning because the
        unreachable code is intentional based on template
        arguments.


Wed Mar 18 19:21:25 UTC 2009  Trevor Fields  <fields_t@ociweb.com>

        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.cs:
        Fixed cleanup when using an output file.

Wed Mar 18 18:04:13 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/Examples/MessageInterpreter.cpp
        * src/Examples/Examples/MessageInterpreter.h
        More gcc build errors.

Wed Mar 18 16:42:49 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/Encoder.h
        * src/Codecs/PresenceMap.cpp
        * src/Codecs/Decoder.h
        * src/Messages/Field.h
        * m.sh
        Fixing gcc build errors

Mo Mar 16 23:25:54 UTC 2009  Trevor Fields  <fields_t@ociweb.com>

        * QuickFASTDotNetApplication.mpb:
        * QuickFASTDotNetExample.mpb:
        Added projects for Dot Net applications.

        * src/DotNet/SynchronousDecoder.cpp:
        * src/DotNet/SynchronousDecoder.h:
        Added a synchronous decoder for the Dot Net wrapper.

        * src/DotNet/Decoder.cpp:
        * src/DotNet/Decoder.h:
        * src/DotNet/Message.cpp:
        * src/DotNet/Message.h:
        * src/DotNet/TemplateRegistry.h:
        Changes to support the Performance test and increase the exposed
        information and configuration options.

        * QuickFAST.mwc:
        * src/DotNetExamples:
        * src/DotNetExamples/PerformanceTestDotNet:
        * src/DotNetExamples/PerformanceTestDotNet/MessageCounter.cs:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.cs:
        * src/DotNetExamples/PerformanceTestDotNet/PerformanceTestDotNet.mpc:
        * src/DotNetExamples/PerformanceTestDotNet/Properties:
        * src/DotNetExamples/PerformanceTestDotNet/Properties/AssemblyInfo.cs:
        * src/DotNetExamples/PerformanceTestDotNet/StopWatch.cs:
        Added C sharp version of the Performance Test.

Fri Mar 13 19:56:06 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * .:
        * Doc:
        * Output/TestData:
        * data:
        * data/ARCATemplates.xml:
        * data/arca.dat:
        * data/arca.fast:
        * data/arca_files_notice:
        * src:
        Add svn:ignore properties as appropriate
        Add arca test data to repository.
        This data was distributed by FIXProtocol.org as part of fastapi-1.0
        See arca_files_notice for the license that applies to the arca test data.

Fri Mar 13 19:23:07 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionFiller.h:
        * src/Codecs/FieldInstructionFiller.cpp:
        * src/Codecs/FieldOpArcaNop.h:
        * src/Codecs/XMLTemplateParser.cpp:
        Add new field instruction <filler name= id= > that consumes a PMAP bit,
        but does not define a field.
        Add a new field operation <arca_nop/> that consumes a PMAP bit, but otherwise
        acts like a NOP [unspecified] instruction.
        These are needed to decode ARCA data streams.

Fri Mar 13 17:14:57 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstructionInt16.h:
        * src/Codecs/FieldInstructionInt8.h:
        * src/Codecs/FieldInstructionUInt16.h:
        * src/Codecs/FieldInstructionUInt8.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Common/Types.h:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldInt16.h:
        * src/Messages/FieldInt16.cpp:
        * src/Messages/FieldInt8.h:
        * src/Messages/FieldInt8.cpp:
        * src/Messages/FieldUInt16.h:
        * src/Messages/FieldUInt16.cpp:
        * src/Messages/FieldUInt8.h:
        * src/Messages/FieldUInt8.cpp:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        Add support for nonstandard integral field types used by ARCA:
         int8, uInt8, int16, uInt16


Fri Mar 13 14:29:22 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * .:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Examples/MulticastInterpreter:
        * src/Messages/DecodedFields.h:
        * src/Messages/DecodedFields_fwd.h:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Tests/FieldInstructionMock.h:
        Fix compiler errors in Issues #9 and #10
        Merge changes from FieldSetTemplate branch into trunk.
         -- Create the "DecodedFields.h" interface to allow decodeded
            messages to be sent to something other than Messages::Message
            Messages::Message implements DecodedFields.
            Applications can avoid the overhead of a generic message structure
            by providing their own implementation of DecodedFields.

Tue Mar 10 17:53:03 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/TemplateRegistry.cpp:
        Issue #8: findNamedTemplate was always returning true.

Mon Mar  9 15:47:51 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/MessageConsumer.h:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/MessageCounter.cpp:
        * src/Messages/FieldIdentity_fwd.h:
        * src/Messages/Field_fwd.h:
        Add a stop() method to MulticastDecoder in hopes of shutting down cleanly.
        Add additional methods to MessageConsumer to report decoding events including
        the end of the decoding process.

Fri Mar  6 21:02:07 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Tests/testRoundTrip.cpp:
        Remove some debugging messages from testRoundTrip.cpp
        Verify that Issue #5 was fixed by the previous check-in.

Fri Mar  6 20:42:11 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/PresenceMap.cpp:
        * src/Tests/testRoundTrip.cpp:
        Round trip was passing in debug, but failing in release.
        Turns out there were two problems:
           an off-by-one bug in the presence map that stored uninitialized data.
           the encoder wasn't using a presence map bit for the template ID.
        While I was fixing these, I improved the encoding/decoding exception messages
        to include the field name where the problem was encountered (most of the time, there
        are a couple of places where I would have had to incur a performance hit to make
        the field name available, so those are still un-named.
        Note: this might be Issue #5, but I haven't verified it yet.
        The testRoundTrip revealed the problem.

        * src/Messages/FieldSet.cpp:
        Copy constructor copies application type and application type namespace.
        Issue # 6
        testRoundTrip has been extended so that it would have detected the problem.

Fri Feb 27 01:14:09 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        Try for a little more speed on Decimal NOP encode/decode

        * src/Common/Profiler.h:
        Move the enable/disable symbol to the top of the file so I can find it.

        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldIdentity.cpp:
        Fix a memory leak; uninitialized refcount.

Thu Feb 26 23:44:29 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Tests/testRoundTrip.cpp:
        Tests Issue #2.
        Checks to be sure the data made it round-trip intact.

Thu Feb 26 19:14:13 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/Context.cpp:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/MessageField.h:
        Address encoding problems reported in Issues #3 and #4.

        * src/Tests/testRoundTrip.cpp:
        Add unit test to reveal problems form Issues #1, #3, and #4

Thu Feb 26 01:19:24 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        Issue #1: Sequence encoding includes presence map when it shouldn't
        TODO: There should be a unit test for this but there isn't.

Thu Feb 26 00:42:45 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/PresenceMap.cpp:
        Issue #3: Infinite loop encoding presence map.

        * src/Tests/testPresenceMap.cpp:
        Add test for issue #3

        * src/Tests/testXMLTemplateParser.cpp:
        Renable test in spite of memory leak.

Tue Feb 24 15:31:23 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/DotNet/FieldIdentity.h:
        * src/DotNet/FieldIdentity.cpp:
        * src/DotNet/FieldSet.cpp:
        * src/DotNet/UnmanagedPtr.h:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/MulticastInterpreter:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.h:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldIdentity.cpp:
        * src/Messages/FieldIdentity_fwd.h:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/Field_fwd.h:
        * src/Messages/MessageField.h:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testXMLTemplateParser.cpp:
        Merged Branch FieldIdentityPtr into trunk.

Tue Feb 24 15:11:47 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        IN BRANCH FieldIdentityPtr
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldIdentity.cpp:
        * src/Messages/FieldIdentity_fwd.h:
        Inline code for intrusive Field pointers.

Fri Feb 20 22:07:39 UTC 2009  Curt Campbell  <campbellc@ociweb.com>
        IN BRANCH FieldIdentityPtr
        * src/DotNet/FieldIdentity.cpp
        * src/DotNet/FieldIdentity.h
        * src/DotNet/FieldSet.cpp
        * src/DotNet/UnmanagedPtr.h
        Fixed broken build due to use of intrusive pointer
        in last check-in.

Wed Feb 18 17:17:39 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        IN BRANCH FieldIdentityPtr
        * src/Codecs/Context.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Messages/Field.h:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldIdentity.cpp:
        * src/Messages/FieldIdentity_fwd.h:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/Field_fwd.h:
        * src/Messages/MessageField.h:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testXMLTemplateParser.cpp:
        Switch to intrusive pointer for FieldIdentity


Wed Feb 18 17:37:14 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        Encoding/decoding errors are reported to context rather than thrown
        to support run-time configurable strictness.

        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        Fix a typo in -profiler

Tue Feb 17 18:17:12 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * bin/setdebug.cmd:
        * bin/setrelease.cmd:
        * setup.cmd:
        Putting the executables in Output/Debug and Output/Release made .NET happy,
        but it made it harder to switch between debug and release executables.
        This change in setup.cmd, along with new command files, setdebug and setrelease
        addresses that.

        * src/Messages/FieldSet.cpp:
        Fixed a memory leak.

        * src/Tests/testFieldInstructions.cpp:
        Added a call to _CrtSetBreakAlloc on Visual Studio builds to help diagnose memory leaks.

Mon Feb 16 18:12:12 UTC 2009  Curt Campbell  <campbellc@ociweb.com>

        * src/DotNet/DebugView.cpp
        * src/DotNet/DebugView.h
        Removed from source control

        * src/DotNet/FieldSet.h
        * src/DotNet/Sequence.h
        Removed references to DebugView.h

Mon Feb 16 15:24:03 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * setup.cmd:
        Add Output... to path

        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOp.cpp:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/TemplateRegistry.cpp:
        Reduce size of dictionary by eliminating unused entries.

Fri Feb 13 23:16:01 UTC  Curt Campbell  <campbellc@ociweb.com>

        * Output/TestData
        * Output/TestData/fixfast.dat
        * Output/TestData/marketdata.out
        * Output/TestData/templates.xml

          Added to source control.

        * src/DotNet/Field.cpp

          Fixed the cause of a class cast exception which caused a unit test to fail.

        * src/DotNetTests/EncodeDecodeTests.cs

          Corrected a spelling error on a test description.

        * src/DotNetTests/TestData/fixfast.dat
        * src/DotNetTests/TestData/marketdata.out
        * src/DotNetTests/TestData/templates.xml
        * src/DotNetTests/TestData/testoutput.dat

          Removed from source control.

Fri Feb 13 19:33:42 UTC 2009  Curt Campbell  <campbellc@ociweb.com>

        * QuickFASTExample.mpb
        * src/DotNet/QuickFASTDotNet.mpc
        * src/DotNetTests/QuickFASTDotNetTests.mpc
        * src/QuickFAST.mpc

          Changed the output directories on the remaining projects
          for versions compiled under VC8 and VC9.  Output
          files are now placed in the Output/Debug and
          Output/Release directories.

        * src/DotNet/FieldSet.cpp
        * src/DotNet/FieldSet.h

          Fixed a compiler error introduced at some point when
          setApplicationType was modified on the the unmanaged
          FieldSet class.

Thu Feb 12 18:37:07 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.mpc:

          Removed this file. It was  unused.

Mon Feb  9 17:05:00 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/DictionaryIndexer.h:
        * src/Codecs/DictionaryIndexer.cpp:
        * src/Codecs/DictionaryIndexer_fwd.h:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOp.cpp:
        * src/Codecs/SchemaElement.h:
        * src/Codecs/SchemaElement.cpp:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Messages/FieldSet.h:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Codecs/Dictionary.h:
        * src/Codecs/Dictionary.cpp:
        * src/Codecs/Dictionary_fwd.h:
        Reworked dictionary support to get the name inheritence right
        and improve performance.
        {warning, this revision has some build-time conflict between the .NET and C++ builds
         Curt is working on it.  If it doesn't build on C++, revert the MPC/MPB/MPW files to rev 46
         Or just wait for Curt's fix.}


Fri Feb 6 23:37:21 UTC 2009  Curt Campbell  <campbellc@ociweb.com>

        * QuickFastDotNetTests.nunit

          Added a NUnit file for .NET projects to source control.

        * src/DotNet/Decimal.h
        * src/DotNet/Sequence.cpp
        * src/DotNet/Sequence.h

          Fixe some compile time warnings.

        * QuickFASTApplication.mpb
        * src/DotNet/QuickFASTDotNet.mpc
        * src/DotNetTests/QuickFASTDotNetTests.mpc
        * src/QuickFAST.mpc

          Changed the output directories for versions
          compiled under VC8 and VC9.  Output files are now
          placed in the Output/Debug and Output/Release
          directories.

Fri Feb  6 15:41:32 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        Sequence presence was not being applied to length field.

Fri Feb  6 00:37:55 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.h:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Common/Types.h:
        * src/Examples/Examples/CommandArgHandler.h:
        * src/Examples/Examples/CommandArgParser.h:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.h:
        Decoding problems.  Typedef for FieldUInt64 was incorrect, and
        Decimal mantissa was coded to be int32 rather than int64.


Thu Feb  5 18:46:37 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Examples/Examples.mpc:
        * src/QuickFAST.mpc:

          Corrected MPC files for Linux.

Mon Feb  2 23:44:32 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Common/AsioService.h:
        * src/Common/AsioService.cpp:
        * src/Common/QuickFASTPch.h:
        * src/Examples/Examples/ExamplesPch.h:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/Examples/StopWatch.h:
        * src/Examples/FileToMulticast/FileToMulticast.h:
        * src/Examples/FileToMulticast/FileToMulticast.cpp:
        * src/Examples/FileToMulticast/main.cpp:
        * src/Examples/FileToTCP/FileToTCP.h:
        * src/Examples/FileToTCP/FileToTCP.cpp:
        * src/Examples/FileToTCP/main.cpp:
        * src/Examples/InterpretFAST/InterpretFAST.h:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Examples/InterpretFAST/main.cpp:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.h:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        * src/Examples/MulticastInterpreter/main.cpp:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/MessageCounter.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.h:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Examples/PerformanceTest/main.cpp:
        Move examples to QuickFAST::Examples namespace
        More doxygen.

Mon Feb  2 18:15:13 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/AsioService.h:
        * src/Common/AsioService.cpp:
        Add full(er) support for io_service event loop handling
        All AsioService derived classes use a common io_service (by default, anyway)

Sun Feb  1 23:42:46 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/QuickFASTPch.h:
        * src/Doxyfile:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/StopWatch.h:
        * src/Examples/FileToMulticast/FileToMulticast.h:
        * src/Examples/FileToTCP/FileToTCP.h:
        * src/Examples/InterpretFAST/InterpretFAST.h:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.h:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/PerformanceTest.h:
        Include Examples in Doxygen

Sun Feb  1 18:19:03 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Common/AsioService.h:
        * src/Common/AsioService.cpp:
        Generalized wrapper around boost::io_service

Fri Jan 30 23:08:16 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/MulticastDecoder.h:
        Update Doxygen

Fri Jan 30 22:57:15 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/MessageConsumer_fwd.h:
        * src/Codecs/MulticastDecoder.h:
        * src/Codecs/MulticastDecoder.cpp:
        * src/Codecs/MulticastDecoder_fwd.h:
        * src/Codecs/SchemaElement.h:
        * src/Codecs/SynchronousDecoder.h:
        * src/Codecs/XMLTemplateParser.h:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.h:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/Field_fwd.h:
        Separate MulticastDecoder functionality into separate component
        and move it into Codecs.


Fri Jan 30 19:33:45 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/MulticastInterpreter/MulticastInterpreter.h:
        * src/Examples/MulticastInterpreter/MulticastInterpreter.cpp:
        * src/Examples/MulticastInterpreter/main.cpp:
        * src/Examples/MulticastInterpreter/MulticastDecoder.h:
        * src/Examples/MulticastInterpreter/MulticastDecoder.cpp:
        Complete the renaming s/MulticastDecoder/MulticastInterpreter/

Fri Jan 30 19:00:54 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/QuickFASTPch.h:
        Continue to extend documentation

        * src/Examples/Examples.mpc:
        * src/Examples/MulticastInterpreter:
        * src/Examples/MulticastInterpreter/MulticastDecoder.h:
        * src/Examples/MulticastInterpreter/MulticastDecoder.cpp:
        * src/Examples/MulticastInterpreter/main.cpp:
        * src/Examples/MulticastDecoder:
        * src/Examples/MulticastDecoder/MulticastDecoder.h:
        * src/Examples/MulticastDecoder/MulticastDecoder.cpp:
        * src/Examples/MulticastDecoder/main.cpp:
        Renaming MulticastDecoder to be MulticastInterpreter because
        I want to use the name for an actual decoder object.

Thu Jan 29 17:29:12 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/Examples/StopWatch.h:
        Fix comment on #endif

        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        Clean up doxygen

Wed Jan 28 20:30:02 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * .:
        * Doc:
        * Doc/FieldRules.xls:
        * QuickFAST.features:
        * QuickFAST.mpc:
        * QuickFAST.mwc:
        * QuickFASTApplication.mpb:
        * QuickFASTExample.mpb:
        * bin:
        * bin/insertBlocks.py:
        * license.txt:
        * m.cmd:
        * setup.cmd:
        * setup.sh:
        * src:
        * src/Codecs:
        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/Context_fwd.h:
        * src/Codecs/DataDestination.h:
        * src/Codecs/DataDestinationString.h:
        * src/Codecs/DataDestinationString.cpp:
        * src/Codecs/DataDestination_fwd.h:
        * src/Codecs/DataSource.h:
        * src/Codecs/DataSource.cpp:
        * src/Codecs/DataSourceBuffer.h:
        * src/Codecs/DataSourceBuffer.cpp:
        * src/Codecs/DataSourceBufferedStream.h:
        * src/Codecs/DataSourceBufferedStream.cpp:
        * src/Codecs/DataSourceStream.h:
        * src/Codecs/DataSourceStream.cpp:
        * src/Codecs/DataSourceString.h:
        * src/Codecs/DataSourceString.cpp:
        * src/Codecs/DataSource_fwd.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Decoder_fwd.h:
        * src/Codecs/Dictionary.h:
        * src/Codecs/Dictionary.cpp:
        * src/Codecs/Dictionary_fwd.h:
        * src/Codecs/Encoder.h:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/Encoder_fwd.h:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionExponent.h:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Codecs/FieldInstruction_fwd.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOp.cpp:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/FieldOp_fwd.h:
        * src/Codecs/MessageConsumer.h:
        * src/Codecs/MessageConsumer_fwd.h:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:
        * src/Codecs/PresenceMap_fwd.h:
        * src/Codecs/SchemaElement.h:
        * src/Codecs/SchemaElement.cpp:
        * src/Codecs/SchemaElement_fwd.h:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/SegmentBody_fwd.h:
        * src/Codecs/SynchronousDecoder.h:
        * src/Codecs/SynchronousDecoder.cpp:
        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/TemplateRegistry_fwd.h:
        * src/Codecs/Template_fwd.h:
        * src/Codecs/XMLTemplateParser.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Codecs/XMLTemplateParser_fwd.h:
        * src/Common:
        * src/Common/Constants.h:
        * src/Common/Decimal.h:
        * src/Common/Decimal.cpp:
        * src/Common/Exceptions.h:
        * src/Common/Profiler.h:
        * src/Common/Profiler.cpp:
        * src/Common/QuickFASTPch.h:
        * src/Common/QuickFASTPch.cpp:
        * src/Common/QuickFAST_Export.h:
        * src/Common/Types.h:
        * src/Common/WorkingBuffer.h:
        * src/Common/WorkingBuffer.cpp:
        * src/Common/dllmain.cpp:
        * src/DotNet:
        * src/DotNet/AssemblyInfo.cpp:
        * src/DotNet/DataDestination.h:
        * src/DotNet/DataDestination.cpp:
        * src/DotNet/DebugView.h:
        * src/DotNet/DebugView.cpp:
        * src/DotNet/Decimal.h:
        * src/DotNet/Decimal.cpp:
        * src/DotNet/Decoder.h:
        * src/DotNet/Decoder.cpp:
        * src/DotNet/Encoder.h:
        * src/DotNet/Encoder.cpp:
        * src/DotNet/Exceptions.h:
        * src/DotNet/Exceptions.cpp:
        * src/DotNet/Field.h:
        * src/DotNet/Field.cpp:
        * src/DotNet/FieldIdentity.h:
        * src/DotNet/FieldIdentity.cpp:
        * src/DotNet/FieldSet.h:
        * src/DotNet/FieldSet.cpp:
        * src/DotNet/ManagedHelpers.h:
        * src/DotNet/Message.h:
        * src/DotNet/Message.cpp:
        * src/DotNet/QuickFASTDotNet.mpc:
        * src/DotNet/ReadMe.txt:
        * src/DotNet/Sequence.h:
        * src/DotNet/Sequence.cpp:
        * src/DotNet/Stdafx.h:
        * src/DotNet/Stdafx.cpp:
        * src/DotNet/StlDotNet.h:
        * src/DotNet/TemplateRegistry.h:
        * src/DotNet/TemplateRegistry.cpp:
        * src/DotNet/UnmanagedPtr.h:
        * src/DotNet/UnmanagedPtr.cpp:
        * src/DotNet/app.ico:
        * src/DotNet/app.rc:
        * src/DotNet/resource.h:
        * src/DotNetTests:
        * src/DotNetTests/DecimalTests.cs:
        * src/DotNetTests/EncodeDecodeTests.cs:
        * src/DotNetTests/FieldTests.cs:
        * src/DotNetTests/MessageTests.cs:
        * src/DotNetTests/PrerequisitsTests.cs:
        * src/DotNetTests/Properties:
        * src/DotNetTests/Properties/AssemblyInfo.cs:
        * src/DotNetTests/QuickFASTDotNetTests.mpc:
        * src/DotNetTests/TestData:
        * src/DotNetTests/TestData/fixfast.dat:
        * src/DotNetTests/TestData/marketdata.out:
        * src/DotNetTests/TestData/templates.xml:
        * src/DotNetTests/TestData/testoutput.dat:
        * src/Doxyfile:
        * src/Examples:
        * src/Examples/Examples:
        * src/Examples/Examples.mpc:
        * src/Examples/Examples/CommandArgHandler.h:
        * src/Examples/Examples/CommandArgParser.h:
        * src/Examples/Examples/CommandArgParser.cpp:
        * src/Examples/Examples/ExamplesPch.h:
        * src/Examples/Examples/ExamplesPch.cpp:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/Examples/StopWatch.h:
        * src/Examples/FileToMulticast:
        * src/Examples/FileToMulticast/FileToMulticast.h:
        * src/Examples/FileToMulticast/FileToMulticast.cpp:
        * src/Examples/FileToMulticast/main.cpp:
        * src/Examples/FileToTCP:
        * src/Examples/FileToTCP/FileToTCP.h:
        * src/Examples/FileToTCP/FileToTCP.cpp:
        * src/Examples/FileToTCP/main.cpp:
        * src/Examples/InterpretFAST:
        * src/Examples/InterpretFAST/InterpretFAST.h:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Examples/InterpretFAST/main.cpp:
        * src/Examples/MulticastDecoder:
        * src/Examples/MulticastDecoder/MulticastDecoder.h:
        * src/Examples/MulticastDecoder/MulticastDecoder.cpp:
        * src/Examples/MulticastDecoder/main.cpp:
        * src/Examples/PerformanceTest:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/MessageCounter.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.h:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Examples/PerformanceTest/main.cpp:
        * src/Messages:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldIdentity.cpp:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/FieldSet_fwd.h:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        * src/Messages/Field_fwd.h:
        * src/Messages/Group.h:
        * src/Messages/Group_fwd.h:
        * src/Messages/Message.h:
        * src/Messages/Message.cpp:
        * src/Messages/MessageField.h:
        * src/Messages/MessageField_fwd.h:
        * src/Messages/Message_fwd.h:
        * src/Messages/Sequence.h:
        * src/Messages/Sequence_fwd.h:
        * src/QuickFAST.mpc:
        * src/Tests:
        * src/Tests/DataDestinationMock.h:
        * src/Tests/FieldInstructionMock.h:
        * src/Tests/main.cpp:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Tests/testIntegerFields.cpp:
        * src/Tests/testPresenceMap.cpp:
        * src/Tests/testStringFields.cpp:
        * src/Tests/testXMLTemplateParser.cpp:
        Moving project to Google Code

Wed Jan 28 19:08:36 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/QuickFASTPch.cpp:
        * QuickFASTPch.cpp:
        Clean up after rename
Wed Jan 28 19:06:55 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNetTests/DecimalTests.cs:
        * src/DotNetTests/EncodeDecodeTests.cs:
        * src/DotNetTests/FieldTests.cs:
        * src/DotNetTests/MessageTests.cs:
        * src/DotNetTests/PrerequisitsTests.cs:

        * src/DotNetTests/Properties/AssemblyInfo.cs:

        * src/DotNetTests/QuickFASTDotNetTests.mpc:
        Continuing to rename
Wed Jan 28 19:01:24 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.mwc:
        * src/Common/QuickFASTPch.h:
        * src/Common/QuickFAST_Export.h:
        * src/QuickFAST.mpc:
        * QuickFASTPch.h:
        * QuickFAST_Export.h:
        Clean up after move
Wed Jan 28 18:38:40 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/DotNet/QuickFASTDotNet.mpc:
        * src/DotNetTests/QuickFASTDotNetTests.mpc:
        * src/DotNet/FASTPitchDotNet.mpc:
        * src/DotNetTests/FASTPitchDotNetTests.mpc:
        Continuing to rename FASTPitch->QuickFAST

Wed Jan 28 18:11:12 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * QuickFAST.features:
        * QuickFAST.mpc:
        * QuickFAST.mwc:
        * QuickFASTApplication.mpb:
        * QuickFASTDotNet:
        * QuickFASTDotNet/AssemblyInfo.cpp:
        * QuickFASTDotNet/DataDestination.h:
        * QuickFASTDotNet/Decimal.h:
        * QuickFASTDotNet/Decoder.h:
        * QuickFASTDotNet/Decoder.cpp:
        * QuickFASTDotNet/Encoder.h:
        * QuickFASTDotNet/Encoder.cpp:
        * QuickFASTDotNet/Exceptions.h:
        * QuickFASTDotNet/FASTPitchDotNet.mpc:
        * QuickFASTDotNet/Field.h:
        * QuickFASTDotNet/Field.cpp:
        * QuickFASTDotNet/FieldIdentity.h:
        * QuickFASTDotNet/FieldIdentity.cpp:
        * QuickFASTDotNet/FieldSet.h:
        * QuickFASTDotNet/FieldSet.cpp:
        * QuickFASTDotNet/Message.h:
        * QuickFASTDotNet/Message.cpp:
        * QuickFASTDotNet/ReadMe.txt:
        * QuickFASTDotNet/Sequence.h:
        * QuickFASTDotNet/Sequence.cpp:
        * QuickFASTDotNet/Stdafx.h:
        * QuickFASTDotNet/Stdafx.cpp:
        * QuickFASTDotNet/TemplateRegistry.h:
        * QuickFASTDotNet/TemplateRegistry.cpp:
        * QuickFASTDotNetTests:
        * QuickFASTDotNetTests/DecimalTests.cs:
        * QuickFASTDotNetTests/EncodeDecodeTests.cs:
        * QuickFASTDotNetTests/FASTPitchDotNetTests.mpc:
        * QuickFASTDotNetTests/FieldTests.cs:
        * QuickFASTDotNetTests/MessageTests.cs:
        * QuickFASTDotNetTests/PrerequisitsTests.cs:
        * QuickFASTDotNetTests/Properties/AssemblyInfo.cs:
        * QuickFASTExample.mpb:
        * QuickFASTPch.h:
        * QuickFASTPch.cpp:
        * QuickFAST_Export.h:
        * license.txt:
        * m.cmd:
        * setup.cmd:
        * setup.sh:
        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/Context_fwd.h:
        * src/Codecs/DataDestination.h:
        * src/Codecs/DataDestinationString.h:
        * src/Codecs/DataDestinationString.cpp:
        * src/Codecs/DataDestination_fwd.h:
        * src/Codecs/DataSource.h:
        * src/Codecs/DataSource.cpp:
        * src/Codecs/DataSourceBuffer.h:
        * src/Codecs/DataSourceBuffer.cpp:
        * src/Codecs/DataSourceBufferedStream.h:
        * src/Codecs/DataSourceBufferedStream.cpp:
        * src/Codecs/DataSourceStream.h:
        * src/Codecs/DataSourceStream.cpp:
        * src/Codecs/DataSourceString.h:
        * src/Codecs/DataSourceString.cpp:
        * src/Codecs/DataSource_fwd.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Decoder_fwd.h:
        * src/Codecs/Dictionary.h:
        * src/Codecs/Dictionary.cpp:
        * src/Codecs/Dictionary_fwd.h:
        * src/Codecs/Encoder.h:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/Encoder_fwd.h:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionExponent.h:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Codecs/FieldInstruction_fwd.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOp.cpp:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/FieldOp_fwd.h:
        * src/Codecs/MessageConsumer.h:
        * src/Codecs/MessageConsumer_fwd.h:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:
        * src/Codecs/PresenceMap_fwd.h:
        * src/Codecs/SchemaElement.h:
        * src/Codecs/SchemaElement.cpp:
        * src/Codecs/SchemaElement_fwd.h:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/SegmentBody_fwd.h:
        * src/Codecs/SynchronousDecoder.h:
        * src/Codecs/SynchronousDecoder.cpp:
        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/TemplateRegistry_fwd.h:
        * src/Codecs/Template_fwd.h:
        * src/Codecs/XMLTemplateParser.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Codecs/XMLTemplateParser_fwd.h:
        * src/Common/Constants.h:
        * src/Common/Decimal.h:
        * src/Common/Decimal.cpp:
        * src/Common/Exceptions.h:
        * src/Common/Profiler.h:
        * src/Common/Profiler.cpp:
        * src/Common/Types.h:
        * src/Common/WorkingBuffer.h:
        * src/Common/WorkingBuffer.cpp:
        * src/Common/dllmain.cpp:
        * src/Doxyfile:
        * src/Examples/Examples.mpc:
        * src/Examples/Examples/CommandArgHandler.h:
        * src/Examples/Examples/CommandArgParser.h:
        * src/Examples/Examples/CommandArgParser.cpp:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/Examples/StopWatch.h:
        * src/Examples/FileToMulticast/FileToMulticast.h:
        * src/Examples/FileToMulticast/FileToMulticast.cpp:
        * src/Examples/FileToMulticast/main.cpp:
        * src/Examples/FileToTCP/FileToTCP.h:
        * src/Examples/FileToTCP/FileToTCP.cpp:
        * src/Examples/FileToTCP/main.cpp:
        * src/Examples/InterpretFAST/InterpretFAST.h:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Examples/InterpretFAST/main.cpp:
        * src/Examples/MulticastDecoder/MulticastDecoder.h:
        * src/Examples/MulticastDecoder/MulticastDecoder.cpp:
        * src/Examples/MulticastDecoder/main.cpp:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/MessageCounter.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.h:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Examples/PerformanceTest/main.cpp:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldIdentity.cpp:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/FieldSet_fwd.h:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        * src/Messages/Field_fwd.h:
        * src/Messages/Group.h:
        * src/Messages/Group_fwd.h:
        * src/Messages/Message.h:
        * src/Messages/Message.cpp:
        * src/Messages/MessageField.h:
        * src/Messages/MessageField_fwd.h:
        * src/Messages/Message_fwd.h:
        * src/Messages/Sequence.h:
        * src/Messages/Sequence_fwd.h:
        * src/Tests/DataDestinationMock.h:
        * src/Tests/FieldInstructionMock.h:
        * src/Tests/main.cpp:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Tests/testIntegerFields.cpp:
        * src/Tests/testPresenceMap.cpp:
        * src/Tests/testStringFields.cpp:
        * src/Tests/testXMLTemplateParser.cpp:
        * FASTPitch.features:
        * FASTPitch.mwc:
        * FASTPitchApplication.mpb:
        * FASTPitchExample.mpb:
        * src/Common/FASTPitchPch.h:
        * src/Common/FASTPitchPch.cpp:
        * src/Common/FASTPitch_Export.h:
        * src/FASTPitch.mpc:
        * src/FASTPitchDotNet:
        * src/FASTPitchDotNet/AssemblyInfo.cpp:
        * src/FASTPitchDotNet/DataDestination.h:
        * src/FASTPitchDotNet/DataDestination.cpp:
        * src/FASTPitchDotNet/DebugView.h:
        * src/FASTPitchDotNet/DebugView.cpp:
        * src/FASTPitchDotNet/Decimal.h:
        * src/FASTPitchDotNet/Decimal.cpp:
        * src/FASTPitchDotNet/Decoder.h:
        * src/FASTPitchDotNet/Decoder.cpp:
        * src/FASTPitchDotNet/Encoder.h:
        * src/FASTPitchDotNet/Encoder.cpp:
        * src/FASTPitchDotNet/Exceptions.h:
        * src/FASTPitchDotNet/Exceptions.cpp:
        * src/FASTPitchDotNet/FASTPitchDotNet.mpc:
        * src/FASTPitchDotNet/Field.h:
        * src/FASTPitchDotNet/Field.cpp:
        * src/FASTPitchDotNet/FieldIdentity.h:
        * src/FASTPitchDotNet/FieldIdentity.cpp:
        * src/FASTPitchDotNet/FieldSet.h:
        * src/FASTPitchDotNet/FieldSet.cpp:
        * src/FASTPitchDotNet/ManagedHelpers.h:
        * src/FASTPitchDotNet/Message.h:
        * src/FASTPitchDotNet/Message.cpp:
        * src/FASTPitchDotNet/ReadMe.txt:
        * src/FASTPitchDotNet/Sequence.h:
        * src/FASTPitchDotNet/Sequence.cpp:
        * src/FASTPitchDotNet/Stdafx.h:
        * src/FASTPitchDotNet/Stdafx.cpp:
        * src/FASTPitchDotNet/StlDotNet.h:
        * src/FASTPitchDotNet/TemplateRegistry.h:
        * src/FASTPitchDotNet/TemplateRegistry.cpp:
        * src/FASTPitchDotNet/UnmanagedPtr.h:
        * src/FASTPitchDotNet/UnmanagedPtr.cpp:
        * src/FASTPitchDotNet/app.ico:
        * src/FASTPitchDotNet/app.rc:
        * src/FASTPitchDotNet/resource.h:
        * src/FASTPitchDotNetTests:
        * src/FASTPitchDotNetTests/DecimalTests.cs:
        * src/FASTPitchDotNetTests/EncodeDecodeTests.cs:
        * src/FASTPitchDotNetTests/FASTPitchDotNetTests.mpc:
        * src/FASTPitchDotNetTests/FieldTests.cs:
        * src/FASTPitchDotNetTests/MessageTests.cs:
        * src/FASTPitchDotNetTests/PrerequisitsTests.cs:
        * src/FASTPitchDotNetTests/Properties:
        * src/FASTPitchDotNetTests/Properties/AssemblyInfo.cs:
        * src/FASTPitchDotNetTests/TestData:
        * src/FASTPitchDotNetTests/TestData/fixfast.dat:
        * src/FASTPitchDotNetTests/TestData/marketdata.out:
        * src/FASTPitchDotNetTests/TestData/templates.xml:
        * src/FASTPitchDotNetTests/TestData/testoutput.dat:
        g/FASTPitch/s//QuickFAST/

Tue Jan 27 19:44:49 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Tests/testIntegerFields.cpp:
        * src/Tests/testStringFields.cpp:
        Private constructors/public create methods for fields.

Mon Jan 26 22:48:59 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/Examples/StopWatch.h:
        * src/Examples/FileToMulticast/FileToMulticast.h:
        * src/Examples/FileToMulticast/FileToMulticast.cpp:
        * src/Examples/MulticastDecoder/MulticastDecoder.h:
        * src/Examples/MulticastDecoder/MulticastDecoder.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        Try to make the throttle in FileToMulticast more accurate.
        It's not, very.

Mon Jan 26 20:47:45 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/FileToMulticast/FileToMulticast.cpp:
        because Jonathan's change missed a call.

        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/Field_fwd.h:
        Playing with inline vs export on the intrusive pointer functions.

Mon Jan 26 20:03:48 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Common/Profiler.h:
        * src/Examples/Examples.mpc:
        * src/Examples/FileToMulticast/FileToMulticast.cpp:
        * src/Examples/FileToTCP/FileToTCP.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/Field_fwd.h:

          Fixed to compile under Linux.

        * src/Examples/FileToTCP/FileToTCP.h:
        * src/Examples/FileToTCP/FileToTcp.h:

          Renamed this file.

Mon Jan 26 19:59:35 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/FileToMulticast/FileToMulticast.h:
        * src/Examples/FileToMulticast/FileToMulticast.cpp:
        Add a throttle to FileToMulticast.   It solved the missing
        message problem, but it seems to slow things down too much.
        That being said, the MulticastDecoder is now reliably receiving
        all 9999 messages from the fixfast.dat test file being sent
        by FileToMulticast.

Sat Jan 24 01:29:43 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/MulticastDecoder/MulticastDecoder.h:
        * src/Examples/MulticastDecoder/MulticastDecoder.cpp:
        Multicast decoder now interprets the incoming messages.
        It's missing messages because the interpreter takes too long
        [FileToMulticast needs a throttle]

Sat Jan 24 00:47:53 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSourceBuffer.h:
        * src/Codecs/DataSourceBuffer.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Examples/Examples.mpc:
        * src/Examples/Examples/ExamplesPch.h:
        * src/Examples/Examples/MessageInterpreter.h:
        * src/Examples/Examples/MessageInterpreter.cpp:
        * src/Examples/FileToMulticast/FileToMulticast.h:
        * src/Examples/FileToMulticast/FileToMulticast.cpp:
        * src/Examples/FileToTCP/FileToTCP.cpp:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Examples/MulticastDecoder:
        * src/Examples/MulticastDecoder/MulticastDecoder.h:
        * src/Examples/MulticastDecoder/MulticastDecoder.cpp:
        * src/Examples/MulticastDecoder/main.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Examples/InterpretFAST/MessageInterpreter.h:
        * src/Examples/InterpretFAST/MessageInterpreter.cpp:
        * src/Examples/MulticastDecoder/FileToMulticast.h:
        * src/Examples/MulticastDecoder/FileToMulticast.cpp:
        Create Multicast Decoder
        Command line arguments are:
          -b size       : Size of largest expected message. (default 5000)
          -t file       : Template file (required)
          -o file       : Output file (defaults to standard out)
          -l dotted_ip  : Connection listen address (default is 0.0.0.0)
          -m dotted_ip  : Multicast address (default is 239.255.0.1)
          -p port       : Multicast port number (default 30001)
          -s            : Apply strict decoding rules.
          -e file       : Echo input to file
            -ehex         : Echo as hexadecimal (default).
            -eraw         : Echo as raw binary data
            -enone        : Do not echo data (boundaries only).
            -em           : Toggle 'echo message boundaries'(default true)
            -ef           : Toggle 'echo field boundaries'(default false)
          -vd           : Noise to the console decoding
          -vx           : Noise to the console about execution status
          -?: Display this information

Fri Jan 23 24:07:15 UTC 2009  Curt Campbell  <campbellc@ociweb.com>

        * src/FASTPitchDotNet/DebugView.cpp
        * src/FASTPitchDotNet/DebugView.h
        * src/FASTPitchDotNet/Exceptions.h
        * src/FASTPitchDotNet/Field.cpp
        * src/FASTPitchDotNet/Field.h
        * src/FASTPitchDotNet/FieldIdentity.cpp
        * src/FASTPitchDotNet/FieldIdentity.h
        * src/FASTPitchDotNet/FieldSet.cpp
        * src/FASTPitchDotNet/FieldSet.h
        * src/FASTPitchDotNet/Message.h
        * src/FASTPitchDotNet/Sequence.cpp
        * src/FASTPitchDotNet/Sequence.h
        * src/FASTPitchDotNet/TemplateRegistry.h
        * src/FASTPitchDotNetTests/DecimalTests.cs
        * src/FASTPitchDotNetTests/FieldTests.cs
        Did some code cleanup and added some debugging aids.

Fri Jan 23 21:44:11 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/FileToMulticast/FileToMulticast.cpp:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.h:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Examples/PerformanceTest/main.cpp:
        Performance Test gets a main and a command arg parser.
        Command line arguments are:
          -t file     : Template file (required)
          -f file     : FAST Message file (required)
          -p file     : File to which performance measurements are written. (default standard output)
          -profile file : File to which profiler statistics are written (very optional)
          -head n     : process only the first 'n' messages
          -c count    : repeat the test 'count' times
          -r          : Toggle 'reset decoder on every message' (default false).
          -s          : Toggle 'strict decoding rules' (default true).
          -?: Display this information


Fri Jan 23 20:20:12 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/FileToMulticast/FileToMulticast.h:
        * src/Examples/FileToMulticast/FileToMulticast.cpp:
        Implement FileToMulticast:
        Command line arguments are:
          -f datafile   : File containing FAST encoded messages. (required)
          -n indexfile  : File produced as an echo file with message boundaries
                          by the InterpretFAST program.
                          If no index file is specified, the datafile is treated as
                          a single message and must fit in one datagram.
          -a dotted_ip  : Multicast send address (default is 239.255.0.1)
          -c count      : How many times to send the file (passes)
                          (default 0 means forever.)
          -p port       : Multicast port number (default 30001)
          -pausemessage : Wait for 'Enter' before every message.
          -pausepass    : Wait for 'Enter' before every pass.
          -v            : Noise to the console while it runs
          -?: Display this information

Fri Jan 23 17:54:10 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/Examples.mpc:
        * src/Examples/FileToMulticast:
        * src/Examples/FileToMulticast/FileToMulticast.h:
        * src/Examples/FileToMulticast/FileToMulticast.cpp:
        * src/Examples/FileToMulticast/main.cpp:
        * src/Examples/FileToMulticast/FileToTCP.cpp:
        * src/Examples/FileToMulticast/FileToTcp.h:
          Replicate FileToTcp as FileToMulticast

>>>>>>> .r4520
Fri Jan 23 16:22:02 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * bin/insertBlocks.py:
        Clean up the script

        * src/Codecs/SynchronousDecoder.cpp:
        * src/Examples/FileToTCP/FileToTCP.cpp:
        * src/Examples/FileToTCP/main.cpp:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Examples/InterpretFAST/MessageInterpreter.cpp:
        * src/Examples/InterpretFAST/main.cpp:
        * src/Examples/PerformanceTest/MessageCounter.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        Clean up comments, etc.  No functional changes.

Fri Jan 23 01:21:45 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * bin:
        * bin/insertBlocks.py:
        Python script adds block sizes to a FAST encoded data file.
        Uses information from echo file captured while the file was
        being decoded.

Fri Jan 23 01:19:47 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSource.cpp:
        * src/Codecs/Decoder.cpp:
        * src/Examples/FileToTCP/FileToTCP.cpp:
        * src/Examples/FileToTCP/FileToTcp.h:
        * src/Examples/FileToTCP/main.cpp:
        * src/Examples/InterpretFAST/InterpretFAST.h:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Examples/InterpretFAST/main.cpp:
        Implement FileToTCP for testing.

Thu Jan 22 18:57:11 UTC 2009  Curt Campbell  <campbellc@ociweb.com>

        * src/FASTPitchDotNet/DataDestination.cpp
        * src/FASTPitchDotNet/DataDestination.h
        * src/FASTPitchDotNet/Decimal.cpp
        * src/FASTPitchDotNet/Decimal.h
        * src/FASTPitchDotNet/Exceptions.cpp
        * src/FASTPitchDotNet/Exceptions.h
        * src/FASTPitchDotNet/FieldIdentity.cpp
        * src/FASTPitchDotNet/FieldIdentity.h
        * src/FASTPitchDotNetTests/DecimalTests.cs
        * src/FASTPitchDotNetTests/EncodeDecodeTests.cs
        * src/FASTPitchDotNetTests/FieldTests.cs
        * src/FASTPitchDotNetTests/PrerequisitsTests.cs

        Added copyright text to the top of the files.

Thu Jan 22 18:13:12 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * FASTPitchExample.mpb:
        Add dependency on src/Examples/Examples

        * setup.cmd:
        Verify correct environment sets

        * src/Examples/InterpretFAST/InterpretFAST.h:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Examples/InterpretFAST/main.cpp:
        Separate main from InterpretFAST functionality

Thu Jan 22 17:18:25 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/Examples/CommandArgParser.h:
        * src/Examples/Examples/CommandArgParser.cpp:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        Add command line options for InterpretFast
         Command line arguments are:
          -t file     : Template file (required)
          -f file     : FAST Message file (required)
          -o file     : Output file (defaults to standard out)
          -e file     : Echo input to file
            -ehex       : Echo as hexadecimal (default).
            -eraw       : Echo as raw binary data
            -enone      : Do not echo data (boundaries only).
            -em         : Toggle 'echo message boundaries'(default true)
            -ef         : Toggle 'echo field boundaries'(default false)
          -head n     : process only the first 'n' messages
          -r          : Toggle 'reset decoder on every message' (default false).
          -s          : Toggle 'strict decoding rules' (default true).
          -vp         : Toggle 'noisy template parsing' (default false).
          -vd         : Toggle 'noisy decoding' (default false).
          -vx         : Toggle 'noisy execution progress' (default false).
          -?: Display this information



Thu Jan 22 16:57:15 UTC 2009  Curt Campbell  <campbellc@ociweb.com>

        * src/FASTPitchDotNetTests/DecimalTests.cs
        * src/FASTPitchDotNetTests/FieldTests.cs
        Added test categories which will show up in NUnit

        * src/FASTPitchDotNetTests/EncodeDecodeTests.cs
        * src/FASTPitchDotNetTests/PrerequisitsTests.cs
        * src/FASTPitchDotNetTests/TestData
        * src/FASTPitchDotNetTests/TestData/fixfast.dat
        * src/FASTPitchDotNetTests/TestData/marketdata.out
        * src/FASTPitchDotNetTests/TestData/templates.xml
        * src/FASTPitchDotNetTests/TestData/testoutput.dat
        Added to source control

Wed Jan 21 23:39:34 UTC 2009  Curt Campbell  <campbellc@ociweb.com>

        * src/FASTPitchDotNet/DataDestination.h
        * src/FASTPitchDotNet/Encoder.cpp
        * src/FASTPitchDotNet/Encoder.h
        * src/FASTPitchDotNet/Stdafx.h
        Wrapped the encoding functionality

Wed Jan 21 23:35:04 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/SynchronousDecoder.h:
        * src/Common/Profiler.h:
        * src/Examples/Examples/CommandArgHandler.h:
        * src/Examples/Examples/CommandArgParser.h:
        * src/Examples/Examples/CommandArgParser.cpp:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        Add common command line parser to examples.

Wed Jan 21 19:00:36 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/DataSource.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/MessageConsumer.h:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/SynchronousDecoder.h:
        * src/Codecs/SynchronousDecoder.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/XMLTemplateParser.h:
        * src/Common/Profiler.h:
        * src/Examples/InterpretFAST/MessageInterpreter.h:
        * src/Examples/InterpretFAST/MessageInterpreter.cpp:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/MessageCounter.cpp:
        * src/Messages/Field.h:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/Field_fwd.h:
        * src/Messages/MessageField.h:
        Update documentation.  Doxygen is clean again.

Wed Jan 21 16:07:57 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Encoder.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Common/FASTPitchPch.h:
        * src/Common/Profiler.h:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/Field_fwd.h:
        * src/Messages/MessageField.h:
        Profiling and performance improvements in the decoder:
        Before:
          Decoded 9999 messages in 4250 milliseonds.
          [0.425 msec/message. = 2352.706 messages/second]
        As checked in:
          Decoded 9999 messages in 2734 milliseonds.
          [0.273 msec/message. = 3657.279 messages/second]
        With some unsafe code in MessageField.h enabled:
          Decoded 9999 messages in 1343 milliseonds.
          [0.134 msec/message. = 7445.272 messages/second]
         -- we need to figure out how to make this safe,
            but still fast.

Wed Jan 21 14:50:22 UTC 2009  Curt Campbell  <campbellc@ociweb.com>

        * src/FASTPitchDotNetTests/UnitTests.cs
        Removed from source control

        * src/FASTPitchDotNet/DataDestination.cpp
        * src/FASTPitchDotNet/DataDestination.h
        * src/FASTPitchDotNet/Exceptions.cpp
        * src/FASTPitchDotNet/Exceptions.h
        Added to source control

        * src/FASTPitchDotNetTests/DecimalTests.cs
        * src/FASTPitchDotNetTests/FieldTests.cs
        * src/FASTPitchDotNet/Decoder.cpp
        * src/FASTPitchDotNet/Encoder.cpp
        * src/FASTPitchDotNet/Encoder.h
        * src/FASTPitchDotNet/Field.h
        * src/FASTPitchDotNet/Stdafx.h
        * src/FASTPitchDotNet/FASTPitchDotNet.mpc

        Incremental check-in.  Added unit tests and exception
        handling.  Started implementing the Encoder wrapper.

Mon Jan 19 21:06:50 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSourceBufferedStream.h:
        * src/Codecs/DataSourceBufferedStream.cpp:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Dictionary.h:
        * src/Codecs/Dictionary.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/SynchronousDecoder.h:
        * src/Codecs/SynchronousDecoder.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Common/FASTPitchPch.h:
        * src/Common/Profiler.h:
        * src/Common/Profiler.cpp:
        * src/Examples/Examples/ExamplesPch.h:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/FASTPitchDotNet/FieldSet.cpp:
        * src/FASTPitchDotNet/Message.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/Message.h:
        * src/Messages/Message.cpp:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        First performance test results were horrid.
        Add a mini profiler, and use it to improve performance.

Mon Jan 19 14:07:32 UTC 2009  Curt Campbell  <campbellc@ociweb.com>

        * src/FASTPitchDotNetTests/UnitTests.cs
        Added additional unit tests

Sat Jan 17 18:53:30 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Examples/Examples/ExamplesPch.h:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/MessageCounter.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        Add some substance to the Performance test.

Sat Jan 17 01:53:57 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/DataSource.h:
        * src/Codecs/DataSource.cpp:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:

          Made an enumerated type to handle RAW, HEX, or NONE as
          echo styles.

Fri Jan 16 21:40:07 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/SchemaElement.h:
        * src/Codecs/SchemaElement.cpp:
        * src/Codecs/SynchronousDecoder.h:
        * src/Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Examples/InterpretFAST/MessageInterpreter.h:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:

          Getting things to compile on Linux.

        * src/Tests/testXMLTemplateParser.cpp:

          Added one more item to the test.

Fri Jan 16 20:43:14 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Examples/Examples.mpc:
        * src/Examples/PerformanceTest:
        * src/Examples/PerformanceTest/MessageCounter.h:
        * src/Examples/PerformanceTest/MessageCounter.cpp:
        * src/Examples/PerformanceTest/PerformanceTest.cpp:
        * src/Examples/PerformanceTest/InterpretFAST.cpp:
        * src/Examples/PerformanceTest/MessageInterpreter.h:
        * src/Examples/PerformanceTest/MessageInterpreter.cpp:
        Add Performance Test (rudamentary so far.)
Fri Jan 16 19:38:45 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * FASTPitch.features:
        * FASTPitch.mwc:
        * FASTPitchApplication.mpb:
        * FASTPitchExample.mpb:
        * src/Examples:
        * src/Examples/Examples.mpc:
        * Examples:
        Moved Examples into src.
        Add mpb files for FASTPitchApplication and Example


Fri Jan 16 18:15:44 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * Examples/Examples/ExamplesPch.h:
        * Examples/InterpretFAST/InterpretFAST.cpp:
        Clean up some #includes

Fri Jan 16 18:11:15 UTC 2009  Curt Campbell <campbellc@ociweb.com>

        * src/Common/Decimal.cpp
        Made getMantissa() and getExponent() const methods

        * src/Common/Decimal.h
        * src/FASTPitchDotNet/Field.cpp
        * src/FASTPitchDotNet/Field.h
        * src/FASTPitchDotNet/FieldIdentity.h
        * src/FASTPitchDotNet/FieldSet.cpp
        * src/FASTPitchDotNet/FieldSet.h
        * src/FASTPitchDotNet/Sequence.cpp
        * src/FASTPitchDotNet/StlDotNet.h

        FASTPitchDotNet now wraps enough of the FASTPitchLibrary
        to decode messages from .NET code.
        Fixed some bugs discovered during testing.

        * src/FASTPitchDotNet/Decimal.cpp
        * src/FASTPitchDotNet/Decimal.h
        Added to source control

Fri Jan 16 18:06:51 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * Examples/InterpretFAST/InterpretFAST.cpp:

        * src/Codecs/DataSource.h:
        * src/Codecs/DataSource.cpp:
        * src/Codecs/MessageConsumer.h:
        * src/Codecs/MessageConsumer_fwd.h:
        * src/Codecs/SynchronousDecoder.h:
        * src/Codecs/SynchronousDecoder.cpp:
        Document Synchronous decoder (and fix it to match the doc 8-) )

Fri Jan 16 16:19:32 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * Examples/InterpretFAST/InterpretFAST.cpp:
        * Examples/InterpretFAST/MessageInterpreter.h:
        * src/Codecs/MessageConsumer.h:
        * Examples/Examples/MessageConsumer.h:
        Move MessageConsumer into Codecs


Fri Jan 16 16:15:21 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * Examples/Examples/MessageConsumer.h:
        * Examples/InterpretFAST/InterpretFAST.cpp:
        * Examples/InterpretFAST/MessageInterpreter.h:
        * Examples/InterpretFAST/MessageInterpreter.cpp:
        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/DataSourceStream.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        * Examples/Examples/MessageHandler.h:
        Intermediate step in cleaning up InterpretFAST.



Fri Jan 16 15:35:56 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/DataSourceStream.cpp:

          Changed to not set the stream to binary; this is not allowed
          according to the C++ standard.

        * src/Tests/testFieldInstructions.cpp:

          Updated to open the stream in binary mode before
          creating a DataSourceStream.

Thu Jan 15 23:04:03 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/DataSource.h:
        * src/Codecs/DataSource.cpp:
        * src/Codecs/DataSourceStream.cpp:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:
        * src/Common/FASTPitchPch.h:
        * src/Tests/testPresenceMap.cpp:
        Test against CME data:
        Input file should be open in binary mode (check Linux)
        Use get rather than >> to read an unsigned byte "%^&* iostreams"
        PMap wasn't growing properly.  Q: Why did it need to grow?
          Check the presence map bit count calculations using
          CME template #73.
       Given these fixes, all records decode without errors, and
       the first three records' data matches the results produced
       by OpenFAST.


Thu Jan 15 16:28:48 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * Examples/InterpretFAST/InterpretFAST.cpp:
        * Examples/InterpretFAST/MessageInterpreter.h:
        * Examples/InterpretFAST/MessageInterpreter.cpp:

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        Continuing to debug the fourth record problem.

Wed Jan 14 2009 Curt Campbell  <campbellc@ociweb.com>

        * src/FASTPitchDotNet/Field.cpp
        * src/FASTPitchDotNet/FieldSet.cpp
        * src/FASTPitchDotNet/FieldSet.h
        * src/FASTPitchDotNet/Sequence.cpp
        * src/FASTPitchDotNet/Sequence.h
        * src/FASTPitchDotNet/StlDotNet.h
        * src/FASTPitchDotNet/TemplateRegistry.cpp

        Ready initial testing. Made a change to the
        StreamBuf class to allow it to support position seeking.
        Updated the setup.cmd documenting the NUnit dependency in FASTPitchDotNetTests.

Wed Jan 14 23:51:29 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * Examples/InterpretFAST/InterpretFAST.cpp:
        * Examples/InterpretFAST/MessageInterpreter.h:
        * Examples/InterpretFAST/MessageInterpreter.cpp:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/SchemaElement.h:
        * src/Codecs/SchemaElement.cpp:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        Interprets the first three records "correctly" (I haven't checked the data values, yet.)
        Fails on the fourth record.


Wed Jan 14 20:39:56 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * Examples/Examples/MessageHandler.h:
        * Examples/InterpretFAST/InterpretFAST.cpp:

          Fixed minor errors to get things compiling under Linux.

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Tests/testXMLTemplateParser.cpp:

          Added a getFieldOp method.

Wed Jan 14 20:33:38 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * Examples/Examples/MessageHandler.h:
        * Examples/InterpretFAST/InterpretFAST.cpp:
        * Examples/InterpretFAST/MessageInterpreter.h:
        * Examples/InterpretFAST/MessageInterpreter.cpp:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        Start fleshing out the InterpretFAST example program.

Wed Jan 14 18:46:22 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/XMLTemplateParser.cpp:

          Fixed constant and default fieldOps to only parse
          attributes allowed by the spec.

Wed Jan 14 18:28:59 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Codecs/XMLTemplateParser.h:
        * src/Codecs/XMLTemplateParser.cpp:
        Add verbose option to parser
        Fix <sequence><length/></sequence> problem in which the
        length was being rejected.

Wed Jan 14 18:26:12 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSourceStream.h:
        * src/Codecs/DataSourceString.h:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionExponent.h:
        * src/Codecs/FieldInstructionMantissa.h:
        * src/Codecs/PresenceMap.h:
        Documentation updates, no functional change.

Wed Jan 14 16:08:37 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/XMLTemplateParser.cpp:
        * src/Tests/testXMLTemplateParser.cpp:

          Added some missing attributes and fixed some bugs.

Tue Jan 13 22:53:43 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/SegmentBody.cpp:
        * src/Tests/testXMLTemplateParser.cpp:

          Exposing some bugs with unit testing.

Tue Jan 13 17:41:07 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Tests/testXMLTemplateParser.cpp:

          Updated to avoid run-time exceptions.

Tue Jan 13 16:43:13 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/SchemaElement.h:
        * src/Codecs/SchemaElement.cpp:
        * src/Codecs/SchemaElement_fwd.h:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/XMLTemplateParser.h:
        * src/Messages/Field.h:
        Update Doxygen comments to reflect recent work.
        At this point doxygen runs with no errors or warnings.

Tue Jan 13 16:36:33 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/XMLTemplateParser.cpp:

          Added TemplateRef instruction.

Tue Jan 13 16:10:37 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/SchemaElement.h:
        * src/Codecs/SchemaElement.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        Housecleaning after yesterday's coding frenzy.

Tue Jan 13 12:40:09 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * Examples/FileToTCP/FileToTCP.cpp:
        * src/Codecs/XMLTemplateParser.cpp:

          Getting things to compile under Linux.

Tue Jan 13 03:42:31 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * Examples/FileToTCP:
        * Examples/FileToTCP/FileToTCP.cpp:
        Doesn't do anything yet, but I accidently committed the changed MPC file so...


Tue Jan 13 03:38:07 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldOp.h:
        Missed this one iprevious commit


Tue Jan 13 03:29:59 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * Examples/Examples.mpc:

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/SchemaElement.h:
        * src/Codecs/SchemaElement.cpp:
        * src/Codecs/SchemaElementVisitor.h:
        * src/Codecs/SchemaElement_fwd.h:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/Template.h:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/XMLParsingVisitor.h:
        * src/Codecs/XMLTemplateParser.h:
        * src/Codecs/XMLTemplateParser.cpp:

        * src/Common/FASTPitchPch.h:

        * src/Tests/testXMLTemplateParser.cpp:

Mon Jan 12 22:27:58 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOp.cpp:
        * src/Codecs/XMLParsingVisitor.h:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        Moved Op Context information from FieldInstruction to FieldOp.

Mon Jan 12 20:01:06 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/Message.h:
        Add copy constructor and swap operator to Message & FieldSet.

Mon Jan 12 16:48:48 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * FASTPitch.features:
        Support disabling .NET testing if nunit not installed

Fri Jan  9 21:50:20 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * FASTPitch.mwc:
        Disable .net testing if nunit not installed

        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/SchemaElementVisitor.h:
        * src/Codecs/XMLParsingVisitor.h:
        * src/FASTPitchDotNetTests/FASTPitchDotNetTests.mpc:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Tests/testIntegerFields.cpp:
        * src/Tests/testStringFields.cpp:
        Add and use FieldType enum

Fri Jan  9 17:02:33 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/XMLParsingVisitor.h:
        * src/Tests/testXMLTemplateParser.cpp:

          Added XML parsing code for constant operator.

Fri Jan  9 16:00:00 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/SchemaElementVisitor.h:
        * src/Codecs/XMLParsingVisitor.h:
        * src/Codecs/XMLTemplateParser.cpp:

          Added more XML parsing code.

Fri Jan  9 15:11:39 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionInteger.h:
        Implement the no-argument constructor.

Thu Jan  8 23:30:26 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSource.h:
        * src/Codecs/DataSource.cpp:
        * src/Codecs/DataSourceStream.h:
        * src/Codecs/DataSourceStream.cpp:
        * src/Codecs/DataSourceString.h:
        * src/Codecs/DataSourceString.cpp:
        * src/FASTPitchDotNet/Decoder.h:
        Change the interface of DataSource as a step toward
        eventual tcp and multicast support.

Thu Jan  8 22:06:04 UTC 2009  Dale Wilson  <wilsond@ociweb.com>
        * src/Messages/FieldSet.h:
        Virtual destructor

Thu Jan  8 20:27:43 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Messages/FieldIdentity.h:
        Clean up doxygen after anon. field instruction change

Thu Jan  8 20:18:11 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Common/FASTPitchPch.h:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldIdentity.cpp:
        * src/Messages/Sequence.h:
        Allow anonomous field instructions and add setName, setNamespace, getLocalName, and getNamespace to field instruction

Thu Jan  8 18:53:33 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Messages/Field.h:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt64.h:
        * src/Messages/MessageField.h:
        * src/Messages/Sequence.h:
        Doxygen is happy except for the XML stuff under development

Thu Jan  8 17:34:57 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/SchemaElement.h:
        * src/Codecs/SchemaElement.cpp:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        Add virtual methods to SchemaElement

        * src/Codecs/Template.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/XMLParsingVisitor.h:
        * src/Doxyfile:
        Continuing the documentation effort

Wed Jan  7 23:21:21 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Common/FASTPitchPch.h:
        * src/Messages/FieldSet.h:
        * src/Messages/Group.h:
        * src/Messages/Group_fwd.h:
        Even more doxygen

Wed Jan  7 22:36:57 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/DataDestination.h:
        * src/Codecs/DataDestinationString.h:
        * src/Codecs/DataDestination_fwd.h:
        * src/Codecs/DataSourceStream.h:
        * src/Codecs/DataSourceString.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Dictionary.h:
        * src/Codecs/Dictionary.cpp:
        * src/Codecs/Encoder.h:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionExponent.h:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Common/Decimal.h:
        * src/Common/Exceptions.h:
        * src/Common/FASTPitchPch.h:
        * src/Common/Types.h:
        * src/Doxyfile:
        * src/Messages/Field.h:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUtf8.h:
        * src/Messages/Group.h:
        * src/Messages/Sequence.h:
        More Doxygen

Wed Jan  7 20:16:44 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * Examples/Examples.mpc:
        * Examples/Examples/ExamplesPch.h:
        * src/FASTPitch.mpc:

          Fixed some Linux build errors.

        * src/Codecs/SchemaElement.h:
        * src/Codecs/SchemaElementVisitor.h:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/Template.h:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/XMLParsingVisitor.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Codecs/DefaultXMLAttributeAdapter.h:

          Started performing a refactoring and adding a proper visitor pattern.

Wed Jan  7 18:38:56 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * Doc/FieldRules.xls:
        Add manually generated test coverage info.

        * src/Common/Exceptions.h:
        * src/Common/FASTPitchPch.h:
        * src/Common/WorkingBuffer.h:
        * src/Doxyfile:
        * src/Messages/Field.h:
        * src/Messages/FieldUtf8.h:
        * src/Tests/testFieldInstructions.cpp:
        Update documentation

Tue Jan  6 05:33:33 UTC 2009  Jonathan Pollack  <pollack_j@ociweb.com>

        * Examples/Examples/ExamplesPch.h:
        * Examples/Examples/ExamplesPch.cpp:
        * Examples/InterpretFAST/InterpretFAST.cpp:
        * FASTPitch.mwc:
        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/Context_fwd.h:
        * src/Codecs/DataDestination.h:
        * src/Codecs/DataDestinationString.h:
        * src/Codecs/DataDestinationString.cpp:
        * src/Codecs/DataDestination_fwd.h:
        * src/Codecs/DataSource.h:
        * src/Codecs/DataSourceStream.h:
        * src/Codecs/DataSourceStream.cpp:
        * src/Codecs/DataSourceString.h:
        * src/Codecs/DataSourceString.cpp:
        * src/Codecs/DataSource_fwd.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Decoder_fwd.h:
        * src/Codecs/DefaultXMLAttributeAdapter.h:
        * src/Codecs/Dictionary.h:
        * src/Codecs/Dictionary.cpp:
        * src/Codecs/Dictionary_fwd.h:
        * src/Codecs/Encoder.h:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/Encoder_fwd.h:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionExponent.h:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Codecs/FieldInstruction_fwd.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/FieldOp_fwd.h:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:
        * src/Codecs/PresenceMap_fwd.h:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/SegmentBody_fwd.h:
        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/TemplateRegistry_fwd.h:
        * src/Codecs/Template_fwd.h:
        * src/Codecs/XMLTemplateParser.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Codecs/XMLTemplateParser_fwd.h:
        * src/Common/Constants.h:
        * src/Common/Decimal.h:
        * src/Common/Decimal.cpp:
        * src/Common/Exceptions.h:
        * src/Common/FASTPitchPch.h:
        * src/Common/FASTPitchPch.cpp:
        * src/Common/FASTPitch_Export.h:
        * src/Common/Types.h:
        * src/Common/WorkingBuffer.h:
        * src/Common/WorkingBuffer.cpp:
        * src/Common/dllmain.cpp:
        * src/FASTPitchDotNet/AssemblyInfo.cpp:
        * src/FASTPitchDotNet/FASTPitchDotNet.cpp:
        * src/FASTPitchDotNet/Field.cpp:
        * src/FASTPitchDotNet/Sequence.h:
        * src/FASTPitchDotNet/Stdafx.h:
        * src/FASTPitchDotNet/Stdafx.cpp:
        * src/FASTPitchDotNet/UnmanagedPtr.cpp:
        * src/FASTPitchDotNet/resource.h:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/FieldSet_fwd.h:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        * src/Messages/Field_fwd.h:
        * src/Messages/Group.h:
        * src/Messages/Group_fwd.h:
        * src/Messages/Message.h:
        * src/Messages/Message.cpp:
        * src/Messages/MessageField.h:
        * src/Messages/MessageField_fwd.h:
        * src/Messages/Message_fwd.h:
        * src/Messages/Sequence.h:
        * src/Messages/Sequence_fwd.h:
        * src/Tests/DataDestinationMock.h:
        * src/Tests/FieldInstructionMock.h:
        * src/Tests/main.cpp:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Tests/testIntegerFields.cpp:
        * src/Tests/testPresenceMap.cpp:
        * src/Tests/testStringFields.cpp:
        * src/Tests/testXMLTemplateParser.cpp:

          Fixed build errors from prior checkins.

Mon Jan  5 23:58:43 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * license.txt:
        Add license information.

        * Examples/Examples/ExamplesPch.h:
        * Examples/Examples/ExamplesPch.cpp:
        * Examples/InterpretFAST/InterpretFAST.cpp:
        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/Context_fwd.h:
        * src/Codecs/DataDestination.h:
        * src/Codecs/DataDestinationString.h:
        * src/Codecs/DataDestinationString.cpp:
        * src/Codecs/DataDestination_fwd.h:
        * src/Codecs/DataSource.h:
        * src/Codecs/DataSourceStream.h:
        * src/Codecs/DataSourceStream.cpp:
        * src/Codecs/DataSourceString.h:
        * src/Codecs/DataSourceString.cpp:
        * src/Codecs/DataSource_fwd.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Decoder_fwd.h:
        * src/Codecs/DefaultXMLAttributeAdapter.h:
        * src/Codecs/Dictionary.h:
        * src/Codecs/Dictionary.cpp:
        * src/Codecs/Dictionary_fwd.h:
        * src/Codecs/Encoder.h:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/Encoder_fwd.h:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionExponent.h:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Codecs/FieldInstruction_fwd.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/FieldOp_fwd.h:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:
        * src/Codecs/PresenceMap_fwd.h:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/SegmentBody_fwd.h:
        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/TemplateRegistry_fwd.h:
        * src/Codecs/Template_fwd.h:
        * src/Codecs/XMLTemplateParser.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Codecs/XMLTemplateParser_fwd.h:
        * src/Common/Constants.h:
        * src/Common/Decimal.h:
        * src/Common/Decimal.cpp:
        * src/Common/Exceptions.h:
        * src/Common/FASTPitchPch.h:
        * src/Common/FASTPitchPch.cpp:
        * src/Common/FASTPitch_Export.h:
        * src/Common/Types.h:
        * src/Common/WorkingBuffer.h:
        * src/Common/WorkingBuffer.cpp:
        * src/Common/dllmain.cpp:
        * src/FASTPitchDotNet/AssemblyInfo.cpp:
        * src/FASTPitchDotNet/Decoder.h:
        * src/FASTPitchDotNet/Decoder.cpp:
        * src/FASTPitchDotNet/Encoder.h:
        * src/FASTPitchDotNet/Encoder.cpp:
        * src/FASTPitchDotNet/FASTPitchDotNet.h:
        * src/FASTPitchDotNet/FASTPitchDotNet.cpp:
        * src/FASTPitchDotNet/Field.h:
        * src/FASTPitchDotNet/Field.cpp:
        * src/FASTPitchDotNet/FieldSet.h:
        * src/FASTPitchDotNet/FieldSet.cpp:
        * src/FASTPitchDotNet/Message.h:
        * src/FASTPitchDotNet/Message.cpp:
        * src/FASTPitchDotNet/Sequence.h:
        * src/FASTPitchDotNet/Sequence.cpp:
        * src/FASTPitchDotNet/Stdafx.h:
        * src/FASTPitchDotNet/Stdafx.cpp:
        * src/FASTPitchDotNet/TemplateRegistry.h:
        * src/FASTPitchDotNet/TemplateRegistry.cpp:
        * src/FASTPitchDotNet/UnmanagedPtr.h:
        * src/FASTPitchDotNet/UnmanagedPtr.cpp:
        * src/FASTPitchDotNet/resource.h:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/FieldSet_fwd.h:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        * src/Messages/Field_fwd.h:
        * src/Messages/Group.h:
        * src/Messages/Group_fwd.h:
        * src/Messages/Message.h:
        * src/Messages/Message.cpp:
        * src/Messages/MessageField.h:
        * src/Messages/MessageField_fwd.h:
        * src/Messages/Message_fwd.h:
        * src/Messages/Sequence.h:
        * src/Messages/Sequence_fwd.h:
        * src/Tests/DataDestinationMock.h:
        * src/Tests/FieldInstructionMock.h:
        * src/Tests/main.cpp:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Tests/testIntegerFields.cpp:
        * src/Tests/testPresenceMap.cpp:
        * src/Tests/testStringFields.cpp:
        * src/Tests/testXMLTemplateParser.cpp:
        Add copyright notices and license file reference to all C++ source files.

Mon Jan  5 22:27:22 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * Examples:
        * Examples/Examples:
        * Examples/Examples.mpc:
        * Examples/Examples/ExamplesPch.h:
        * Examples/Examples/ExamplesPch.cpp:
        * Examples/InterpretFAST:
        * Examples/InterpretFAST/InterpretFAST.cpp:
        * FASTPitch.mwc:
        Sketched out an example program -- awaiting functional XML Parser.

Fri Jan  2 00:33:18 UTC 2009  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        Encode templateRef.
        Revise decoding for templateRef
        This stuff needs unit tests!
        This completes the coding (but not the testing) of the encoder.

Wed Dec 31 21:00:50 UTC 2008  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/Encoder.h:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/SegmentBody.h:
        * src/Messages/FieldSet.h:
        * src/Messages/Sequence.h:
        * src/Tests/FieldInstructionMock.h:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        More const correctness.  FieldSet is constant at encode time.
        Implement FieldInstructionGroup and FieldInstructionSequence

Wed Dec 31 18:08:01 UTC 2008  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Tests/FieldInstructionMock.h:
        Enforce template constness during decode/encode.

Wed Dec 31 17:06:33 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Tests/testFieldOperations.cpp:
        Test to be sure missing mandatory field is detected.
        Test to be sure mismatched constant field is detected.

Wed Dec 31 16:57:36 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/DefaultXMLAttributeAdapter.h:

          Added the skeleton for a concept of how to parse default
          XML attributes.

        * src/Codecs/XMLTemplateParser.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Codecs/XMLTemplateParser_fwd.h:
        * src/FASTPitch.mpc:
        * src/Tests/testXMLTemplateParser.cpp:
        * src/Util:
        * src/Util/FASTPitchUtil_Export.h:
        * src/Util/XMLTemplateParser.h:
        * src/Util/XMLTemplateParser.cpp:
        * src/Util/XMLTemplateParser_fwd.h:

          Moved some files around.

Wed Dec 31 16:15:21 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        Encoder complete and tested for:
        <decimal><operator></decimal>
        This completes the encoding for all primitive data types.

Tue Dec 30 22:28:16 UTC 2008  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Common/Constants.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Tests/testFieldInstructions.cpp:
        encoders for:
        <decimal>
          coded and tested
        <decimal>
             <exponent><operator/></exponent>
             <mantissa><operator/></mantissa>
        </decimal>
          coded and tested
        <decimal><operator></decimal>
          not coded yet.

Tue Dec 30 19:22:59 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/TemplateRegistry.h:
        * src/Common/FASTPitchPch.h:
        * src/Doxyfile:
        Doxygen

Tue Dec 30 17:03:07 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Messages/MessageField.h:
        * src/Tests/testFieldOperations.cpp:
        BitVector and Utf8 operators written and tested.

        * src/Util/XMLTemplateParser.h:
        More documentation

Mon Dec 29 20:58:06 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/FASTPitch.mpc:
        Add Libpaths so Util can find FASTPitch library

Mon Dec 29 20:52:04 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/FASTPitch.mpc:

          Fixed linking under Win32.

Mon Dec 29 20:36:29 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/FASTPitch.mpc:

          Fixed MPC project name.

Mon Dec 29 20:30:13 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Tests/testXMLTemplateParser.cpp:
        * src/Util/FASTPitchUtil_Export.h:
        * src/Util/XMLTemplateParser.h:
        * src/Util/XMLTemplateParser.cpp:
        * src/Util/XMLTemplateParser_fwd.h:

          Fixed library names, includes, and added an export file
          that was missing.

Mon Dec 29 20:15:16 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/XMLTemplateParser.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Codecs/XMLTemplateParser_fwd.h:

          Moved these files.

        * src/FASTPitch.mpc:
        * src/Util:
        * src/Util/XMLTemplateParser.h:
        * src/Util/XMLTemplateParser.cpp:
        * src/Util/XMLTemplateParser_fwd.h:

          Moved these files here. They are not codecs.

        * src/Tests/testXMLTemplateParser.cpp:

          Added a bit more meat to this test (but not much).

Mon Dec 29 17:51:59 UTC 2008  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/Template.h:
        * src/Codecs/XMLTemplateParser.h:
        * src/Codecs/XMLTemplateParser_fwd.h:
        * src/Common/FASTPitchPch.h:
        Initialize templateId.
        Lots of new Doxygen

Mon Dec 29 16:47:44 UTC 2008  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/XMLTemplateParser.h:
        * src/Common/FASTPitchPch.h:
        Updating Doxygen.

Mon Dec 29 16:34:57 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/XMLTemplateParser.cpp:
        * src/Tests/testXMLTemplateParser.cpp:

          Fleshed out more of this class.

Mon Dec 29 15:24:57 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/FASTPitchPch.h:
        Define NOMINMAX for win32 to turn off the silly macros

Mon Dec 29 03:50:12 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/XMLTemplateParser.cpp:

          Fixed compiler warnings/errors under Linux.

Sun Dec 28 21:14:31 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:

        * src/Common/Constants.h:

        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:

        * src/Tests/testFieldInstructions.cpp:
        Implement Blob nop which covers Utf8 and ByteVector fields.
        Instruction unit tests pass.

Sun Dec 28 17:42:38 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Tests/testFieldOperations.cpp:
        Finish implementation of Ascii tail operator.
        Unit test for Ascii tail operator (not in spec) passes.

Sun Dec 28 17:05:41 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Tests/testFieldOperations.cpp:
        Finish the implementation of Ascii delta.
        Unit test for Ascii delta now passes.

Sun Dec 28 14:41:19 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Tests/testFieldOperations.cpp:
        Unit tests for Ascii constant, default, and copy pass

Sun Dec 28 11:32:58 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.cpp:
        Implement Ascii constant, default, copy
        Basic structure for Ascii delta and tail

Sun Dec 28 10:46:24 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:

        * src/Codecs/FieldInstructionString.h:
        * src/Codecs/FieldInstructionString.cpp:
        Merge FieldInstructionString and FieldInstructionAscii
        (the only specialization of FieldInstructionString.)
        It seemed like a good idea at the time.

Sat Dec 27 23:28:08 UTC 2008  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/DataDestination.h:
        * src/Codecs/DataDestinationString.h:
        * src/Codecs/DataDestinationString.cpp:
        * src/Codecs/DataSource.h:
        * src/Codecs/DataSourceStream.h:
        * src/Codecs/DataSourceStream.cpp:
        * src/Codecs/DataSourceString.h:
        * src/Codecs/DataSourceString.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionString.h:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:

        * src/Common/Constants.h:
        * src/Common/Types.h:
        * src/Common/WorkingBuffer.h:
        * src/Common/WorkingBuffer.cpp:

        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:

        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Tests/testPresenceMap.cpp:
        * src/Tests/testStringFields.cpp:
        Extract constants into Common/Constants.h
        Add Ascii encoding
        Unit tests for Ascii fields in testFieldInstructions all pass.


Sat Dec 27 17:32:27 UTC 2008  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Common/WorkingBuffer.h:
        * src/Common/WorkingBuffer.cpp:
        Move buffer position management into Working Buffer.
        Support both forward and reverse pushes into the buffer.

Fri Dec 26 22:35:58 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/XMLTemplateParser.cpp:
        parse must return a value

Fri Dec 26 22:32:59 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.cpp:
        * src/Tests/testFieldInstructions.cpp:
        All integer-related encoding tests in Appendix 3.1 (Field Instructions) are passing.

Fri Dec 26 22:04:01 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * setup.sh:
        * src/FASTPitch.mpc:

          Fixed things for the Linux build.

        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/XMLTemplateParser.h:
        * src/Codecs/XMLTemplateParser.cpp:

          Added more support for XML parsing.

        * src/Tests/DataDestinationMock.h:
        * src/Tests/FieldInstructionMock.h:

          Fixed compiler warnings.

Fri Dec 26 21:52:33 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * setup.cmd:
        * src/FASTPitch.mpc:
        Accomodate Xerces

        * src/Codecs/DataDestination.h:
        * src/Codecs/DataDestinationString.h:
        * src/Codecs/DataDestinationString.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Tests/DataDestinationMock.h:
        * src/Tests/FieldInstructionMock.h:
        * src/Tests/testFieldOperations.cpp:
        All integer-related encoding tests in Appendix 3.2 (Field Operators) are passing.

Fri Dec 26 17:55:04 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * setup.cmd:
        * setup.sh:
         Update to include xerces

Fri Dec 26 17:52:02 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * setup.sh:

          Updated with XERCES_ROOT and XERCES_LIB.

Fri Dec 26 17:33:10 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * setup.sh:

          Added new environment variables required for Linux.

        * src/Codecs/XMLTemplateParser.h:
        * src/Codecs/XMLTemplateParser.cpp:

          Added Xerces initialization/teardown.

        * src/FASTPitch.mpc:

          Added Xerces stuff.

Fri Dec 26 16:44:32 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/XMLTemplateParser.h:
        * src/Codecs/XMLTemplateParser.cpp:
        * src/Codecs/XMLTemplateParser_fwd.h:

          Added the beginnings of an XML template parser class.

Fri Dec 26 16:39:30 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context_fwd.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        Integer encoding coded, but not tested.

Fri Dec 26 02:04:47 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/FieldInstruction.cpp:
        * src/Common/WorkingBuffer.h:

          Got things building under Linux again.

Thu Dec 25 19:06:58 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataDestination.h:
        * src/Codecs/DataDestination_fwd.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Encoder.h:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionString.h:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Tests/testFieldOperations.cpp:
          Encoder Dispatching complete.  Now all that's needed
          is to implement the actual encoding methods (and test!)


Wed Dec 24 23:56:27 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/DataDestination.h:
        * src/Codecs/DataDestination_fwd.h:
        * src/Codecs/DataSource_fwd.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/Encoder.h:
        * src/Codecs/Encoder.cpp:
        * src/Codecs/Encoder_fwd.h:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionString.h:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:

        * src/Common/Types.h:
        * src/Common/WorkingBuffer.h:
        * src/Common/WorkingBuffer.cpp:
        Begin work on Encoder.

Wed Dec 24 17:05:08 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Context.h:
        * src/Codecs/Context.cpp:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Decoder_fwd.h:
        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Common/Types.h:
        Extract template into Types.h to reduce dependancy on Template.h
        Create "Context" as base class for Decoder and soon-to-com Encoder

Wed Dec 24 17:01:46 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * Doc/FieldRules.xls:
          Minor correction. Use Default value when pmap = 0

Fri Dec 19 20:29:15 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * setup.sh:

          Added a setup script to be modified and sourced in your Linux
          shell.

Fri Dec 19 18:30:51 UTC 2008  Dale Wilson  <wilsond@ociweb.com>
        * trunk/ChangeLog:
        * trunk/Doc:
        * trunk/FASTPitch.mwc:
        * trunk/m.cmd:
        * trunk/setup.cmd:
        * trunk/src:
        * ChangeLog:
        * Doc:
        * Doc/FastERRCodes.rtf:
        * Doc/FieldRules.xls:
        * FASTPitch.mwc:
        * m.cmd:
        * setup.cmd:
        * src:
        * src/Codecs:
        * src/Codecs/DataSource.h:
        * src/Codecs/DataSourceStream.h:
        * src/Codecs/DataSourceStream.cpp:
        * src/Codecs/DataSourceString.h:
        * src/Codecs/DataSourceString.cpp:
        * src/Codecs/DataSource_fwd.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Decoder_fwd.h:
        * src/Codecs/Dictionary.h:
        * src/Codecs/Dictionary.cpp:
        * src/Codecs/Dictionary_fwd.h:
        * src/Codecs/Encoder_fwd.h:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionExponent.h:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionString.h:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Codecs/FieldInstruction_fwd.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Codecs/FieldOp_fwd.h:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:
        * src/Codecs/PresenceMap_fwd.h:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/SegmentBody_fwd.h:
        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/TemplateRegistry_fwd.h:
        * src/Codecs/Template_fwd.h:
        * src/Codecs/XMLTemplateParser_fwd.h:
        * src/Common:
        * src/Common/Decimal.h:
        * src/Common/Decimal.cpp:
        * src/Common/Exceptions.h:
        * src/Common/FASTPitchPch.h:
        * src/Common/FASTPitchPch.cpp:
        * src/Common/FASTPitch_Export.h:
        * src/Common/Types.h:
        * src/Common/dllmain.cpp:
        * src/Doxyfile:
        * src/FASTPitch.mpc:
        * src/Messages:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/FieldSet_fwd.h:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        * src/Messages/Field_fwd.h:
        * src/Messages/Group.h:
        * src/Messages/Group_fwd.h:
        * src/Messages/Message.h:
        * src/Messages/Message.cpp:
        * src/Messages/MessageField.h:
        * src/Messages/MessageField_fwd.h:
        * src/Messages/Message_fwd.h:
        * src/Messages/Sequence.h:
        * src/Messages/Sequence_fwd.h:
        * src/Tests:
        * src/Tests/main.cpp:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        * src/Tests/testIntegerFields.cpp:
        * src/Tests/testPresenceMap.cpp:
        * src/Tests/testStringFields.cpp:
          Move entire project into trunk directory


Fri Dec 19 18:12:47 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionString.h:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Messages/FieldIdentity.h:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
         Add namespace support for fields

Fri Dec 19 17:39:50 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        Propigate Dictionary and Application type to child elements.

Fri Dec 19 17:14:07 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Tests/testFieldInstructions.cpp:
        * src/Codecs/DictionaryRegistry.h:
        * src/Codecs/DictionaryRegistry.cpp:
        * src/Codecs/DictionaryRegistry_fwd.h:
        Correct dictionary support for global, template, application, <name>

Fri Dec 19 01:39:22 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:
        * src/Codecs/TemplateRegistry.cpp:
        Finish honoring template namespace.
        Decoder is code-complete, but needs lots of testing.

Fri Dec 19 01:30:12 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        Finish the last "todo's" in Decimal.

Fri Dec 19 01:10:29 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Tests/testFieldInstructions.cpp:
        Implement TemplateRef

Fri Dec 19 00:33:33 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/SegmentBody.h:
        * src/Codecs/SegmentBody.cpp:
        * src/Codecs/SegmentBody_fwd.h:
        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/XMLTemplateParser_fwd.h:
        * src/Codecs/Segment.h:
        * src/Codecs/Segment.cpp:
        * src/Codecs/Segment_fwd.h:
        Distinguish between a Segment (as defined by the spec)
        and a Segment Body which is a Segment without the leading
        pmap and optional template ID.

Thu Dec 18 22:03:15 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Common/Decimal.h:
        * src/Common/Decimal.cpp:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        Complete Appendix 3.2 based unit tests -- all pass after some repair.

Thu Dec 18 19:11:58 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Tests/testFieldInstructions.cpp:
        Complete Appendex 3.1 based unit tests -- all pass

Wed Dec 17 23:13:39 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * setup.cmd:
          DEFINE BOOST_VERSION

        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionExponent.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.h:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Common/Decimal.h:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Tests/testFieldInstructions.cpp:
        Decimal/NOP passed a unit test

        * src/Codecs/FieldInstructionMantissa.cpp:
          Removed this file.

Wed Dec 17 16:21:21 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionString.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Tests/testFieldOperations.cpp:
        Add additional unit tests.  Fix revealed problems.

Wed Dec 17 16:08:44 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.cpp:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/Template.h:
        * src/Codecs/TemplateRegistry.h:
        * src/Common/Types.h:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Tests/testIntegerFields.cpp:

          Changed uint32_t to uint32, int32_t to int32, uint64_t to uint64,
          and int64_t to int64 so as to resolve namespace conflicts on
          Linux.

Tue Dec 16 23:25:52 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:

        * src/Messages/Field.h:

        * src/Tests/testFieldOperations.cpp:
        Add additional unit test for Field Operations.
        Fix the problems revealed.
         -- default initial value varies based on operation.

Tue Dec 16 19:44:52 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * Doc/FieldRules.xls:
          Fix a minor formatting issue

        * src/Common/Decimal.h:
        * src/Common/Decimal.cpp:
        * src/Common/Exceptions.h:
        * src/Common/FASTPitchPch.h:
        * src/Common/Types.h:
        Symbolic names for data types.
        Preliminary implementation of Decimal data type.
        Eliminate the "Common::" namespace.


        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionMantissa.h:
        * src/Codecs/FieldInstructionMantissa.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/Segment.cpp:
        * src/Codecs/Template.h:
        * src/Codecs/TemplateRegistry.h:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/FieldUtf8.cpp:
        * src/Messages/Message.h:
        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testIntegerFields.cpp:
        * src/Tests/testStringFields.cpp:
        Use symbolic data typenames.

Tue Dec 16 14:23:00 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/FieldInstructionInteger.h:
        * src/FASTPitch.mpc:
        * src/Tests/testIntegerFields.cpp:
        * src/Tests/testStringFields.cpp:

          Got tests building under Linux. Also, switched to use MPC's
          boost projects. You will need to set the following environment
          variables (defaults for my Linux distribution are included):

            BOOST_CFG="-gcc34-mt"
            BOOST_ROOT="/builds/boost_1_37_0"
            BOOST_ROOT_LIB="/builds/boost_1_37_0/lib"
            BOOST_VERSION="boost-1_37"

Mon Dec 15 16:03:00 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpIncrement.cpp:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOpTail.cpp:
        * src/Tests/testFieldOperations.cpp:
        Implementations of FieldOpTail & FieldOpIncrement need to
        be in a CPP file (dll import/export issue)

Mon Dec 15 15:33:27 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/DataSourceString.cpp:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstruction_fwd.h:

          Made some changes for things to build under Linux.

Mon Dec 15 15:27:06 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testFieldOperations.cpp:
        Begin work on unit tests for FieldOperations

Sun Dec 14 00:17:54 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSourceStream.h:
        * src/Codecs/DataSourceStream.cpp:
        * src/Codecs/DataSourceString.h:
        * src/Codecs/DataSourceString.cpp:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:

        * src/Tests/testFieldInstructions.cpp:
        Pass Byte Vector tests from Appendix 3

Sat Dec 13 23:08:40 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstructionAscii.cpp:

        * src/Tests/testFieldInstructions.cpp:
          Add Integer and Ascii tests from FAST spec Appendix 3

Sat Dec 13 00:22:32 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSourceString.h:
        * src/Codecs/DataSourceString.cpp:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionString.h:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:

        * src/Common/FASTPitchPch.h:

        * src/Tests/testFieldInstructions.cpp:
        * src/Tests/testIntegerFields.cpp:
        Reduce use of shared pointers.  Use references when it makes sense.
        add DataSourceString, mostly for testing.
        Test decoding via FieldInstructionInt32 using data from
        Appendix 3.1.1.1 FAST v1.1 Signed Integer Examples
        in the FAST 1x1 spec.

Fri Dec 12 23:15:54 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionString.h:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/Segment.h:
        * src/Codecs/Segment.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Messages/FieldSequence.h:
        * src/Messages/FieldSequence.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/Sequence.h:
          "complete" the implementation of Sequences and Groups
          The todo list is down to: Decimal and TemplateRef
          (oh, and tests, tests, tests.)

        * src/Codecs/XMLTemplateParser_fwd.h:
          More how-to instructions
        * src/Common/dllmain.cpp:
          #if must be after precompiled header

Fri Dec 12 22:00:15 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * Doc/FastERRCodes.rtf:
          Capture error codes from FAST 1x1 spec.


Fri Dec 12 18:00:03 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Encoder_fwd.h:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldGroup.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/Group.h:
        * src/Messages/Message.h:
        * src/Messages/Message.cpp:
        * src/Messages/Sequence.h:
        More group/sequence support


Fri Dec 12 17:49:55 UTC 2008  Jonathan Pollack  <pollack_j@ociweb.com>

        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/PresenceMap.cpp:
        * src/Codecs/Segment.cpp:
        * src/Codecs/Template.cpp:
        * src/Common/Exceptions.h:
        * src/Common/FASTPitch_Export.h:
        * src/Common/dllmain.cpp:
        * src/FASTPitch.mpc:

          Working on getting FASTPitch built under Linux.

Fri Dec 12 17:15:02 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldGroup.h:
        * src/Messages/FieldSequence.h:
        * src/Messages/Group.h:
        * src/Messages/Group_fwd.h:
        * src/Messages/Message.h:
        * src/Messages/Sequence.h:
        * src/Messages/Sequence_fwd.h:
        Continue to add group/sequence support

Fri Dec 12 16:36:57 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/XMLTemplateParser_fwd.h:
          Added this as a placeholder with comments about
          how to implement template parsing

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionString.h:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Codecs/Segment.h:
        * src/Messages/FieldIdentity.h:
        * src/Tests/testFieldInstructions.cpp:
        * src/Codecs/FieldInstructionTypeRef.h:
        * src/Codecs/FieldInstructionTypeRef.cpp:
          Demoted the typeref element from a FieldInstruction
          to a simple method call on the Segment in which
          FieldInstructions are being accumulated.
          Also got rid of the id parameter to FieldInstruction
          constructor since id= is an optional attribute.
          The setId() method can be used to implement the attribute.

Thu Dec 11 23:18:04 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpConstant.cpp:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpCopy.cpp:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDefault.cpp:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpDelta.cpp:
        * src/Codecs/PresenceMap_fwd.h:
        * src/Tests/testFieldInstructions.cpp:
        Add preliminary unit test for field instructions.
        Fix the problems revealed.

Thu Dec 11 21:32:37 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionString.h:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionTypeRef.h:
        * src/Codecs/FieldInstructionTypeRef.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/Segment.h:
        * src/Codecs/Segment.cpp:
        * src/Codecs/Segment_fwd.h:
        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:
        * src/Messages/FieldSet.h:
        * src/Messages/FieldSet.cpp:
        * src/Messages/FieldSet_fwd.h:
        * src/Messages/Message.h:
        * src/Messages/Message.cpp:
          Add support for Groups.
          Groups are constructed by capturing field definitions
          into a Segment then adding that segment to the Group.
          Groups guide decoding by implementing decodeNop.

          An attempt to use any other instruction with a Group
          will lead to an exception being thrown.

Thu Dec 11 00:09:40 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * Doc:
        * Doc/FieldRules.xls:
          Add the Field Rules spreadsheet

Wed Dec 10 23:47:37 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:

        * src/Messages/Field.h:
        * src/Messages/Message.h:
        * src/Messages/Message.cpp:
        Remove all knowledge of the Codecs namespace from the Messages namespace.

Wed Dec 10 23:19:08 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionString.h:
        * src/Codecs/FieldInstructionString.cpp:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Messages/FieldAscii.h:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
          Rename (and refactor) Blob to String
          Implement Ascii in terms of Blob

Wed Dec 10 22:41:30 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
          Implement Tail and Delta for Blob (UTF8+ByteVector)

        * src/Doxyfile:
          Remove templates from doxyfile


Wed Dec 10 16:47:44 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:

        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        Implement Utf8 and ByteVector as specializations of Blob.

Wed Dec 10 15:53:40 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionBlob.h:
        * src/Codecs/FieldInstructionBlob.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionTypeRef.h:
        * src/Codecs/FieldInstructionTypeRef.cpp:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/Template.cpp:

        * src/Messages/Field.h:
        * src/Messages/FieldIdentity.h:
        * src/Messages/Field_fwd.h:
        * src/Messages/Message.h:
        * src/Messages/Message.cpp:
        * src/Messages/MessageField.h:
          Begin work on FieldInstructionBlob to support both BitVector and Utf8
          Move message identity (name, ID, Mandatory) into new class/structure: FieldIdentity
          And use FieldIdentity in FieldInstruction and Message.

Tue Dec  9 19:57:56 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpIncrement.h:
          Implement remaining field operations for integers.

Tue Dec  9 00:12:11 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Dictionary.h:
        * src/Codecs/Dictionary.cpp:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInteger.h:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/FieldOpCopy.h:

        * src/Messages/Field.h:
        * src/Messages/Message.h:
        * src/Messages/Message.cpp:

        * src/Codecs/FieldInstructionInt32.cpp:
        * src/Codecs/FieldInstructionInt64.cpp:
        * src/Codecs/FieldInstructionUInt32.cpp:
        * src/Codecs/FieldInstructionUInt64.cpp:

        Use FieldInstructionInteger templatized by data type
        to implement FieldInstructionInt32, FieldInstructionUInt32,
        FieldInstructionInt64, and FieldInstructionUInt64.
        Implement the copy operator for integers.

Mon Dec  8 22:26:48 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Messages/Message.h:
        * src/Messages/Message.cpp:
        * src/Messages/MessageField.h:
        * src/Messages/MessageField_fwd.h:
        Support iterating through MessageFields in a Message.


Mon Dec  8 22:05:14 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSource_fwd.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Decoder_fwd.h:
        * src/Codecs/Dictionary.h:
        * src/Codecs/Dictionary.cpp:
        * src/Codecs/DictionaryRegistry_fwd.h:
        * src/Codecs/Dictionary_fwd.h:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt32.cpp:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInt64.cpp:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionTypeRef.h:
        * src/Codecs/FieldInstructionTypeRef.cpp:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt32.cpp:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/FieldInstructionUInt64.cpp:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Codecs/FieldInstruction_fwd.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOp_fwd.h:
        * src/Codecs/TemplateRegistry_fwd.h:
        * src/Codecs/Template_fwd.h:

        * src/Common/FASTPitchPch.h:

        * src/Messages/Field_fwd.h:
        * src/Messages/Message.h:
        * src/Messages/Message.cpp:
        * src/Messages/MessageField.h:
        * src/Messages/MessageField_fwd.h:
        * src/Messages/Message_fwd.h:

        Change Decoders to add field instructions to message rather than returning
        a field that can be added by the Decoder.  This allows instructions to
        add more than one field (group) or to apply other operations to the message
        (TypeRef)

Mon Dec  8 19:47:11 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt32.cpp:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInt64.cpp:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionTypeRef.h:
        * src/Codecs/FieldInstructionTypeRef.cpp:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt32.cpp:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/FieldInstructionUInt64.cpp:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:

        * src/Common/Exceptions.h:
        * src/Common/FASTPitchPch.h:

        * src/Tests/testFieldInstructions.cpp:
          Modify interface to FieldInstruct to support the attributes
          from the XML template.
          Start work on unit tests for field instructions (much to be done.)


Sat Dec  6 16:16:52 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldInstructionGroup.h:
        * src/Codecs/FieldInstructionGroup.cpp:
        * src/Codecs/FieldInstructionSequence.h:
        * src/Codecs/FieldInstructionSequence.cpp:
        * src/Codecs/FieldInstructionTemplateRef.h:
        * src/Codecs/FieldInstructionTemplateRef.cpp:
        * src/Codecs/FieldInstructionTypeRef.h:
        * src/Codecs/FieldInstructionTypeRef.cpp:
          Add stub implmeentations for Group, Sequence, TemplateRef, and TypeRef instructions

Sat Dec  6 15:53:40 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldInstruction.h:
        * src/Codecs/FieldInstruction.cpp:
        * src/Codecs/FieldInstructionAscii.h:
        * src/Codecs/FieldInstructionAscii.cpp:
        * src/Codecs/FieldInstructionByteVector.h:
        * src/Codecs/FieldInstructionByteVector.cpp:
        * src/Codecs/FieldInstructionDecimal.h:
        * src/Codecs/FieldInstructionDecimal.cpp:
        * src/Codecs/FieldInstructionInt32.h:
        * src/Codecs/FieldInstructionInt32.cpp:
        * src/Codecs/FieldInstructionInt64.h:
        * src/Codecs/FieldInstructionInt64.cpp:
        * src/Codecs/FieldInstructionUInt32.h:
        * src/Codecs/FieldInstructionUInt32.cpp:
        * src/Codecs/FieldInstructionUInt64.h:
        * src/Codecs/FieldInstructionUInt64.cpp:
        * src/Codecs/FieldInstructionUtf8.h:
        * src/Codecs/FieldInstructionUtf8.cpp:
        * src/Codecs/FieldInstruction_fwd.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:

        * src/Codecs/FieldDef.h:
        * src/Codecs/FieldDef.cpp:
        * src/Codecs/FieldDefAscii.h:
        * src/Codecs/FieldDefAscii.cpp:
        * src/Codecs/FieldDefByteVector.h:
        * src/Codecs/FieldDefByteVector.cpp:
        * src/Codecs/FieldDefDecimal.h:
        * src/Codecs/FieldDefDecimal.cpp:
        * src/Codecs/FieldDefInt32.h:
        * src/Codecs/FieldDefInt32.cpp:
        * src/Codecs/FieldDefInt64.h:
        * src/Codecs/FieldDefInt64.cpp:
        * src/Codecs/FieldDefUInt32.h:
        * src/Codecs/FieldDefUInt32.cpp:
        * src/Codecs/FieldDefUInt64.h:
        * src/Codecs/FieldDefUInt64.cpp:
        * src/Codecs/FieldDefUtf8.h:
        * src/Codecs/FieldDefUtf8.cpp:
        * src/Codecs/FieldDef_fwd.h:

        Renamed FeildDef* to FieldInstruction* to match FAST Standards documentation (paragraph 6.2)

Sat Dec  6 15:40:42 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Dictionary.h:
        * src/Codecs/Dictionary.cpp:
        * src/Codecs/DictionaryRegistry.h:
        * src/Codecs/DictionaryRegistry.cpp:
          Flesh out the Dictionary support

Fri Dec  5 19:20:37 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DictionaryRegistry.h:
        * src/Codecs/DictionaryRegistry.cpp:
        * src/Codecs/DictionaryRegistry_fwd.h:
          Define registry of dictionaries

        * src/Codecs/FieldDefByteVectorConstant.h:
        * src/Codecs/FieldDefByteVectorCopy.h:
        * src/Codecs/FieldDefByteVectorDefault.h:
        * src/Codecs/FieldDefByteVectorDelta.h:
        * src/Codecs/FieldDefDecimalCopy.cpp:
        * src/Codecs/FieldDefUtf8Copy.h:
          Removed these files.
          Detritus from previous checkin.

Fri Dec  5 17:23:08 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSource_fwd.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Decoder_fwd.h:
        * src/Codecs/Dictionary_fwd.h:
        * src/Codecs/FieldDef.h:
        * src/Codecs/FieldDef.cpp:
        * src/Codecs/FieldDefAscii.h:
        * src/Codecs/FieldDefAscii.cpp:
        * src/Codecs/FieldDefByteVector.h:
        * src/Codecs/FieldDefByteVector.cpp:
        * src/Codecs/FieldDefDecimal.h:
        * src/Codecs/FieldDefDecimal.cpp:
        * src/Codecs/FieldDefDecimalCopy.cpp:
        * src/Codecs/FieldDefInt32.h:
        * src/Codecs/FieldDefInt32.cpp:
        * src/Codecs/FieldDefInt64.h:
        * src/Codecs/FieldDefInt64.cpp:
        * src/Codecs/FieldDefUInt32.h:
        * src/Codecs/FieldDefUInt32.cpp:
        * src/Codecs/FieldDefUInt64.h:
        * src/Codecs/FieldDefUInt64.cpp:
        * src/Codecs/FieldDefUtf8.h:
        * src/Codecs/FieldDefUtf8.cpp:
        * src/Codecs/FieldDef_fwd.h:
        * src/Codecs/FieldOp.h:
        * src/Codecs/FieldOpConstant.h:
        * src/Codecs/FieldOpCopy.h:
        * src/Codecs/FieldOpDefault.h:
        * src/Codecs/FieldOpDelta.h:
        * src/Codecs/FieldOpIncrement.h:
        * src/Codecs/FieldOpNop.h:
        * src/Codecs/FieldOpTail.h:
        * src/Codecs/FieldOp_fwd.h:
        * src/Codecs/TemplateRegistry_fwd.h:
        * src/Codecs/Template_fwd.h:
        * src/Messages/Field_fwd.h:
        * src/Messages/Message_fwd.h:
        * src/Codecs/FieldDefAsciiConstant.h:
        * src/Codecs/FieldDefAsciiConstant.cpp:
        * src/Codecs/FieldDefAsciiCopy.h:
        * src/Codecs/FieldDefAsciiCopy.cpp:
        * src/Codecs/FieldDefAsciiDefault.h:
        * src/Codecs/FieldDefAsciiDefault.cpp:
        * src/Codecs/FieldDefAsciiDelta.h:
        * src/Codecs/FieldDefAsciiDelta.cpp:
        * src/Codecs/FieldDefAsciiNop.h:
        * src/Codecs/FieldDefAsciiNop.cpp:
        * src/Codecs/FieldDefAsciiTail.h:
        * src/Codecs/FieldDefAsciiTail.cpp:
        * src/Codecs/FieldDefByteVectorConstant.cpp:
        * src/Codecs/FieldDefByteVectorCopy.cpp:
        * src/Codecs/FieldDefByteVectorDefault.cpp:
        * src/Codecs/FieldDefByteVectorDelta.cpp:
        * src/Codecs/FieldDefByteVectorNop.h:
        * src/Codecs/FieldDefByteVectorNop.cpp:
        * src/Codecs/FieldDefByteVectorTail.h:
        * src/Codecs/FieldDefByteVectorTail.cpp:
        * src/Codecs/FieldDefDecimalConstant.h:
        * src/Codecs/FieldDefDecimalConstant.cpp:
        * src/Codecs/FieldDefDecimalCopy.h:
        * src/Codecs/FieldDefDecimalDefault.h:
        * src/Codecs/FieldDefDecimalDefault.cpp:
        * src/Codecs/FieldDefDecimalDelta.h:
        * src/Codecs/FieldDefDecimalDelta.cpp:
        * src/Codecs/FieldDefDecimalNop.h:
        * src/Codecs/FieldDefDecimalNop.cpp:
        * src/Codecs/FieldDefInt32Constant.h:
        * src/Codecs/FieldDefInt32Constant.cpp:
        * src/Codecs/FieldDefInt32Copy.h:
        * src/Codecs/FieldDefInt32Copy.cpp:
        * src/Codecs/FieldDefInt32Default.h:
        * src/Codecs/FieldDefInt32Default.cpp:
        * src/Codecs/FieldDefInt32Delta.h:
        * src/Codecs/FieldDefInt32Delta.cpp:
        * src/Codecs/FieldDefInt32Increment.h:
        * src/Codecs/FieldDefInt32Increment.cpp:
        * src/Codecs/FieldDefInt32Nop.h:
        * src/Codecs/FieldDefInt32Nop.cpp:
        * src/Codecs/FieldDefInt64Constant.h:
        * src/Codecs/FieldDefInt64Constant.cpp:
        * src/Codecs/FieldDefInt64Copy.h:
        * src/Codecs/FieldDefInt64Copy.cpp:
        * src/Codecs/FieldDefInt64Default.h:
        * src/Codecs/FieldDefInt64Default.cpp:
        * src/Codecs/FieldDefInt64Delta.h:
        * src/Codecs/FieldDefInt64Delta.cpp:
        * src/Codecs/FieldDefInt64Increment.h:
        * src/Codecs/FieldDefInt64Increment.cpp:
        * src/Codecs/FieldDefInt64Nop.h:
        * src/Codecs/FieldDefInt64Nop.cpp:
        * src/Codecs/FieldDefUInt32Constant.h:
        * src/Codecs/FieldDefUInt32Constant.cpp:
        * src/Codecs/FieldDefUInt32Copy.h:
        * src/Codecs/FieldDefUInt32Copy.cpp:
        * src/Codecs/FieldDefUInt32Default.h:
        * src/Codecs/FieldDefUInt32Default.cpp:
        * src/Codecs/FieldDefUInt32Delta.h:
        * src/Codecs/FieldDefUInt32Delta.cpp:
        * src/Codecs/FieldDefUInt32Increment.h:
        * src/Codecs/FieldDefUInt32Increment.cpp:
        * src/Codecs/FieldDefUInt32Nop.h:
        * src/Codecs/FieldDefUInt32Nop.cpp:
        * src/Codecs/FieldDefUInt64Constant.h:
        * src/Codecs/FieldDefUInt64Constant.cpp:
        * src/Codecs/FieldDefUInt64Copy.h:
        * src/Codecs/FieldDefUInt64Copy.cpp:
        * src/Codecs/FieldDefUInt64Default.h:
        * src/Codecs/FieldDefUInt64Default.cpp:
        * src/Codecs/FieldDefUInt64Delta.h:
        * src/Codecs/FieldDefUInt64Delta.cpp:
        * src/Codecs/FieldDefUInt64Increment.h:
        * src/Codecs/FieldDefUInt64Increment.cpp:
        * src/Codecs/FieldDefUInt64Nop.h:
        * src/Codecs/FieldDefUInt64Nop.cpp:
        * src/Codecs/FieldDefUtf8Constant.h:
        * src/Codecs/FieldDefUtf8Constant.cpp:
        * src/Codecs/FieldDefUtf8Copy.cpp:
        * src/Codecs/FieldDefUtf8Default.h:
        * src/Codecs/FieldDefUtf8Default.cpp:
        * src/Codecs/FieldDefUtf8Delta.h:
        * src/Codecs/FieldDefUtf8Delta.cpp:
        * src/Codecs/FieldDefUtf8Nop.h:
        * src/Codecs/FieldDefUtf8Nop.cpp:
        * src/Codecs/FieldDefUtf8Tail.h:
        * src/Codecs/FieldDefUtf8Tail.cpp:
          Redesign field operators: move implementing methods into the primary FieldDef<Type>
          And use new FieldOp<Operation> methods to dispatch to the appropriate method.

Thu Dec  4 23:18:33 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Dictionary.h:
        * src/Codecs/Dictionary.cpp:
        Implement the dictionary.

Thu Dec  4 22:00:28 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldDef.h:
        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        * src/Tests/main.cpp:
        * src/Tests/testIntegerFields.cpp:
        * src/Tests/testPresenceMap.cpp:
        * src/Tests/testStringFields.cpp:
          Reorganize unit tests.
          Add unit tests for integer fields.
          Add unit test for string fields.

Thu Dec  4 17:46:29 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldDefAsciiConstant.h:
        * src/Codecs/FieldDefAsciiConstant.cpp:
        * src/Codecs/FieldDefAsciiDefault.h:
        * src/Codecs/FieldDefAsciiDefault.cpp:
        * src/Codecs/FieldDefByteVectorConstant.h:
        * src/Codecs/FieldDefByteVectorConstant.cpp:
        * src/Codecs/FieldDefByteVectorDefault.h:
        * src/Codecs/FieldDefByteVectorDefault.cpp:
        * src/Codecs/FieldDefUInt64Constant.h:
        * src/Codecs/FieldDefUtf8Constant.h:
        * src/Codecs/FieldDefUtf8Constant.cpp:
        * src/Codecs/FieldDefUtf8Nop.cpp:
        Implementing Default's consistently

        * src/Codecs/FieldDefDecimalIncrement.h:
        * src/Codecs/FieldDefDecimalIncrement.cpp:
          Increment OP not available for Decimal

Thu Dec  4 16:59:26 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/FieldDef.h:
        * src/Codecs/FieldDef.cpp:
        * src/Codecs/FieldDefByteVectorNop.cpp:
        * src/Codecs/FieldDefUtf8Nop.cpp:

        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        Implement UTF8 and ByteVector NOP operators.

Thu Dec  4 16:20:52 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldDef.h:
        * src/Codecs/FieldDef.cpp:
        * src/Codecs/FieldDefAsciiDefault.cpp:
        * src/Codecs/FieldDefAsciiNop.cpp:
        * src/Codecs/FieldDefInt32Default.cpp:
        * src/Codecs/FieldDefInt32Nop.cpp:
        * src/Codecs/FieldDefInt64Default.cpp:
        * src/Codecs/FieldDefInt64Nop.cpp:
        * src/Codecs/FieldDefUInt32Default.cpp:
        * src/Codecs/FieldDefUInt32Nop.cpp:
        * src/Codecs/FieldDefUInt64Default.cpp:
        * src/Codecs/FieldDefUInt64Nop.cpp:
        Move Field decoding support from Decoder into FieldDef.

Thu Dec  4 16:02:01 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Templates:
        * src/Templates:

          Removed these directories

Thu Dec  4 15:58:21 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/FieldDef.h:
        * src/Codecs/FieldDef.cpp:
        * src/Codecs/FieldDefAsciiConstant.h:
        * src/Codecs/FieldDefAsciiConstant.cpp:
        * src/Codecs/FieldDefAsciiCopy.h:
        * src/Codecs/FieldDefAsciiCopy.cpp:
        * src/Codecs/FieldDefAsciiDefault.h:
        * src/Codecs/FieldDefAsciiDefault.cpp:
        * src/Codecs/FieldDefAsciiDelta.h:
        * src/Codecs/FieldDefAsciiDelta.cpp:
        * src/Codecs/FieldDefAsciiNop.h:
        * src/Codecs/FieldDefAsciiNop.cpp:
        * src/Codecs/FieldDefAsciiTail.h:
        * src/Codecs/FieldDefAsciiTail.cpp:
        * src/Codecs/FieldDefByteVectorConstant.h:
        * src/Codecs/FieldDefByteVectorConstant.cpp:
        * src/Codecs/FieldDefByteVectorCopy.h:
        * src/Codecs/FieldDefByteVectorCopy.cpp:
        * src/Codecs/FieldDefByteVectorDefault.h:
        * src/Codecs/FieldDefByteVectorDefault.cpp:
        * src/Codecs/FieldDefByteVectorDelta.h:
        * src/Codecs/FieldDefByteVectorDelta.cpp:
        * src/Codecs/FieldDefByteVectorNop.h:
        * src/Codecs/FieldDefByteVectorNop.cpp:
        * src/Codecs/FieldDefByteVectorTail.h:
        * src/Codecs/FieldDefByteVectorTail.cpp:
        * src/Codecs/FieldDefDecimalConstant.h:
        * src/Codecs/FieldDefDecimalConstant.cpp:
        * src/Codecs/FieldDefDecimalCopy.h:
        * src/Codecs/FieldDefDecimalCopy.cpp:
        * src/Codecs/FieldDefDecimalDefault.h:
        * src/Codecs/FieldDefDecimalDefault.cpp:
        * src/Codecs/FieldDefDecimalDelta.h:
        * src/Codecs/FieldDefDecimalDelta.cpp:
        * src/Codecs/FieldDefDecimalIncrement.h:
        * src/Codecs/FieldDefDecimalIncrement.cpp:
        * src/Codecs/FieldDefDecimalNop.h:
        * src/Codecs/FieldDefDecimalNop.cpp:
        * src/Codecs/FieldDefInt32Constant.h:
        * src/Codecs/FieldDefInt32Constant.cpp:
        * src/Codecs/FieldDefInt32Copy.h:
        * src/Codecs/FieldDefInt32Copy.cpp:
        * src/Codecs/FieldDefInt32Default.h:
        * src/Codecs/FieldDefInt32Default.cpp:
        * src/Codecs/FieldDefInt32Delta.h:
        * src/Codecs/FieldDefInt32Delta.cpp:
        * src/Codecs/FieldDefInt32Increment.h:
        * src/Codecs/FieldDefInt32Increment.cpp:
        * src/Codecs/FieldDefInt32Nop.h:
        * src/Codecs/FieldDefInt32Nop.cpp:
        * src/Codecs/FieldDefInt64Constant.h:
        * src/Codecs/FieldDefInt64Constant.cpp:
        * src/Codecs/FieldDefInt64Copy.h:
        * src/Codecs/FieldDefInt64Copy.cpp:
        * src/Codecs/FieldDefInt64Default.h:
        * src/Codecs/FieldDefInt64Default.cpp:
        * src/Codecs/FieldDefInt64Delta.h:
        * src/Codecs/FieldDefInt64Delta.cpp:
        * src/Codecs/FieldDefInt64Increment.h:
        * src/Codecs/FieldDefInt64Increment.cpp:
        * src/Codecs/FieldDefInt64Nop.h:
        * src/Codecs/FieldDefInt64Nop.cpp:
        * src/Codecs/FieldDefUInt32Constant.h:
        * src/Codecs/FieldDefUInt32Constant.cpp:
        * src/Codecs/FieldDefUInt32Copy.h:
        * src/Codecs/FieldDefUInt32Copy.cpp:
        * src/Codecs/FieldDefUInt32Default.h:
        * src/Codecs/FieldDefUInt32Default.cpp:
        * src/Codecs/FieldDefUInt32Delta.h:
        * src/Codecs/FieldDefUInt32Delta.cpp:
        * src/Codecs/FieldDefUInt32Increment.h:
        * src/Codecs/FieldDefUInt32Increment.cpp:
        * src/Codecs/FieldDefUInt32Nop.h:
        * src/Codecs/FieldDefUInt32Nop.cpp:
        * src/Codecs/FieldDefUInt64Constant.h:
        * src/Codecs/FieldDefUInt64Constant.cpp:
        * src/Codecs/FieldDefUInt64Copy.h:
        * src/Codecs/FieldDefUInt64Copy.cpp:
        * src/Codecs/FieldDefUInt64Default.h:
        * src/Codecs/FieldDefUInt64Default.cpp:
        * src/Codecs/FieldDefUInt64Delta.h:
        * src/Codecs/FieldDefUInt64Delta.cpp:
        * src/Codecs/FieldDefUInt64Increment.h:
        * src/Codecs/FieldDefUInt64Increment.cpp:
        * src/Codecs/FieldDefUInt64Nop.h:
        * src/Codecs/FieldDefUInt64Nop.cpp:
        * src/Codecs/FieldDefUtf8Constant.h:
        * src/Codecs/FieldDefUtf8Constant.cpp:
        * src/Codecs/FieldDefUtf8Copy.h:
        * src/Codecs/FieldDefUtf8Copy.cpp:
        * src/Codecs/FieldDefUtf8Default.h:
        * src/Codecs/FieldDefUtf8Default.cpp:
        * src/Codecs/FieldDefUtf8Delta.h:
        * src/Codecs/FieldDefUtf8Delta.cpp:
        * src/Codecs/FieldDefUtf8Nop.h:
        * src/Codecs/FieldDefUtf8Nop.cpp:
        * src/Codecs/FieldDefUtf8Tail.h:
        * src/Codecs/FieldDefUtf8Tail.cpp:
        * src/Codecs/FieldDef_fwd.h:
        * src/Codecs/PresenceMap.h:
        * src/Codecs/PresenceMap.cpp:
        * src/Codecs/Template.h:
        * src/Codecs/Template.cpp:
        * src/Codecs/TemplateRegistry.h:
        * src/Codecs/TemplateRegistry.cpp:
        * src/Codecs/TemplateRegistry_fwd.h:
        * src/Codecs/Template_fwd.h:
        * src/Codecs/Templates:

        * src/Common/FASTPitchPch.h:

        * src/FASTPitch.mpc:

        * src/Messages/Message.h:
        * src/Messages/Message.cpp:

        * src/Tests/main.cpp:

        * src/Codecs/Templates/FieldDef.h:
        * src/Codecs/Templates/FieldDef.cpp:
        * src/Codecs/Templates/FieldDefAsciiConstant.h:
        * src/Codecs/Templates/FieldDefAsciiConstant.cpp:
        * src/Codecs/Templates/FieldDefAsciiCopy.h:
        * src/Codecs/Templates/FieldDefAsciiCopy.cpp:
        * src/Codecs/Templates/FieldDefAsciiDefault.h:
        * src/Codecs/Templates/FieldDefAsciiDefault.cpp:
        * src/Codecs/Templates/FieldDefAsciiDelta.h:
        * src/Codecs/Templates/FieldDefAsciiDelta.cpp:
        * src/Codecs/Templates/FieldDefAsciiNop.h:
        * src/Codecs/Templates/FieldDefAsciiNop.cpp:
        * src/Codecs/Templates/FieldDefAsciiTail.h:
        * src/Codecs/Templates/FieldDefAsciiTail.cpp:
        * src/Codecs/Templates/FieldDefByteVectorConstant.h:
        * src/Codecs/Templates/FieldDefByteVectorConstant.cpp:
        * src/Codecs/Templates/FieldDefByteVectorCopy.h:
        * src/Codecs/Templates/FieldDefByteVectorCopy.cpp:
        * src/Codecs/Templates/FieldDefByteVectorDefault.h:
        * src/Codecs/Templates/FieldDefByteVectorDefault.cpp:
        * src/Codecs/Templates/FieldDefByteVectorDelta.h:
        * src/Codecs/Templates/FieldDefByteVectorDelta.cpp:
        * src/Codecs/Templates/FieldDefByteVectorNop.h:
        * src/Codecs/Templates/FieldDefByteVectorNop.cpp:
        * src/Codecs/Templates/FieldDefByteVectorTail.h:
        * src/Codecs/Templates/FieldDefByteVectorTail.cpp:
        * src/Codecs/Templates/FieldDefDecimalConstant.h:
        * src/Codecs/Templates/FieldDefDecimalConstant.cpp:
        * src/Codecs/Templates/FieldDefDecimalCopy.h:
        * src/Codecs/Templates/FieldDefDecimalCopy.cpp:
        * src/Codecs/Templates/FieldDefDecimalDefault.h:
        * src/Codecs/Templates/FieldDefDecimalDefault.cpp:
        * src/Codecs/Templates/FieldDefDecimalDelta.h:
        * src/Codecs/Templates/FieldDefDecimalDelta.cpp:
        * src/Codecs/Templates/FieldDefDecimalIncrement.h:
        * src/Codecs/Templates/FieldDefDecimalIncrement.cpp:
        * src/Codecs/Templates/FieldDefDecimalNop.h:
        * src/Codecs/Templates/FieldDefDecimalNop.cpp:
        * src/Codecs/Templates/FieldDefInt32Constant.h:
        * src/Codecs/Templates/FieldDefInt32Constant.cpp:
        * src/Codecs/Templates/FieldDefInt32Copy.h:
        * src/Codecs/Templates/FieldDefInt32Copy.cpp:
        * src/Codecs/Templates/FieldDefInt32Default.h:
        * src/Codecs/Templates/FieldDefInt32Default.cpp:
        * src/Codecs/Templates/FieldDefInt32Delta.h:
        * src/Codecs/Templates/FieldDefInt32Delta.cpp:
        * src/Codecs/Templates/FieldDefInt32Increment.h:
        * src/Codecs/Templates/FieldDefInt32Increment.cpp:
        * src/Codecs/Templates/FieldDefInt32Nop.h:
        * src/Codecs/Templates/FieldDefInt32Nop.cpp:
        * src/Codecs/Templates/FieldDefInt64Constant.h:
        * src/Codecs/Templates/FieldDefInt64Constant.cpp:
        * src/Codecs/Templates/FieldDefInt64Copy.h:
        * src/Codecs/Templates/FieldDefInt64Copy.cpp:
        * src/Codecs/Templates/FieldDefInt64Default.h:
        * src/Codecs/Templates/FieldDefInt64Default.cpp:
        * src/Codecs/Templates/FieldDefInt64Delta.h:
        * src/Codecs/Templates/FieldDefInt64Delta.cpp:
        * src/Codecs/Templates/FieldDefInt64Increment.h:
        * src/Codecs/Templates/FieldDefInt64Increment.cpp:
        * src/Codecs/Templates/FieldDefInt64Nop.h:
        * src/Codecs/Templates/FieldDefInt64Nop.cpp:
        * src/Codecs/Templates/FieldDefUInt32Constant.h:
        * src/Codecs/Templates/FieldDefUInt32Constant.cpp:
        * src/Codecs/Templates/FieldDefUInt32Copy.h:
        * src/Codecs/Templates/FieldDefUInt32Copy.cpp:
        * src/Codecs/Templates/FieldDefUInt32Default.h:
        * src/Codecs/Templates/FieldDefUInt32Default.cpp:
        * src/Codecs/Templates/FieldDefUInt32Delta.h:
        * src/Codecs/Templates/FieldDefUInt32Delta.cpp:
        * src/Codecs/Templates/FieldDefUInt32Increment.h:
        * src/Codecs/Templates/FieldDefUInt32Increment.cpp:
        * src/Codecs/Templates/FieldDefUInt32Nop.h:
        * src/Codecs/Templates/FieldDefUInt32Nop.cpp:
        * src/Codecs/Templates/FieldDefUInt64Constant.h:
        * src/Codecs/Templates/FieldDefUInt64Constant.cpp:
        * src/Codecs/Templates/FieldDefUInt64Copy.h:
        * src/Codecs/Templates/FieldDefUInt64Copy.cpp:
        * src/Codecs/Templates/FieldDefUInt64Default.h:
        * src/Codecs/Templates/FieldDefUInt64Default.cpp:
        * src/Codecs/Templates/FieldDefUInt64Delta.h:
        * src/Codecs/Templates/FieldDefUInt64Delta.cpp:
        * src/Codecs/Templates/FieldDefUInt64Increment.h:
        * src/Codecs/Templates/FieldDefUInt64Increment.cpp:
        * src/Codecs/Templates/FieldDefUInt64Nop.h:
        * src/Codecs/Templates/FieldDefUInt64Nop.cpp:
        * src/Codecs/Templates/FieldDefUtf8Constant.h:
        * src/Codecs/Templates/FieldDefUtf8Constant.cpp:
        * src/Codecs/Templates/FieldDefUtf8Copy.h:
        * src/Codecs/Templates/FieldDefUtf8Copy.cpp:
        * src/Codecs/Templates/FieldDefUtf8Default.h:
        * src/Codecs/Templates/FieldDefUtf8Default.cpp:
        * src/Codecs/Templates/FieldDefUtf8Delta.h:
        * src/Codecs/Templates/FieldDefUtf8Delta.cpp:
        * src/Codecs/Templates/FieldDefUtf8Nop.h:
        * src/Codecs/Templates/FieldDefUtf8Nop.cpp:
        * src/Codecs/Templates/FieldDefUtf8Tail.h:
        * src/Codecs/Templates/FieldDefUtf8Tail.cpp:
        * src/Codecs/Templates/FieldDef_fwd.h:
        * src/Codecs/Templates/PresenceMap.h:
        * src/Codecs/Templates/PresenceMap.cpp:
        * src/Codecs/Templates/Template.h:
        * src/Codecs/Templates/Template.cpp:
        * src/Codecs/Templates/TemplateRegistry.h:
        * src/Codecs/Templates/TemplateRegistry.cpp:
        * src/Codecs/Templates/TemplateRegistry_fwd.h:
        * src/Codecs/Templates/Template_fwd.h:

        * src/Templates:

        * src/Templates/FieldDef.h:
        * src/Templates/FieldDef.cpp:
        * src/Templates/FieldDefAsciiConstant.h:
        * src/Templates/FieldDefAsciiConstant.cpp:
        * src/Templates/FieldDefAsciiCopy.h:
        * src/Templates/FieldDefAsciiCopy.cpp:
        * src/Templates/FieldDefAsciiDefault.h:
        * src/Templates/FieldDefAsciiDefault.cpp:
        * src/Templates/FieldDefAsciiDelta.h:
        * src/Templates/FieldDefAsciiDelta.cpp:
        * src/Templates/FieldDefAsciiNop.h:
        * src/Templates/FieldDefAsciiNop.cpp:
        * src/Templates/FieldDefAsciiTail.h:
        * src/Templates/FieldDefAsciiTail.cpp:
        * src/Templates/FieldDefByteVectorConstant.h:
        * src/Templates/FieldDefByteVectorConstant.cpp:
        * src/Templates/FieldDefByteVectorCopy.h:
        * src/Templates/FieldDefByteVectorCopy.cpp:
        * src/Templates/FieldDefByteVectorDefault.h:
        * src/Templates/FieldDefByteVectorDefault.cpp:
        * src/Templates/FieldDefByteVectorDelta.h:
        * src/Templates/FieldDefByteVectorDelta.cpp:
        * src/Templates/FieldDefByteVectorNop.h:
        * src/Templates/FieldDefByteVectorNop.cpp:
        * src/Templates/FieldDefByteVectorTail.h:
        * src/Templates/FieldDefByteVectorTail.cpp:
        * src/Templates/FieldDefDecimalConstant.h:
        * src/Templates/FieldDefDecimalConstant.cpp:
        * src/Templates/FieldDefDecimalCopy.h:
        * src/Templates/FieldDefDecimalCopy.cpp:
        * src/Templates/FieldDefDecimalDefault.h:
        * src/Templates/FieldDefDecimalDefault.cpp:
        * src/Templates/FieldDefDecimalDelta.h:
        * src/Templates/FieldDefDecimalDelta.cpp:
        * src/Templates/FieldDefDecimalIncrement.h:
        * src/Templates/FieldDefDecimalIncrement.cpp:
        * src/Templates/FieldDefDecimalNop.h:
        * src/Templates/FieldDefDecimalNop.cpp:
        * src/Templates/FieldDefInt32Constant.h:
        * src/Templates/FieldDefInt32Constant.cpp:
        * src/Templates/FieldDefInt32Copy.h:
        * src/Templates/FieldDefInt32Copy.cpp:
        * src/Templates/FieldDefInt32Default.h:
        * src/Templates/FieldDefInt32Default.cpp:
        * src/Templates/FieldDefInt32Delta.h:
        * src/Templates/FieldDefInt32Delta.cpp:
        * src/Templates/FieldDefInt32Increment.h:
        * src/Templates/FieldDefInt32Increment.cpp:
        * src/Templates/FieldDefInt32Nop.h:
        * src/Templates/FieldDefInt32Nop.cpp:
        * src/Templates/FieldDefInt64Constant.h:
        * src/Templates/FieldDefInt64Constant.cpp:
        * src/Templates/FieldDefInt64Copy.h:
        * src/Templates/FieldDefInt64Copy.cpp:
        * src/Templates/FieldDefInt64Default.h:
        * src/Templates/FieldDefInt64Default.cpp:
        * src/Templates/FieldDefInt64Delta.h:
        * src/Templates/FieldDefInt64Delta.cpp:
        * src/Templates/FieldDefInt64Increment.h:
        * src/Templates/FieldDefInt64Increment.cpp:
        * src/Templates/FieldDefInt64Nop.h:
        * src/Templates/FieldDefInt64Nop.cpp:
        * src/Templates/FieldDefUInt32Constant.h:
        * src/Templates/FieldDefUInt32Constant.cpp:
        * src/Templates/FieldDefUInt32Copy.h:
        * src/Templates/FieldDefUInt32Copy.cpp:
        * src/Templates/FieldDefUInt32Default.h:
        * src/Templates/FieldDefUInt32Default.cpp:
        * src/Templates/FieldDefUInt32Delta.h:
        * src/Templates/FieldDefUInt32Delta.cpp:
        * src/Templates/FieldDefUInt32Increment.h:
        * src/Templates/FieldDefUInt32Increment.cpp:
        * src/Templates/FieldDefUInt32Nop.h:
        * src/Templates/FieldDefUInt32Nop.cpp:
        * src/Templates/FieldDefUInt64Constant.h:
        * src/Templates/FieldDefUInt64Constant.cpp:
        * src/Templates/FieldDefUInt64Copy.h:
        * src/Templates/FieldDefUInt64Copy.cpp:
        * src/Templates/FieldDefUInt64Default.h:
        * src/Templates/FieldDefUInt64Default.cpp:
        * src/Templates/FieldDefUInt64Delta.h:
        * src/Templates/FieldDefUInt64Delta.cpp:
        * src/Templates/FieldDefUInt64Increment.h:
        * src/Templates/FieldDefUInt64Increment.cpp:
        * src/Templates/FieldDefUInt64Nop.h:
        * src/Templates/FieldDefUInt64Nop.cpp:
        * src/Templates/FieldDefUtf8Constant.h:
        * src/Templates/FieldDefUtf8Constant.cpp:
        * src/Templates/FieldDefUtf8Copy.h:
        * src/Templates/FieldDefUtf8Copy.cpp:
        * src/Templates/FieldDefUtf8Default.h:
        * src/Templates/FieldDefUtf8Default.cpp:
        * src/Templates/FieldDefUtf8Delta.h:
        * src/Templates/FieldDefUtf8Delta.cpp:
        * src/Templates/FieldDefUtf8Nop.h:
        * src/Templates/FieldDefUtf8Nop.cpp:
        * src/Templates/FieldDefUtf8Tail.h:
        * src/Templates/FieldDefUtf8Tail.cpp:
        * src/Templates/FieldDef_fwd.h:
        * src/Templates/PresenceMap.h:
        * src/Templates/PresenceMap.cpp:
        * src/Templates/Template.h:
        * src/Templates/Template.cpp:
        * src/Templates/TemplateRegistry.h:
        * src/Templates/TemplateRegistry.cpp:
        * src/Templates/TemplateRegistry_fwd.h:
        * src/Templates/Template_fwd.h:
        Refactor: Merge Templates namespace into Codecs


Wed Dec  3 23:41:34 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Templates/FieldDefAsciiConstant.h:
        * src/Templates/FieldDefAsciiConstant.cpp:
        * src/Templates/FieldDefAsciiDefault.h:
        * src/Templates/FieldDefAsciiDefault.cpp:
        * src/Templates/FieldDefAsciiNop.cpp:
        * src/Templates/FieldDefByteVectorConstant.h:
        * src/Templates/FieldDefByteVectorConstant.cpp:
        * src/Templates/FieldDefInt32Default.h:
        * src/Templates/FieldDefInt32Default.cpp:
        * src/Templates/FieldDefInt32Nop.cpp:
        * src/Templates/FieldDefInt64Default.h:
        * src/Templates/FieldDefInt64Default.cpp:
        * src/Templates/FieldDefInt64Nop.cpp:
        * src/Templates/FieldDefUInt32Default.h:
        * src/Templates/FieldDefUInt32Default.cpp:
        * src/Templates/FieldDefUInt32Nop.cpp:
        * src/Templates/FieldDefUInt64Default.h:
        * src/Templates/FieldDefUInt64Default.cpp:
        * src/Templates/FieldDefUInt64Nop.cpp:
          Implement AsciiDefault and xIntNNDefault field definitions

Wed Dec  3 20:43:25 UTC 2008  Dale Wilson  <wilsond@ociweb.com>


        * src/Templates/FieldDefUtf8Increment.h:
        * src/Templates/FieldDefUtf8Increment.cpp:

          Removed these files.

Wed Dec  3 18:23:53 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        * src/Messages/FieldByteVector.h:
        * src/Messages/FieldByteVector.cpp:
        * src/Messages/FieldDecimal.h:
        * src/Messages/FieldDecimal.cpp:
        * src/Templates/FieldDefAsciiCopy.h:
        * src/Templates/FieldDefAsciiCopy.cpp:
        * src/Templates/FieldDefAsciiDefault.h:
        * src/Templates/FieldDefAsciiDefault.cpp:
        * src/Templates/FieldDefAsciiDelta.h:
        * src/Templates/FieldDefAsciiDelta.cpp:
        * src/Templates/FieldDefAsciiNop.cpp:
        * src/Templates/FieldDefAsciiTail.h:
        * src/Templates/FieldDefAsciiTail.cpp:
        * src/Templates/FieldDefByteVectorConstant.h:
        * src/Templates/FieldDefByteVectorConstant.cpp:
        * src/Templates/FieldDefByteVectorCopy.h:
        * src/Templates/FieldDefByteVectorCopy.cpp:
        * src/Templates/FieldDefByteVectorDefault.h:
        * src/Templates/FieldDefByteVectorDefault.cpp:
        * src/Templates/FieldDefByteVectorDelta.h:
        * src/Templates/FieldDefByteVectorDelta.cpp:
        * src/Templates/FieldDefByteVectorNop.h:
        * src/Templates/FieldDefByteVectorNop.cpp:
        * src/Templates/FieldDefByteVectorTail.h:
        * src/Templates/FieldDefByteVectorTail.cpp:
        * src/Templates/FieldDefDecimalConstant.h:
        * src/Templates/FieldDefDecimalConstant.cpp:
        * src/Templates/FieldDefDecimalCopy.h:
        * src/Templates/FieldDefDecimalCopy.cpp:
        * src/Templates/FieldDefDecimalDefault.h:
        * src/Templates/FieldDefDecimalDefault.cpp:
        * src/Templates/FieldDefDecimalDelta.h:
        * src/Templates/FieldDefDecimalDelta.cpp:
        * src/Templates/FieldDefDecimalIncrement.h:
        * src/Templates/FieldDefDecimalIncrement.cpp:
        * src/Templates/FieldDefDecimalNop.h:
        * src/Templates/FieldDefDecimalNop.cpp:
        * src/Templates/FieldDefInt32Copy.h:
        * src/Templates/FieldDefInt32Copy.cpp:
        * src/Templates/FieldDefInt32Default.h:
        * src/Templates/FieldDefInt32Default.cpp:
        * src/Templates/FieldDefInt32Delta.h:
        * src/Templates/FieldDefInt32Delta.cpp:
        * src/Templates/FieldDefInt32Increment.h:
        * src/Templates/FieldDefInt32Increment.cpp:
        * src/Templates/FieldDefInt64Constant.h:
        * src/Templates/FieldDefInt64Copy.h:
        * src/Templates/FieldDefInt64Copy.cpp:
        * src/Templates/FieldDefInt64Default.h:
        * src/Templates/FieldDefInt64Default.cpp:
        * src/Templates/FieldDefInt64Delta.h:
        * src/Templates/FieldDefInt64Delta.cpp:
        * src/Templates/FieldDefInt64Increment.h:
        * src/Templates/FieldDefInt64Increment.cpp:
        * src/Templates/FieldDefUInt32Copy.h:
        * src/Templates/FieldDefUInt32Copy.cpp:
        * src/Templates/FieldDefUInt32Default.h:
        * src/Templates/FieldDefUInt32Default.cpp:
        * src/Templates/FieldDefUInt32Delta.h:
        * src/Templates/FieldDefUInt32Delta.cpp:
        * src/Templates/FieldDefUInt32Increment.h:
        * src/Templates/FieldDefUInt32Increment.cpp:
        * src/Templates/FieldDefUInt64Copy.h:
        * src/Templates/FieldDefUInt64Copy.cpp:
        * src/Templates/FieldDefUInt64Default.h:
        * src/Templates/FieldDefUInt64Default.cpp:
        * src/Templates/FieldDefUInt64Delta.h:
        * src/Templates/FieldDefUInt64Delta.cpp:
        * src/Templates/FieldDefUInt64Increment.h:
        * src/Templates/FieldDefUInt64Increment.cpp:
        * src/Templates/FieldDefUtf8Copy.h:
        * src/Templates/FieldDefUtf8Copy.cpp:
        * src/Templates/FieldDefUtf8Default.h:
        * src/Templates/FieldDefUtf8Default.cpp:
        * src/Templates/FieldDefUtf8Delta.h:
        * src/Templates/FieldDefUtf8Delta.cpp:
        * src/Templates/FieldDefUtf8Increment.h:
        * src/Templates/FieldDefUtf8Increment.cpp:
        * src/Templates/FieldDefUtf8Tail.h:
        * src/Templates/FieldDefUtf8Tail.cpp:
        Declare classes to represent the remainging field type/operator combinations.

Wed Dec  3 00:22:27 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSource.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Dictionary.h:
        * src/Templates/FieldDef.h:
        * src/Templates/FieldDefAsciiConstant.h:
        * src/Templates/FieldDefAsciiConstant.cpp:
        * src/Templates/FieldDefAsciiNop.h:
        * src/Templates/FieldDefAsciiNop.cpp:
        * src/Templates/FieldDefInt32Constant.h:
        * src/Templates/FieldDefInt32Constant.cpp:
        * src/Templates/FieldDefInt32Nop.h:
        * src/Templates/FieldDefInt32Nop.cpp:
        * src/Templates/FieldDefInt64Constant.h:
        * src/Templates/FieldDefInt64Constant.cpp:
        * src/Templates/FieldDefInt64Nop.h:
        * src/Templates/FieldDefInt64Nop.cpp:
        * src/Templates/FieldDefUInt32Constant.h:
        * src/Templates/FieldDefUInt32Constant.cpp:
        * src/Templates/FieldDefUInt32Nop.h:
        * src/Templates/FieldDefUInt32Nop.cpp:
        * src/Templates/FieldDefUInt64Constant.h:
        * src/Templates/FieldDefUInt64Constant.cpp:
        * src/Templates/FieldDefUInt64Nop.h:
        * src/Templates/FieldDefUInt64Nop.cpp:
        * src/Templates/FieldDefUtf8Constant.h:
        * src/Templates/FieldDefUtf8Constant.cpp:
        * src/Templates/FieldDefUtf8Nop.h:
        * src/Templates/FieldDefUtf8Nop.cpp:
        * src/Templates/PresenceMap.h:
        * src/Templates/PresenceMap.cpp:
        * src/Templates/Template.h:
        * src/Templates/Template.cpp:
        * src/Templates/TemplateRegistry.h:
        * src/Templates/TemplateRegistry.cpp:
        * src/Tests/main.cpp:
        Change DataSource interface to getByte()
        Change PresenceMap to preallocate bits space and grow if necessary
        Template tracks number of presence map bits required
        Template Registry track maximum number of presence map bits required
        Decoder uses maximum number of presence map bits to initialize working presence map.

Tue Dec  2 22:22:26 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Templates/FieldDef.h:
        * src/Templates/FieldDefAsciiConstant.h:
        * src/Templates/FieldDefAsciiConstant.cpp:
        * src/Templates/FieldDefAsciiNop.h:
        * src/Templates/FieldDefAsciiNop.cpp:
        * src/Templates/FieldDefInt32Constant.h:
        * src/Templates/FieldDefInt32Constant.cpp:
        * src/Templates/FieldDefInt32Nop.h:
        * src/Templates/FieldDefInt32Nop.cpp:
        * src/Templates/FieldDefInt64Constant.h:
        * src/Templates/FieldDefInt64Constant.cpp:
        * src/Templates/FieldDefInt64Nop.h:
        * src/Templates/FieldDefInt64Nop.cpp:
        * src/Templates/FieldDefUInt32Constant.h:
        * src/Templates/FieldDefUInt32Constant.cpp:
        * src/Templates/FieldDefUInt32Nop.h:
        * src/Templates/FieldDefUInt32Nop.cpp:
        * src/Templates/FieldDefUInt64Constant.h:
        * src/Templates/FieldDefUInt64Constant.cpp:
        * src/Templates/FieldDefUInt64Nop.h:
        * src/Templates/FieldDefUInt64Nop.cpp:
        * src/Templates/FieldDefUtf8Constant.h:
        * src/Templates/FieldDefUtf8Constant.cpp:
        * src/Templates/FieldDefUtf8Nop.h:
        * src/Templates/FieldDefAscii.h:
        * src/Templates/FieldDefAscii.cpp:
        * src/Templates/FieldDefUtf8.h:
        * src/Templates/FieldDefUtf8.cpp:
        Move Ascii & UTF8 decoding to Decoder (in progress)
        Add requiresPresenceMapBit() method

Tue Dec  2 22:02:38 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSource.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/Dictionary.h:
        * src/Codecs/Dictionary_fwd.h:
        * src/Common/Exceptions.h:
        * src/Templates/FieldDefInt32Constant.h:
        * src/Templates/FieldDefInt32Constant.cpp:
        * src/Templates/FieldDefInt32Nop.h:
        * src/Templates/FieldDefInt32Nop.cpp:
        * src/Templates/FieldDefInt64Constant.h:
        * src/Templates/FieldDefInt64Constant.cpp:
        * src/Templates/FieldDefInt64Nop.h:
        * src/Templates/FieldDefInt64Nop.cpp:
        * src/Templates/FieldDefUInt32Constant.h:
        * src/Templates/FieldDefUInt32Constant.cpp:
        * src/Templates/FieldDefUInt32Nop.h:
        * src/Templates/FieldDefUInt32Nop.cpp:
        * src/Templates/FieldDefUInt64Constant.h:
        * src/Templates/FieldDefUInt64Constant.cpp:
        * src/Templates/FieldDefUInt64Nop.h:
        * src/Templates/FieldDefUInt64Nop.cpp:
        * src/Templates/FieldDefSignedInt.h:
        * src/Templates/FieldDefUnsignedInt.h:
        * src/Templates/FieldSignedInt.h:
          Begin defining Dictionary
          Move basic integer decoding to Decoder static methods
          Eliminate FieldDef(Un)SignedInt classes

Tue Dec  2 01:17:20 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Messages/FieldUtf8.h:
        * src/Messages/FieldUtf8.cpp:
        * src/Templates/FieldDefAscii.h:
        * src/Templates/FieldDefAscii.cpp:
        * src/Templates/FieldDefAsciiConstant.h:
        * src/Templates/FieldDefAsciiConstant.cpp:
        * src/Templates/FieldDefAsciiNop.h:
        * src/Templates/FieldDefAsciiNop.cpp:
        * src/Templates/FieldDefSignedInt.h:
        * src/Templates/FieldDefUtf8.h:
        * src/Templates/FieldDefUtf8.cpp:
        * src/Templates/FieldDefUtf8Constant.h:
        * src/Templates/FieldDefUtf8Constant.cpp:
        * src/Templates/FieldDefUtf8Nop.h:
        Declare (but don't yet define) support for Ascii and UTF8

Tue Dec  2 00:25:22 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Templates/FieldDefInt64Constant.h:
        * src/Templates/FieldDefInt64Constant.cpp:
        * src/Templates/FieldDefInt64Nop.h:
        * src/Templates/FieldDefInt64Nop.cpp:
        * src/Templates/FieldDefUInt64Constant.h:
        * src/Templates/FieldDefUInt64Constant.cpp:
        * src/Templates/FieldDefUInt64Nop.h:
        * src/Templates/FieldDefUInt64Nop.cpp:
        Add 64 bit definitions

Tue Dec  2 00:23:29 UTC 2008  Dale Wilson  <wilsond@ociweb.com>


        * src/Templates/FieldDefInt64.h:
        * src/Templates/FieldDefInt64.cpp:
        * src/Templates/FieldDefUInt64.h:
        * src/Templates/FieldDefUInt64.cpp:
        Use consolidated base integer type

Tue Dec  2 00:07:09 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Common/Exceptions.h:
        * src/Common/FASTPitchPch.h:
        Switch to more descriptive base exceptions

        * src/Messages/FieldAscii.h:
        * src/Messages/FieldAscii.cpp:
        Add ASCII field type.

        * src/Templates/FieldDefInt32Constant.h:
        * src/Templates/FieldDefInt32Constant.cpp:
        * src/Templates/FieldDefInt32Nop.h:
        * src/Templates/FieldDefInt32Nop.cpp:
        * src/Templates/FieldDefSignedInt.h:
        * src/Templates/FieldDefUInt32Constant.h:
        * src/Templates/FieldDefUInt32Constant.cpp:
        * src/Templates/FieldDefUInt32Nop.h:
        * src/Templates/FieldDefUInt32Nop.cpp:
        * src/Templates/FieldDefUnsignedInt.h:
        * src/Templates/FieldSignedInt.h:
        * src/Templates/FieldDefInt32.h:
        * src/Templates/FieldDefInt32.cpp:
        * src/Templates/FieldDefUInt32.h:
        * src/Templates/FieldDefUInt32.cpp:
        Consolidate signed field definitions.
        Consolidate unsigned field definitions.

Mon Dec  1 19:28:15 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Messages/Field.h:
          More doxygen
          At this point I believe all base classes are documented.
          Derived classes, and yet-to-be-written classes are not, yet.

Mon Dec  1 19:18:10 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * src/Codecs/DataSource.h:
        * src/Codecs/DataSource_fwd.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder_fwd.h:
        * src/Common/FASTPitchPch.h:
        * src/Common/FASTPitch_Export.h:
        * src/Doxyfile:
        * src/Messages/Field_fwd.h:
        * src/Messages/Message.h:
        * src/Messages/Message_fwd.h:
        * src/Templates/FieldDef.h:
        * src/Templates/FieldDef_fwd.h:
        * src/Templates/PresenceMap.h:
        * src/Templates/Template.h:
        * src/Templates/TemplateRegistry.h:
        * src/Templates/TemplateRegistry_fwd.h:
        * src/Templates/Template_fwd.h:
          Preliminary JavaDOC

Mon Dec  1 17:45:19 UTC 2008  Dale Wilson  <wilsond@ociweb.com>
        * src/Codecs/DataSource.h:
        * src/Codecs/DataSource_fwd.h:
        * src/Codecs/Decoder.h:
        * src/Codecs/Decoder.cpp:
        * src/Codecs/Decoder_fwd.h:
        * src/Common/Exceptions.h:
        * src/FASTPitch.mpc:
        * src/Messages/Field.cpp:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/Message.h:
        * src/Messages/Message.cpp:
        * src/Templates/FieldDef.h:
        * src/Templates/FieldDef.cpp:
        * src/Templates/FieldDefInt32.h:
        * src/Templates/FieldDefInt32.cpp:
        * src/Templates/FieldDefInt32Constant.h:
        * src/Templates/FieldDefInt32Constant.cpp:
        * src/Templates/FieldDefInt32Nop.h:
        * src/Templates/FieldDefInt32Nop.cpp:
        * src/Templates/FieldDefInt64.h:
        * src/Templates/FieldDefInt64.cpp:
        * src/Templates/FieldDefUInt32.h:
        * src/Templates/FieldDefUInt32.cpp:
        * src/Templates/FieldDefUInt32Constant.h:
        * src/Templates/FieldDefUInt32Constant.cpp:
        * src/Templates/FieldDefUInt32Nop.h:
        * src/Templates/FieldDefUInt32Nop.cpp:
        * src/Templates/FieldDefUInt64.h:
        * src/Templates/FieldDefUInt64.cpp:
        * src/Templates/FieldDef_fwd.h:
        * src/Templates/PresenceMap.h:
        * src/Templates/PresenceMap.cpp:
        * src/Templates/Template.h:
        * src/Templates/Template.cpp:
        * src/Templates/TemplateRegistry.h:
        * src/Templates/TemplateRegistry.cpp:
        * src/Templates/TemplateRegistry_fwd.h:
        * src/Templates/Template_fwd.h:
        * src/Tests/main.cpp:
          Continue to rename namespaces

Mon Dec  1 17:17:34 UTC 2008  Dale Wilson  <wilsond@ociweb.com>
        * src/Tests:
        * src/Test:
        * src/Test/main.cpp:
          Move Test to Tests

Mon Dec  1 17:14:11 UTC 2008  Dale Wilson  <wilsond@ociweb.com>
        More renaming of namespaces
        * src/Codecs:

        * src/Common/Exceptions.h:

        * src/Templates:

        * src/Codec:

        * src/Codec/DataSource.h:
        * src/Codec/DataSource_fwd.h:
        * src/Codec/Decoder.h:
        * src/Codec/Decoder.cpp:
        * src/Codec/Decoder_fwd.h:

        * src/Exception/Exceptions.h:

        * src/Template:

        * src/Template/FieldDef.h:
        * src/Template/FieldDef.cpp:
        * src/Template/FieldDefInt32.h:
        * src/Template/FieldDefInt32.cpp:
        * src/Template/FieldDefInt32Constant.h:
        * src/Template/FieldDefInt32Constant.cpp:
        * src/Template/FieldDefInt32Nop.h:
        * src/Template/FieldDefInt32Nop.cpp:
        * src/Template/FieldDefInt64.h:
        * src/Template/FieldDefInt64.cpp:
        * src/Template/FieldDefUInt32.h:
        * src/Template/FieldDefUInt32.cpp:
        * src/Template/FieldDefUInt32Constant.h:
        * src/Template/FieldDefUInt32Constant.cpp:
        * src/Template/FieldDefUInt32Nop.h:
        * src/Template/FieldDefUInt32Nop.cpp:
        * src/Template/FieldDefUInt64.h:
        * src/Template/FieldDefUInt64.cpp:
        * src/Template/FieldDef_fwd.h:
        * src/Template/PresenceMap.h:
        * src/Template/PresenceMap.cpp:
        * src/Template/Template.h:
        * src/Template/Template.cpp:
        * src/Template/TemplateRegistry.h:
        * src/Template/TemplateRegistry.cpp:
        * src/Template/TemplateRegistry_fwd.h:
        * src/Template/Template_fwd.h:

          Removed these files.

Mon Dec  1 17:10:28 UTC 2008  Dale Wilson  <wilsond@ociweb.com>
        Renaming Namespaces continues

        * src/Codec/DataSource.h:
        * src/Codec/Decoder.h:
        * src/Codec/Decoder.cpp:

        * src/Common/FASTPitchPch.cpp:
        * src/Common/dllmain.cpp:

        * src/Exception/Exceptions.h:

        * src/FASTPitch.mpc:
        * src/Messages:

        * src/Messages/Field.h:
        * src/Messages/Field.cpp:
        * src/Messages/FieldInt32.h:
        * src/Messages/FieldInt32.cpp:
        * src/Messages/FieldInt64.h:
        * src/Messages/FieldInt64.cpp:
        * src/Messages/FieldUInt32.h:
        * src/Messages/FieldUInt32.cpp:
        * src/Messages/FieldUInt64.h:
        * src/Messages/FieldUInt64.cpp:
        * src/Messages/Field_fwd.h:
        * src/Messages/Message.h:
        * src/Messages/Message.cpp:
        * src/Messages/Message_fwd.h:

        * src/Template/FieldDef_fwd.h:
        * src/Template/Template.h:
        * src/Template/TemplateRegistry_fwd.h:
        * src/Template/Template_fwd.h:

        * src/Test/main.cpp:

        * src/Message:

        * src/Message/Field.h:
        * src/Message/Field.cpp:
        * src/Message/FieldInt32.h:
        * src/Message/FieldInt32.cpp:
        * src/Message/FieldInt64.h:
        * src/Message/FieldInt64.cpp:
        * src/Message/FieldUInt32.h:
        * src/Message/FieldUInt32.cpp:
        * src/Message/FieldUInt64.h:
        * src/Message/FieldUInt64.cpp:
        * src/Message/Field_fwd.h:
        * src/Message/Message.h:
        * src/Message/Message.cpp:
        * src/Message/Message_fwd.h:

          Removed these files.

Mon Dec  1 16:20:14 UTC 2008  Dale Wilson  <wilsond@ociweb.com>

        * ChangeLog:
        Setting up new project in SVN

Local Variables:
indent-tabs-mode: nil
End:
