Skip to content

Commit

Permalink
- Patch #3393345: BOOST_FOREACH compatibility. Made Json::iterator mo…
Browse files Browse the repository at this point in the history
…re standard compliant, added missing iterator_category and value_type typedefs (contribued by Robert A. Iannucci).

- Patch #3474563: added missing JSON_API on some classes causing link issues when building as a dynamic library on Windows (contributed by Francis Bolduc).
  • Loading branch information
blep committed Apr 12, 2013
1 parent f92ace5 commit a8afdd4
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 5 deletions.
11 changes: 11 additions & 0 deletions NEWS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,17 @@ New in SVN
representable using an Int64, or asDouble() combined with minInt64 and
maxInt64 to figure out whether it is approximately representable.

* Value
- Patch #3393345: BOOST_FOREACH compatibility. Made Json::iterator more
standard compliant, added missing iterator_category and value_type
typedefs (contribued by Robert A. Iannucci).

* Compilation

- Patch #3474563: added missing JSON_API on some classes causing link issues
when building as a dynamic library on Windows
(contributed by Francis Bolduc).

* Bug fixes
- Patch #3539678: Copy constructor does not initialize allocated_ for stringValue
(contributed by rmongia).
Expand Down
1 change: 1 addition & 0 deletions doc/roadmap.dox
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
\section ms_release Makes JsonCpp ready for release
- Build system clean-up:
- Fix build on Windows (shared-library build is broken)
- Compile and run tests using shared library on Windows to ensure no JSON_API macro is missing.
- Add enable/disable flag for static and shared library build
- Enhance help
- Platform portability check: (Notes: was ok on last check)
Expand Down
13 changes: 8 additions & 5 deletions include/json/value.h
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,7 @@ namespace Json {

/** \brief Experimental and untested: represents an element of the "path" to access a node.
*/
class PathArgument
class JSON_API PathArgument
{
public:
friend class Path;
Expand Down Expand Up @@ -540,7 +540,7 @@ namespace Json {
* - ".%" => member name is provided as parameter
* - ".[%]" => index is provied as parameter
*/
class Path
class JSON_API Path
{
public:
Path( const std::string &path,
Expand Down Expand Up @@ -916,9 +916,10 @@ class DefaultValueArrayAllocator : public ValueArrayAllocator
/** \brief base class for Value iterators.
*
*/
class ValueIteratorBase
class JSON_API ValueIteratorBase
{
public:
typedef std::bidirectional_iterator_tag iterator_category;
typedef unsigned int size_t;
typedef int difference_type;
typedef ValueIteratorBase SelfType;
Expand Down Expand Up @@ -986,10 +987,11 @@ class DefaultValueArrayAllocator : public ValueArrayAllocator
/** \brief const iterator for object and array value.
*
*/
class ValueConstIterator : public ValueIteratorBase
class JSON_API ValueConstIterator : public ValueIteratorBase
{
friend class Value;
public:
typedef const Value value_type;
typedef unsigned int size_t;
typedef int difference_type;
typedef const Value &reference;
Expand Down Expand Up @@ -1044,10 +1046,11 @@ class DefaultValueArrayAllocator : public ValueArrayAllocator

/** \brief Iterator for object and array value.
*/
class ValueIterator : public ValueIteratorBase
class JSON_API ValueIterator : public ValueIteratorBase
{
friend class Value;
public:
typedef Value value_type;
typedef unsigned int size_t;
typedef int difference_type;
typedef Value &reference;
Expand Down

0 comments on commit a8afdd4

Please sign in to comment.