Permalink
Commits on May 23, 2012
  1. Need to make sure ThorMaker is setup

    Martin York committed May 23, 2012
  2. Modified the project to use ThorMaker

    Martin York committed May 23, 2012
  3. Removed build tools.

    Martin York committed May 23, 2012
        I am splitting the build tools out into a separate project.
        First stage remove them from the project
Commits on May 18, 2012
  1. Added specialization for std::vector<std::string>

    Martin York committed May 18, 2012
Commits on May 17, 2012
  1. Fix commit mistake

    Martin York committed May 17, 2012
  2. Pass it (C++ version 03/11) when building directories.

    Martin York committed May 17, 2012
  3. Pass it (C++ version 03/11) when building directories.

    Martin York committed May 17, 2012
  4. Did some work to make it compile in C++11 and C++03

    Martin York committed May 17, 2012
        The default is C++03    which means std::auto_ptr<> for owned pointers.
        When using     C++11    this means std::unique_ptr<> for owned pointers.
    
        You can specify C++11 by setting the CXXSTDVER flag for make.
    
        This will build all libs with either 11 or 03 extension so they
        can live together in the destination directory.
Commits on May 15, 2012
Commits on May 13, 2012
  1. Make sure unit tests get the extra libs they need

    Martin York committed May 13, 2012
  2. Added specialization for application libraries

    Martin York committed May 13, 2012
Commits on May 12, 2012
  1. Change in how it works.

    Martin York committed May 12, 2012
             All the macros now assume that the type they are working with is called `LocalType`
             This design changes is to minimise repetitive code.
             As this is a breaking change I am rolling the major version number.
             The previos version will be in a branch
    
             This means that code that looked like this:
    
                class MyClass
                {
                    int          member1;
                    double       member2;
                    std::string  member3;
    
                    friend class JsonSerializeTraits<MyClass>;
                };
    
                namespace ThorsAnvil { namespace Serialize { namespace Json {
    
                template<>
                class JsonSerializeTraits<MyClass>
                {
                    static ThorsAnvil::Serialize::Json::JsonSerializeType const  type    = Map;
    
                    THORSANVIL_SERIALIZE_JsonAttribute(MyClass, member1);
                    THORSANVIL_SERIALIZE_JsonAttribute(MyClass, member2);
                    THORSANVIL_SERIALIZE_JsonAttribute(MyClass, member3);
                    typedef boost::mps::vector<member1, member2, member3>   SerializeInfo;
                };
    
                }}}
             Now needs to look like this:
    
                class MyClass
                {
                    int          member1;
                    double       member2;
                    std::string  member3;
    
                    friend class JsonSerializeTraits<MyClass>;
                };
    
                namespace ThorsAnvil { namespace Serialize { namespace Json {
    
                template<>
                class JsonSerializeTraits<MyClass>
                {
                    // IMPORTANT:
                    // Added a typedef here
                    //
                    typedef MyClass LocalType;
                    static ThorsAnvil::Serialize::Json::JsonSerializeType const  type    = Map;
    
                    // Now each of these items just needs to mention the members.
                    // Thus making the macros easier to use.
                    THORSANVIL_SERIALIZE_JsonAttribute(member1);
                    THORSANVIL_SERIALIZE_JsonAttribute(member2);
                    THORSANVIL_SERIALIZE_JsonAttribute(member3);
                    typedef boost::mps::vector<member1, member2, member3>   SerializeInfo;
                };
    
                }}}
  2. Added utility to merge DOM

    Martin York committed May 12, 2012
Commits on May 11, 2012
  1. Add the ability to stream JsonDOM to output stream.

    Martin York committed May 11, 2012
Commits on May 10, 2012
  1. Put back flag that was removed

    Martin York committed May 10, 2012
  2. Add support for serializing/de-serializing ENUM

    Martin York committed May 10, 2012
Commits on May 9, 2012
  1. Improves error message presented to user

    Martin York committed May 9, 2012
  2. Improvements to Makefile

    Martin York committed May 9, 2012
Commits on May 8, 2012
Commits on May 7, 2012
  1. Make sure we go back to root

    Martin York committed May 7, 2012
  2. Minor fixes to unit test to compile with no warnings.

    Martin York committed May 7, 2012
    Fixed setup to automatically create required dir
    Added missing header file
  3. Minor fixes to make it compile

    Martin York committed May 7, 2012
  4. Get JSON to compile on Ubuntu-10.04

    Martin York committed May 7, 2012
  5. Testing

    Martin York committed May 7, 2012
Commits on Apr 24, 2012
  1. Added functionality so a class can be serialized as either an Array o…

    Martin York committed Apr 24, 2012
    …r Map
  2. Added functionality so a class can be serialized as either an Array o…

    Martin York committed Apr 24, 2012
    …r Map
  3. Put back original test.cpp

    Martin York committed Apr 24, 2012
  4. Put back original test.cpp

    Martin York committed Apr 24, 2012
  5. COPYRIGHT

    Martin York committed Apr 24, 2012
  6. COPYRIGHT

    Martin York committed Apr 24, 2012