Added svn:eol-style native
diff --git a/SConstruct b/SConstruct
index b4cba59..e32ed90 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1,174 +1,174 @@
-import os

-import os.path

-import sys

-

-JSONCPP_VERSION = '0.1'

-DIST_DIR = '#dist'

-

-options = Options()

-options.Add( EnumOption('platform',

-                        'Platform (compiler/stl) used to build the project',

-                        'msvc71',

-                        allowed_values='suncc vacpp mingw msvc6 msvc7 msvc71 msvc80 linux-gcc'.split(),

-                        ignorecase=2) )

-

-try:

-    platform = ARGUMENTS['platform']

-except KeyError:

-    print 'You must specify a "platform"'

-    sys.exit(2)

-

-print "Building using PLATFORM =", platform

-

-rootbuild_dir = Dir('#buildscons')

-build_dir = os.path.join( '#buildscons', platform )

-bin_dir = os.path.join( '#bin', platform )

-lib_dir = os.path.join( '#libs', platform )

-sconsign_dir_path = Dir(build_dir).abspath

-sconsign_path = os.path.join( sconsign_dir_path, '.sconsign.dbm' )

-

-# Ensure build directory exist (SConsignFile fail otherwise!)

-if not os.path.exists( sconsign_dir_path ):

-    os.makedirs( sconsign_dir_path )

-

-# Store all dependencies signature in a database

-SConsignFile( sconsign_path )

-

-env = Environment( ENV = {'PATH' : os.environ['PATH']},

-                   toolpath = ['scons-tools'],

-                   tools=[] ) #, tools=['default'] )

-

-if platform == 'suncc':

-    env.Tool( 'sunc++' )

-    env.Tool( 'sunlink' )

-    env.Tool( 'sunar' )

-    env.Append( LIBS = ['pthreads'] )

-elif platform == 'vacpp':

-    env.Tool( 'default' )

-    env.Tool( 'aixcc' )

-    env['CXX'] = 'xlC_r'   #scons does not pick-up the correct one !

-    # using xlC_r ensure multi-threading is enabled:

-    # http://publib.boulder.ibm.com/infocenter/pseries/index.jsp?topic=/com.ibm.vacpp7a.doc/compiler/ref/cuselect.htm

-    env.Append( CCFLAGS = '-qrtti=all',

-                LINKFLAGS='-bh:5' )  # -bh:5 remove duplicate symbol warning

-elif platform == 'msvc6':

-    env['MSVS_VERSION']='6.0'

-    for tool in ['msvc', 'msvs', 'mslink', 'masm', 'mslib']:

-        env.Tool( tool )

-    env['CXXFLAGS']='-GR -GX /nologo /MT'

-elif platform == 'msvc70':

-    env['MSVS_VERSION']='7.0'

-    for tool in ['msvc', 'msvs', 'mslink', 'masm', 'mslib']:

-        env.Tool( tool )

-    env['CXXFLAGS']='-GR -GX /nologo /MT'

-elif platform == 'msvc71':

-    env['MSVS_VERSION']='7.1'

-    for tool in ['msvc', 'msvs', 'mslink', 'masm', 'mslib']:

-        env.Tool( tool )

-    env['CXXFLAGS']='-GR -GX /nologo /MT'

-elif platform == 'msvc80':

-    env['MSVS_VERSION']='8.0'

-    for tool in ['msvc', 'msvs', 'mslink', 'masm', 'mslib']:

-        env.Tool( tool )

-    env['CXXFLAGS']='-GR -EHsc /nologo /MT'

-elif platform == 'mingw':

-    env.Tool( 'mingw' )

-    env.Append( CPPDEFINES=[ "WIN32", "NDEBUG", "_MT" ] )

-elif platform == 'linux-gcc':

-    env.Tool( 'default' )

-    env.Append( LIBS = ['pthread'], CCFLAGS = "-Wall" )

-else:

-    print "UNSUPPORTED PLATFORM."

-    env.Exit(1)

-

-env.Tool('doxygen')

-env.Tool('substinfile')

-env.Tool('targz')

-env.Tool('srcdist')

-

-env.Append( CPPPATH = ['#include'],

-            LIBPATH = lib_dir )

-short_platform = platform

-if short_platform.startswith('msvc'):

-    short_platform = short_platform[2:]

-env['LIB_PLATFORM'] = short_platform

-env['LIB_LINK_TYPE'] = 'lib'    # static

-env['LIB_CRUNTIME'] = 'mt'

-env['LIB_NAME_SUFFIX'] = '${LIB_PLATFORM}_${LIB_LINK_TYPE}${LIB_CRUNTIME}'  # must match autolink naming convention

-env['JSONCPP_VERSION'] = JSONCPP_VERSION

-env['BUILD_DIR'] = env.Dir(build_dir)

-env['ROOTBUILD_DIR'] = env.Dir(rootbuild_dir)

-env['DIST_DIR'] = DIST_DIR

-class SrcDistAdder:

-    def __init__( self, env ):

-        self.env = env

-    def __call__( self, *args, **kw ):

-        apply( self.env.SrcDist, (self.env['SRCDIST_TARGET'],) + args, kw )

-env['SRCDIST_ADD'] = SrcDistAdder( env )

-env['SRCDIST_TARGET'] = os.path.join( DIST_DIR, 'jsoncpp-src-%s.tar.gz' % env['JSONCPP_VERSION'] )

-env['SRCDIST_BUILDER'] = env.TarGz

-                      

-env_testing = env.Copy( )

-env_testing.Append( LIBS = ['json_${LIB_NAME_SUFFIX}'] )

-

-def buildJSONExample( env, target_sources, target_name ):

-    env = env.Copy()

-    env.Append( CPPPATH = ['#'] )

-    exe = env.Program( target=target_name,

-                       source=target_sources )

-    env['SRCDIST_ADD']( source=[target_sources] )

-    global bin_dir

-    return env.Install( bin_dir, exe )

-

-def buildJSONTests( env, target_sources, target_name ):

-    jsontests_node = buildJSONExample( env, target_sources, target_name )

-    check_alias_target = env.Alias( 'check', jsontests_node, RunJSONTests( jsontests_node, jsontests_node ) )

-    env.AlwaysBuild( check_alias_target )

-

-def buildLibrary( env, target_sources, target_name ):

-    static_lib = env.StaticLibrary( target=target_name + '_${LIB_NAME_SUFFIX}',

-                                    source=target_sources )

-    shared_lib = env.SharedLibrary( target=target_name + '_${LIB_NAME_SUFFIX}',

-                                    source=target_sources )

-    global lib_dir

-    env.Install( lib_dir, static_lib )

-    env.Install( lib_dir, shared_lib )

-    env['SRCDIST_ADD']( source=[target_sources] )

-

-Export( 'env env_testing buildJSONExample buildLibrary buildJSONTests' )

-

-def buildProjectInDirectory( target_directory ):

-    global build_dir

-    target_build_dir = os.path.join( build_dir, target_directory )

-    target = os.path.join( target_directory, 'sconscript' )

-    SConscript( target, build_dir=target_build_dir, duplicate=0 )

-    env['SRCDIST_ADD']( source=[target] )

-

-

-def runJSONTests_action( target, source = None, env = None ):

-    # Add test scripts to python path

-    jsontest_path = Dir( '#test' ).abspath

-    sys.path.insert( 0, jsontest_path )

-    import runjsontests

-    return runjsontests.runAllTests( os.path.abspath(source), jsontest_path )

-

-def runJSONTests_string( target, source = None, env = None ):

-    return 'RunJSONTests("%s")' % source

-

-##def buildDoc( doxyfile_path ):

-##    doc_cmd = env.Doxygen( doxyfile_path )

-

-import SCons.Action

-ActionFactory = SCons.Action.ActionFactory

-RunJSONTests = ActionFactory(runJSONTests_action, runJSONTests_string )

-

-env.Alias( 'check' )

-

-srcdist_cmd = env['SRCDIST_ADD']( source = """

-    AUTHORS README.txt SConstruct

-    """.split() )

-env.Alias( 'src-dist', srcdist_cmd )

-

-buildProjectInDirectory( 'src/jsontestrunner' )

-buildProjectInDirectory( 'src/lib_json' )

-buildProjectInDirectory( 'doc' )

+import os
+import os.path
+import sys
+
+JSONCPP_VERSION = '0.1'
+DIST_DIR = '#dist'
+
+options = Options()
+options.Add( EnumOption('platform',
+                        'Platform (compiler/stl) used to build the project',
+                        'msvc71',
+                        allowed_values='suncc vacpp mingw msvc6 msvc7 msvc71 msvc80 linux-gcc'.split(),
+                        ignorecase=2) )
+
+try:
+    platform = ARGUMENTS['platform']
+except KeyError:
+    print 'You must specify a "platform"'
+    sys.exit(2)
+
+print "Building using PLATFORM =", platform
+
+rootbuild_dir = Dir('#buildscons')
+build_dir = os.path.join( '#buildscons', platform )
+bin_dir = os.path.join( '#bin', platform )
+lib_dir = os.path.join( '#libs', platform )
+sconsign_dir_path = Dir(build_dir).abspath
+sconsign_path = os.path.join( sconsign_dir_path, '.sconsign.dbm' )
+
+# Ensure build directory exist (SConsignFile fail otherwise!)
+if not os.path.exists( sconsign_dir_path ):
+    os.makedirs( sconsign_dir_path )
+
+# Store all dependencies signature in a database
+SConsignFile( sconsign_path )
+
+env = Environment( ENV = {'PATH' : os.environ['PATH']},
+                   toolpath = ['scons-tools'],
+                   tools=[] ) #, tools=['default'] )
+
+if platform == 'suncc':
+    env.Tool( 'sunc++' )
+    env.Tool( 'sunlink' )
+    env.Tool( 'sunar' )
+    env.Append( LIBS = ['pthreads'] )
+elif platform == 'vacpp':
+    env.Tool( 'default' )
+    env.Tool( 'aixcc' )
+    env['CXX'] = 'xlC_r'   #scons does not pick-up the correct one !
+    # using xlC_r ensure multi-threading is enabled:
+    # http://publib.boulder.ibm.com/infocenter/pseries/index.jsp?topic=/com.ibm.vacpp7a.doc/compiler/ref/cuselect.htm
+    env.Append( CCFLAGS = '-qrtti=all',
+                LINKFLAGS='-bh:5' )  # -bh:5 remove duplicate symbol warning
+elif platform == 'msvc6':
+    env['MSVS_VERSION']='6.0'
+    for tool in ['msvc', 'msvs', 'mslink', 'masm', 'mslib']:
+        env.Tool( tool )
+    env['CXXFLAGS']='-GR -GX /nologo /MT'
+elif platform == 'msvc70':
+    env['MSVS_VERSION']='7.0'
+    for tool in ['msvc', 'msvs', 'mslink', 'masm', 'mslib']:
+        env.Tool( tool )
+    env['CXXFLAGS']='-GR -GX /nologo /MT'
+elif platform == 'msvc71':
+    env['MSVS_VERSION']='7.1'
+    for tool in ['msvc', 'msvs', 'mslink', 'masm', 'mslib']:
+        env.Tool( tool )
+    env['CXXFLAGS']='-GR -GX /nologo /MT'
+elif platform == 'msvc80':
+    env['MSVS_VERSION']='8.0'
+    for tool in ['msvc', 'msvs', 'mslink', 'masm', 'mslib']:
+        env.Tool( tool )
+    env['CXXFLAGS']='-GR -EHsc /nologo /MT'
+elif platform == 'mingw':
+    env.Tool( 'mingw' )
+    env.Append( CPPDEFINES=[ "WIN32", "NDEBUG", "_MT" ] )
+elif platform == 'linux-gcc':
+    env.Tool( 'default' )
+    env.Append( LIBS = ['pthread'], CCFLAGS = "-Wall" )
+else:
+    print "UNSUPPORTED PLATFORM."
+    env.Exit(1)
+
+env.Tool('doxygen')
+env.Tool('substinfile')
+env.Tool('targz')
+env.Tool('srcdist')
+
+env.Append( CPPPATH = ['#include'],
+            LIBPATH = lib_dir )
+short_platform = platform
+if short_platform.startswith('msvc'):
+    short_platform = short_platform[2:]
+env['LIB_PLATFORM'] = short_platform
+env['LIB_LINK_TYPE'] = 'lib'    # static
+env['LIB_CRUNTIME'] = 'mt'
+env['LIB_NAME_SUFFIX'] = '${LIB_PLATFORM}_${LIB_LINK_TYPE}${LIB_CRUNTIME}'  # must match autolink naming convention
+env['JSONCPP_VERSION'] = JSONCPP_VERSION
+env['BUILD_DIR'] = env.Dir(build_dir)
+env['ROOTBUILD_DIR'] = env.Dir(rootbuild_dir)
+env['DIST_DIR'] = DIST_DIR
+class SrcDistAdder:
+    def __init__( self, env ):
+        self.env = env
+    def __call__( self, *args, **kw ):
+        apply( self.env.SrcDist, (self.env['SRCDIST_TARGET'],) + args, kw )
+env['SRCDIST_ADD'] = SrcDistAdder( env )
+env['SRCDIST_TARGET'] = os.path.join( DIST_DIR, 'jsoncpp-src-%s.tar.gz' % env['JSONCPP_VERSION'] )
+env['SRCDIST_BUILDER'] = env.TarGz
+                      
+env_testing = env.Copy( )
+env_testing.Append( LIBS = ['json_${LIB_NAME_SUFFIX}'] )
+
+def buildJSONExample( env, target_sources, target_name ):
+    env = env.Copy()
+    env.Append( CPPPATH = ['#'] )
+    exe = env.Program( target=target_name,
+                       source=target_sources )
+    env['SRCDIST_ADD']( source=[target_sources] )
+    global bin_dir
+    return env.Install( bin_dir, exe )
+
+def buildJSONTests( env, target_sources, target_name ):
+    jsontests_node = buildJSONExample( env, target_sources, target_name )
+    check_alias_target = env.Alias( 'check', jsontests_node, RunJSONTests( jsontests_node, jsontests_node ) )
+    env.AlwaysBuild( check_alias_target )
+
+def buildLibrary( env, target_sources, target_name ):
+    static_lib = env.StaticLibrary( target=target_name + '_${LIB_NAME_SUFFIX}',
+                                    source=target_sources )
+    shared_lib = env.SharedLibrary( target=target_name + '_${LIB_NAME_SUFFIX}',
+                                    source=target_sources )
+    global lib_dir
+    env.Install( lib_dir, static_lib )
+    env.Install( lib_dir, shared_lib )
+    env['SRCDIST_ADD']( source=[target_sources] )
+
+Export( 'env env_testing buildJSONExample buildLibrary buildJSONTests' )
+
+def buildProjectInDirectory( target_directory ):
+    global build_dir
+    target_build_dir = os.path.join( build_dir, target_directory )
+    target = os.path.join( target_directory, 'sconscript' )
+    SConscript( target, build_dir=target_build_dir, duplicate=0 )
+    env['SRCDIST_ADD']( source=[target] )
+
+
+def runJSONTests_action( target, source = None, env = None ):
+    # Add test scripts to python path
+    jsontest_path = Dir( '#test' ).abspath
+    sys.path.insert( 0, jsontest_path )
+    import runjsontests
+    return runjsontests.runAllTests( os.path.abspath(source), jsontest_path )
+
+def runJSONTests_string( target, source = None, env = None ):
+    return 'RunJSONTests("%s")' % source
+
+##def buildDoc( doxyfile_path ):
+##    doc_cmd = env.Doxygen( doxyfile_path )
+
+import SCons.Action
+ActionFactory = SCons.Action.ActionFactory
+RunJSONTests = ActionFactory(runJSONTests_action, runJSONTests_string )
+
+env.Alias( 'check' )
+
+srcdist_cmd = env['SRCDIST_ADD']( source = """
+    AUTHORS README.txt SConstruct
+    """.split() )
+env.Alias( 'src-dist', srcdist_cmd )
+
+buildProjectInDirectory( 'src/jsontestrunner' )
+buildProjectInDirectory( 'src/lib_json' )
+buildProjectInDirectory( 'doc' )
diff --git a/doc/doxyfile.in b/doc/doxyfile.in
index 15ec5bd..f19f037 100644
--- a/doc/doxyfile.in
+++ b/doc/doxyfile.in
@@ -1,232 +1,232 @@
-# Doxyfile 1.4.3

-

-#---------------------------------------------------------------------------

-# Project related configuration options

-#---------------------------------------------------------------------------

-PROJECT_NAME           = "JsonCpp"

-PROJECT_NUMBER         = %JSONCPP_VERSION%

-OUTPUT_DIRECTORY       = %DOC_TOPDIR%

-CREATE_SUBDIRS         = NO

-OUTPUT_LANGUAGE        = English

-USE_WINDOWS_ENCODING   = NO

-BRIEF_MEMBER_DESC      = YES

-REPEAT_BRIEF           = YES

-ABBREVIATE_BRIEF       = "The $name class" \

-                         "The $name widget" \

-                         "The $name file" \

-                         is \

-                         provides \

-                         specifies \

-                         contains \

-                         represents \

-                         a \

-                         an \

-                         the

-ALWAYS_DETAILED_SEC    = NO

-INLINE_INHERITED_MEMB  = NO

-FULL_PATH_NAMES        = YES

-STRIP_FROM_PATH        = %TOPDIR%

-STRIP_FROM_INC_PATH    = %TOPDIR%/include

-SHORT_NAMES            = NO

-JAVADOC_AUTOBRIEF      = NO

-MULTILINE_CPP_IS_BRIEF = NO

-DETAILS_AT_TOP         = NO

-INHERIT_DOCS           = YES

-DISTRIBUTE_GROUP_DOC   = NO

-SEPARATE_MEMBER_PAGES  = NO

-TAB_SIZE               = 3

-ALIASES                = 

-OPTIMIZE_OUTPUT_FOR_C  = NO

-OPTIMIZE_OUTPUT_JAVA   = NO

-SUBGROUPING            = YES

-#---------------------------------------------------------------------------

-# Build related configuration options

-#---------------------------------------------------------------------------

-EXTRACT_ALL            = YES

-EXTRACT_PRIVATE        = NO

-EXTRACT_STATIC         = YES

-EXTRACT_LOCAL_CLASSES  = NO

-EXTRACT_LOCAL_METHODS  = NO

-HIDE_UNDOC_MEMBERS     = NO

-HIDE_UNDOC_CLASSES     = NO

-HIDE_FRIEND_COMPOUNDS  = NO

-HIDE_IN_BODY_DOCS      = NO

-INTERNAL_DOCS          = YES

-CASE_SENSE_NAMES       = NO

-HIDE_SCOPE_NAMES       = NO

-SHOW_INCLUDE_FILES     = YES

-INLINE_INFO            = YES

-SORT_MEMBER_DOCS       = YES

-SORT_BRIEF_DOCS        = NO

-SORT_BY_SCOPE_NAME     = NO

-GENERATE_TODOLIST      = YES

-GENERATE_TESTLIST      = YES

-GENERATE_BUGLIST       = YES

-GENERATE_DEPRECATEDLIST= YES

-ENABLED_SECTIONS       = 

-MAX_INITIALIZER_LINES  = 30

-SHOW_USED_FILES        = YES

-SHOW_DIRECTORIES       = YES

-FILE_VERSION_FILTER    = 

-#---------------------------------------------------------------------------

-# configuration options related to warning and progress messages

-#---------------------------------------------------------------------------

-QUIET                  = NO

-WARNINGS               = YES

-WARN_IF_UNDOCUMENTED   = YES

-WARN_IF_DOC_ERROR      = YES

-WARN_NO_PARAMDOC       = NO

-WARN_FORMAT            = "$file:$line: $text"

-WARN_LOGFILE           = jsoncpp-doxygen-warning.log

-#---------------------------------------------------------------------------

-# configuration options related to the input files

-#---------------------------------------------------------------------------

-INPUT                  = ../include ../src/lib_json .

-FILE_PATTERNS          = *.h *.cpp *.dox

-RECURSIVE              = YES

-EXCLUDE                = 

-EXCLUDE_SYMLINKS       = NO

-EXCLUDE_PATTERNS       = 

-EXAMPLE_PATH           = 

-EXAMPLE_PATTERNS       = *

-EXAMPLE_RECURSIVE      = NO

-IMAGE_PATH             = 

-INPUT_FILTER           = 

-FILTER_PATTERNS        = 

-FILTER_SOURCE_FILES    = NO

-#---------------------------------------------------------------------------

-# configuration options related to source browsing

-#---------------------------------------------------------------------------

-SOURCE_BROWSER         = YES

-INLINE_SOURCES         = NO

-STRIP_CODE_COMMENTS    = YES

-REFERENCED_BY_RELATION = YES

-REFERENCES_RELATION    = YES

-USE_HTAGS              = NO

-VERBATIM_HEADERS       = YES

-#---------------------------------------------------------------------------

-# configuration options related to the alphabetical class index

-#---------------------------------------------------------------------------

-ALPHABETICAL_INDEX     = NO

-COLS_IN_ALPHA_INDEX    = 5

-IGNORE_PREFIX          = 

-#---------------------------------------------------------------------------

-# configuration options related to the HTML output

-#---------------------------------------------------------------------------

-GENERATE_HTML          = YES

-HTML_OUTPUT            = json-html-doc-%JSONCPP_VERSION%

-HTML_FILE_EXTENSION    = .html

-HTML_HEADER            = header.html

-HTML_FOOTER            = footer.html

-HTML_STYLESHEET        = 

-HTML_ALIGN_MEMBERS     = YES

-GENERATE_HTMLHELP      = NO

-CHM_FILE               = jsoncpp.chm

-HHC_LOCATION           = 

-GENERATE_CHI           = NO

-BINARY_TOC             = NO

-TOC_EXPAND             = NO

-DISABLE_INDEX          = NO

-ENUM_VALUES_PER_LINE   = 4

-GENERATE_TREEVIEW      = NO

-TREEVIEW_WIDTH         = 250

-#---------------------------------------------------------------------------

-# configuration options related to the LaTeX output

-#---------------------------------------------------------------------------

-GENERATE_LATEX         = NO

-LATEX_OUTPUT           = latex

-LATEX_CMD_NAME         = latex

-MAKEINDEX_CMD_NAME     = makeindex

-COMPACT_LATEX          = NO

-PAPER_TYPE             = a4wide

-EXTRA_PACKAGES         = 

-LATEX_HEADER           = 

-PDF_HYPERLINKS         = NO

-USE_PDFLATEX           = NO

-LATEX_BATCHMODE        = NO

-LATEX_HIDE_INDICES     = NO

-#---------------------------------------------------------------------------

-# configuration options related to the RTF output

-#---------------------------------------------------------------------------

-GENERATE_RTF           = NO

-RTF_OUTPUT             = rtf

-COMPACT_RTF            = NO

-RTF_HYPERLINKS         = NO

-RTF_STYLESHEET_FILE    = 

-RTF_EXTENSIONS_FILE    = 

-#---------------------------------------------------------------------------

-# configuration options related to the man page output

-#---------------------------------------------------------------------------

-GENERATE_MAN           = NO

-MAN_OUTPUT             = man

-MAN_EXTENSION          = .3

-MAN_LINKS              = NO

-#---------------------------------------------------------------------------

-# configuration options related to the XML output

-#---------------------------------------------------------------------------

-GENERATE_XML           = NO

-XML_OUTPUT             = xml

-XML_SCHEMA             = 

-XML_DTD                = 

-XML_PROGRAMLISTING     = YES

-#---------------------------------------------------------------------------

-# configuration options for the AutoGen Definitions output

-#---------------------------------------------------------------------------

-GENERATE_AUTOGEN_DEF   = NO

-#---------------------------------------------------------------------------

-# configuration options related to the Perl module output

-#---------------------------------------------------------------------------

-GENERATE_PERLMOD       = NO

-PERLMOD_LATEX          = NO

-PERLMOD_PRETTY         = YES

-PERLMOD_MAKEVAR_PREFIX = 

-#---------------------------------------------------------------------------

-# Configuration options related to the preprocessor   

-#---------------------------------------------------------------------------

-ENABLE_PREPROCESSING   = YES

-MACRO_EXPANSION        = NO

-EXPAND_ONLY_PREDEF     = NO

-SEARCH_INCLUDES        = YES

-INCLUDE_PATH           = ../include

-INCLUDE_FILE_PATTERNS  = *.h

-PREDEFINED             = JSONCPP_DOC_EXCLUDE_IMPLEMENTATION JSON_VALUE_USE_INTERNAL_MAP

-EXPAND_AS_DEFINED      = 

-SKIP_FUNCTION_MACROS   = YES

-#---------------------------------------------------------------------------

-# Configuration::additions related to external references   

-#---------------------------------------------------------------------------

-TAGFILES               = 

-GENERATE_TAGFILE       = 

-ALLEXTERNALS           = NO

-EXTERNAL_GROUPS        = YES

-PERL_PATH              = /usr/bin/perl

-#---------------------------------------------------------------------------

-# Configuration options related to the dot tool   

-#---------------------------------------------------------------------------

-CLASS_DIAGRAMS         = NO

-HIDE_UNDOC_RELATIONS   = YES

-HAVE_DOT               = NO

-CLASS_GRAPH            = YES

-COLLABORATION_GRAPH    = YES

-GROUP_GRAPHS           = YES

-UML_LOOK               = NO

-TEMPLATE_RELATIONS     = NO

-INCLUDE_GRAPH          = YES

-INCLUDED_BY_GRAPH      = YES

-CALL_GRAPH             = NO

-GRAPHICAL_HIERARCHY    = YES

-DIRECTORY_GRAPH        = YES

-DOT_IMAGE_FORMAT       = png

-DOT_PATH               = 

-DOTFILE_DIRS           = 

-MAX_DOT_GRAPH_WIDTH    = 1024

-MAX_DOT_GRAPH_HEIGHT   = 1024

-MAX_DOT_GRAPH_DEPTH    = 1000

-DOT_TRANSPARENT        = NO

-DOT_MULTI_TARGETS      = NO

-GENERATE_LEGEND        = YES

-DOT_CLEANUP            = YES

-#---------------------------------------------------------------------------

-# Configuration::additions related to the search engine   

-#---------------------------------------------------------------------------

-SEARCHENGINE           = NO

+# Doxyfile 1.4.3
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME           = "JsonCpp"
+PROJECT_NUMBER         = %JSONCPP_VERSION%
+OUTPUT_DIRECTORY       = %DOC_TOPDIR%
+CREATE_SUBDIRS         = NO
+OUTPUT_LANGUAGE        = English
+USE_WINDOWS_ENCODING   = NO
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = YES
+ABBREVIATE_BRIEF       = "The $name class" \
+                         "The $name widget" \
+                         "The $name file" \
+                         is \
+                         provides \
+                         specifies \
+                         contains \
+                         represents \
+                         a \
+                         an \
+                         the
+ALWAYS_DETAILED_SEC    = NO
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = YES
+STRIP_FROM_PATH        = %TOPDIR%
+STRIP_FROM_INC_PATH    = %TOPDIR%/include
+SHORT_NAMES            = NO
+JAVADOC_AUTOBRIEF      = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP         = NO
+INHERIT_DOCS           = YES
+DISTRIBUTE_GROUP_DOC   = NO
+SEPARATE_MEMBER_PAGES  = NO
+TAB_SIZE               = 3
+ALIASES                = 
+OPTIMIZE_OUTPUT_FOR_C  = NO
+OPTIMIZE_OUTPUT_JAVA   = NO
+SUBGROUPING            = YES
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL            = YES
+EXTRACT_PRIVATE        = NO
+EXTRACT_STATIC         = YES
+EXTRACT_LOCAL_CLASSES  = NO
+EXTRACT_LOCAL_METHODS  = NO
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = NO
+HIDE_FRIEND_COMPOUNDS  = NO
+HIDE_IN_BODY_DOCS      = NO
+INTERNAL_DOCS          = YES
+CASE_SENSE_NAMES       = NO
+HIDE_SCOPE_NAMES       = NO
+SHOW_INCLUDE_FILES     = YES
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+SORT_BRIEF_DOCS        = NO
+SORT_BY_SCOPE_NAME     = NO
+GENERATE_TODOLIST      = YES
+GENERATE_TESTLIST      = YES
+GENERATE_BUGLIST       = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS       = 
+MAX_INITIALIZER_LINES  = 30
+SHOW_USED_FILES        = YES
+SHOW_DIRECTORIES       = YES
+FILE_VERSION_FILTER    = 
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET                  = NO
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = YES
+WARN_IF_DOC_ERROR      = YES
+WARN_NO_PARAMDOC       = NO
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           = jsoncpp-doxygen-warning.log
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  = ../include ../src/lib_json .
+FILE_PATTERNS          = *.h *.cpp *.dox
+RECURSIVE              = YES
+EXCLUDE                = 
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       = 
+EXAMPLE_PATH           = 
+EXAMPLE_PATTERNS       = *
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             = 
+INPUT_FILTER           = 
+FILTER_PATTERNS        = 
+FILTER_SOURCE_FILES    = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = YES
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION    = YES
+USE_HTAGS              = NO
+VERBATIM_HEADERS       = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX     = NO
+COLS_IN_ALPHA_INDEX    = 5
+IGNORE_PREFIX          = 
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML          = YES
+HTML_OUTPUT            = json-html-doc-%JSONCPP_VERSION%
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            = header.html
+HTML_FOOTER            = footer.html
+HTML_STYLESHEET        = 
+HTML_ALIGN_MEMBERS     = YES
+GENERATE_HTMLHELP      = NO
+CHM_FILE               = jsoncpp.chm
+HHC_LOCATION           = 
+GENERATE_CHI           = NO
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+DISABLE_INDEX          = NO
+ENUM_VALUES_PER_LINE   = 4
+GENERATE_TREEVIEW      = NO
+TREEVIEW_WIDTH         = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX         = NO
+LATEX_OUTPUT           = latex
+LATEX_CMD_NAME         = latex
+MAKEINDEX_CMD_NAME     = makeindex
+COMPACT_LATEX          = NO
+PAPER_TYPE             = a4wide
+EXTRA_PACKAGES         = 
+LATEX_HEADER           = 
+PDF_HYPERLINKS         = NO
+USE_PDFLATEX           = NO
+LATEX_BATCHMODE        = NO
+LATEX_HIDE_INDICES     = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF           = NO
+RTF_OUTPUT             = rtf
+COMPACT_RTF            = NO
+RTF_HYPERLINKS         = NO
+RTF_STYLESHEET_FILE    = 
+RTF_EXTENSIONS_FILE    = 
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN           = NO
+MAN_OUTPUT             = man
+MAN_EXTENSION          = .3
+MAN_LINKS              = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML           = NO
+XML_OUTPUT             = xml
+XML_SCHEMA             = 
+XML_DTD                = 
+XML_PROGRAMLISTING     = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF   = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD       = NO
+PERLMOD_LATEX          = NO
+PERLMOD_PRETTY         = YES
+PERLMOD_MAKEVAR_PREFIX = 
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING   = YES
+MACRO_EXPANSION        = NO
+EXPAND_ONLY_PREDEF     = NO
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           = ../include
+INCLUDE_FILE_PATTERNS  = *.h
+PREDEFINED             = JSONCPP_DOC_EXCLUDE_IMPLEMENTATION JSON_VALUE_USE_INTERNAL_MAP
+EXPAND_AS_DEFINED      = 
+SKIP_FUNCTION_MACROS   = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references   
+#---------------------------------------------------------------------------
+TAGFILES               = 
+GENERATE_TAGFILE       = 
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = YES
+PERL_PATH              = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = NO
+HIDE_UNDOC_RELATIONS   = YES
+HAVE_DOT               = NO
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = YES
+GROUP_GRAPHS           = YES
+UML_LOOK               = NO
+TEMPLATE_RELATIONS     = NO
+INCLUDE_GRAPH          = YES
+INCLUDED_BY_GRAPH      = YES
+CALL_GRAPH             = NO
+GRAPHICAL_HIERARCHY    = YES
+DIRECTORY_GRAPH        = YES
+DOT_IMAGE_FORMAT       = png
+DOT_PATH               = 
+DOTFILE_DIRS           = 
+MAX_DOT_GRAPH_WIDTH    = 1024
+MAX_DOT_GRAPH_HEIGHT   = 1024
+MAX_DOT_GRAPH_DEPTH    = 1000
+DOT_TRANSPARENT        = NO
+DOT_MULTI_TARGETS      = NO
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine   
+#---------------------------------------------------------------------------
+SEARCHENGINE           = NO
diff --git a/doc/footer.html b/doc/footer.html
index 56df7a4..a61d952 100644
--- a/doc/footer.html
+++ b/doc/footer.html
@@ -1,23 +1,23 @@
-<hr>

-<table width="100%">

-  <tr>

-    <td width="10%" align="left" valign="center">

-      <a href="http://sourceforge.net"> 

-      <img

-      src="http://sourceforge.net/sflogo.php?group_id=144446"

-      width="88" height="31" border="0" alt="SourceForge Logo"></a>

-    </td>

-    <td width="20%" align="left" valign="center">

-      hosts this site.

-    </td>

-    <td>

-    </td>

-    <td align="right" valign="center">

-      Send comments to:<br>

-      <a href="mailto:jsoncpp-devel@lists.sourceforge.net">Json-cpp Developers</a>

-    </td>

-  </tr>

-</table>

-

-</body> 

-</html>

+<hr>
+<table width="100%">
+  <tr>
+    <td width="10%" align="left" valign="center">
+      <a href="http://sourceforge.net"> 
+      <img
+      src="http://sourceforge.net/sflogo.php?group_id=144446"
+      width="88" height="31" border="0" alt="SourceForge Logo"></a>
+    </td>
+    <td width="20%" align="left" valign="center">
+      hosts this site.
+    </td>
+    <td>
+    </td>
+    <td align="right" valign="center">
+      Send comments to:<br>
+      <a href="mailto:jsoncpp-devel@lists.sourceforge.net">Json-cpp Developers</a>
+    </td>
+  </tr>
+</table>
+
+</body> 
+</html>
diff --git a/doc/header.html b/doc/header.html
index 2288b04..d56ea59 100644
--- a/doc/header.html
+++ b/doc/header.html
@@ -1,24 +1,24 @@
-<html>

-<head>

-<title>

-JsonCpp - JSON data format manipulation library

-</title>

-<link href="doxygen.css" rel="stylesheet" type="text/css">

-<link href="tabs.css" rel="stylesheet" type="text/css">

-</head>

-

-<body bgcolor="#ffffff"> 

-<table width="100%">

-  <tr>

-    <td width="40%" align="left" valign="center">

-      <a href="http://sourceforge.net/projects/jsoncpp">

-      JsonCpp project page

-      </a>

-    </td>

-    <td width="40%" align="right" valign="center">

-      <a href="http://jsoncpp.sourceforge.net">JsonCpp home page</a>

-    </td>

-  </tr>

-</table>

-

-<hr>

+<html>
+<head>
+<title>
+JsonCpp - JSON data format manipulation library
+</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<body bgcolor="#ffffff"> 
+<table width="100%">
+  <tr>
+    <td width="40%" align="left" valign="center">
+      <a href="http://sourceforge.net/projects/jsoncpp">
+      JsonCpp project page
+      </a>
+    </td>
+    <td width="40%" align="right" valign="center">
+      <a href="http://jsoncpp.sourceforge.net">JsonCpp home page</a>
+    </td>
+  </tr>
+</table>
+
+<hr>
diff --git a/doc/jsoncpp.dox b/doc/jsoncpp.dox
index 3667fa6..34dda5e 100644
--- a/doc/jsoncpp.dox
+++ b/doc/jsoncpp.dox
@@ -1,97 +1,97 @@
-/**

-\mainpage

-\section _intro Introduction

-

-<a HREF="http://www.json.org/">JSON (JavaScript Object Notation)</a>

- is a lightweight data-interchange format. 

-It can represents integer, real number, string, an ordered sequence of value, and

-a collection of name/value pairs.

-

-Here is an example of JSON data:

-\verbatim

-// Configuration options

-{

-    // Default encoding for text

-    "encoding" : "UTF-8",

-    

-    // Plug-ins loaded at start-up

-    "plug-ins" : [

-        "python",

-        "c++",

-        "ruby"

-        ],

-        

-    // Tab indent size

-    indent : { length : 3, use_space = true }

-}

-\endverbatim

-

-\section _features Features

-- read and write JSON document

-- rewrite JSON document preserving original comments

-

-\code

-Json::Value root;   // will contains the root value after parsing.

-Json::Reader reader;

-bool parsingSuccessful = reader.parse( config_doc, root );

-if ( !parsingSuccessful )

-{

-    // report to the user the failure and their locations in the document.

-    std::cout  << "Failed to parse configuration\n"

-               << reader.getFormatedErrorMessages();

-    return;

-}

-

-// Get the value of the member of root named 'encoding', return 'UTF-8' if there is no

-// such member.

-std::string encoding = root.get("encoding", "UTF-8" ).asString();

-// Get the value of the member of root named 'encoding', return a 'null' value if

-// there is no such member.

-const Json::Value plugins = root["plug-ins"];

-for ( int index = 0; index < plugins.size(); ++index )  // Iterates over the sequence elements.

-   loadPlugIn( plugins[index].asString() );

-   

-setIndentLength( root["indent"].get("length", 3).asInt() );

-setIndentUseSpace( root["indent"].get("use_space", true).asBool() );

-

-// ...

-// At application shutdown to make the new configuration document:

-// Since Json::Value has implicit constructor for all value types, it is not

-// necessary to explicitely construct the Json::Value object:

-root["encoding"] = getCurrentEncoding();

-root["indent"]["length"] = getCurrentIndentLength();

-root["indent"]["use_space"] = getCurrentIndentUseSpace();

-

-Json::StyledWriter writer;

-// Make a new JSON document for the configuration. Preserve original comments.

-std::string outputConfig = writer.write( root );

-

-// You can also use streams.  This will put the contents of any JSON

-// stream at a particular sub-value, if you'd like.

-std::cin >> root["subtree"];

-

-// And you can write to a stream, using the StyledWriter automatically.

-std::cout << root;

-\endcode

-

-\section _plinks Build instructions

-The build instruction are located in the file 

-<a HREF="README.txt">README.txt</a> in the top-directory of the project.

-

-Permanent link to the lastest revision of the file in subversion: 

-<a HREF="http://svn.sourceforge.net/viewcvs.cgi/jsoncpp/README.txt?view=markup">lastest README.txt</a>

-

-\section _plinks Project links

-- <a HREF="http://jsoncpp.sourceforge.net">json-cpp home</a>

-- <a HREF="http://www.sourceforge.net/projects/jsoncpp">json-cpp sourceforge project</a>

-

-\section _rlinks Related links

-- <a HREF="http://www.json.org/">JSON</a> Specification and alternate language implementations.

-- <a HREF="http://www.yaml.org/">YAML</a> A data format designed for human readability.

-- <a HREF="http://www.cl.cam.ac.uk/~mgk25/unicode.html">UTF-8 and Unicode FAQ</a>.

-

-\section _license License

-The json-cpp library and this documentation are in Public Domain.

-

-\author Baptiste Lepilleur <blep@users.sourceforge.net>

-*/

+/**
+\mainpage
+\section _intro Introduction
+
+<a HREF="http://www.json.org/">JSON (JavaScript Object Notation)</a>
+ is a lightweight data-interchange format. 
+It can represents integer, real number, string, an ordered sequence of value, and
+a collection of name/value pairs.
+
+Here is an example of JSON data:
+\verbatim
+// Configuration options
+{
+    // Default encoding for text
+    "encoding" : "UTF-8",
+    
+    // Plug-ins loaded at start-up
+    "plug-ins" : [
+        "python",
+        "c++",
+        "ruby"
+        ],
+        
+    // Tab indent size
+    indent : { length : 3, use_space = true }
+}
+\endverbatim
+
+\section _features Features
+- read and write JSON document
+- rewrite JSON document preserving original comments
+
+\code
+Json::Value root;   // will contains the root value after parsing.
+Json::Reader reader;
+bool parsingSuccessful = reader.parse( config_doc, root );
+if ( !parsingSuccessful )
+{
+    // report to the user the failure and their locations in the document.
+    std::cout  << "Failed to parse configuration\n"
+               << reader.getFormatedErrorMessages();
+    return;
+}
+
+// Get the value of the member of root named 'encoding', return 'UTF-8' if there is no
+// such member.
+std::string encoding = root.get("encoding", "UTF-8" ).asString();
+// Get the value of the member of root named 'encoding', return a 'null' value if
+// there is no such member.
+const Json::Value plugins = root["plug-ins"];
+for ( int index = 0; index < plugins.size(); ++index )  // Iterates over the sequence elements.
+   loadPlugIn( plugins[index].asString() );
+   
+setIndentLength( root["indent"].get("length", 3).asInt() );
+setIndentUseSpace( root["indent"].get("use_space", true).asBool() );
+
+// ...
+// At application shutdown to make the new configuration document:
+// Since Json::Value has implicit constructor for all value types, it is not
+// necessary to explicitely construct the Json::Value object:
+root["encoding"] = getCurrentEncoding();
+root["indent"]["length"] = getCurrentIndentLength();
+root["indent"]["use_space"] = getCurrentIndentUseSpace();
+
+Json::StyledWriter writer;
+// Make a new JSON document for the configuration. Preserve original comments.
+std::string outputConfig = writer.write( root );
+
+// You can also use streams.  This will put the contents of any JSON
+// stream at a particular sub-value, if you'd like.
+std::cin >> root["subtree"];
+
+// And you can write to a stream, using the StyledWriter automatically.
+std::cout << root;
+\endcode
+
+\section _plinks Build instructions
+The build instruction are located in the file 
+<a HREF="README.txt">README.txt</a> in the top-directory of the project.
+
+Permanent link to the lastest revision of the file in subversion: 
+<a HREF="http://svn.sourceforge.net/viewcvs.cgi/jsoncpp/README.txt?view=markup">lastest README.txt</a>
+
+\section _plinks Project links
+- <a HREF="http://jsoncpp.sourceforge.net">json-cpp home</a>
+- <a HREF="http://www.sourceforge.net/projects/jsoncpp">json-cpp sourceforge project</a>
+
+\section _rlinks Related links
+- <a HREF="http://www.json.org/">JSON</a> Specification and alternate language implementations.
+- <a HREF="http://www.yaml.org/">YAML</a> A data format designed for human readability.
+- <a HREF="http://www.cl.cam.ac.uk/~mgk25/unicode.html">UTF-8 and Unicode FAQ</a>.
+
+\section _license License
+The json-cpp library and this documentation are in Public Domain.
+
+\author Baptiste Lepilleur <blep@users.sourceforge.net>
+*/
diff --git a/doc/readme.txt b/doc/readme.txt
index 499422e..0e42cdf 100644
--- a/doc/readme.txt
+++ b/doc/readme.txt
@@ -1 +1 @@
-The documentation is generated using doxygen (http://www.doxygen.org).

+The documentation is generated using doxygen (http://www.doxygen.org).
diff --git a/doc/sconscript b/doc/sconscript
index d2e27a7..dc29320 100644
--- a/doc/sconscript
+++ b/doc/sconscript
@@ -1,22 +1,22 @@
-Import( 'env' )

-import os.path

-

-if 'doxygen' in env['TOOLS']:

-    doc_topdir = env['ROOTBUILD_DIR']

-    doxyfile = env.SubstInFile( '#doc/doxyfile', 'doxyfile.in',

-                                SUBST_DICT = {

-                                    '%JSONCPP_VERSION%' : env['JSONCPP_VERSION'],

-                                    '%TOPDIR%' : env.Dir('#').abspath,

-                                    '%DOC_TOPDIR%' : str(doc_topdir) } )

-    doc_cmd = env.Doxygen( doxyfile )

-    alias_doc_cmd = env.Alias('doc', doc_cmd )

-    env.AlwaysBuild(alias_doc_cmd)

-

-    for dir in doc_cmd:

-        env.Alias('doc', env.Install( '#' + dir.path, '#README.txt' ) )

-        filename = os.path.split(dir.path)[1]

-        targz_path = os.path.join( env['DIST_DIR'], '%s.tar.gz' % filename )

-        zip_doc_cmd = env.TarGz( targz_path, [env.Dir(dir)],

-                                 TARGZ_BASEDIR = doc_topdir )

-        env.Depends( zip_doc_cmd, alias_doc_cmd )

-        env.Alias( 'doc-dist', zip_doc_cmd )

+Import( 'env' )
+import os.path
+
+if 'doxygen' in env['TOOLS']:
+    doc_topdir = env['ROOTBUILD_DIR']
+    doxyfile = env.SubstInFile( '#doc/doxyfile', 'doxyfile.in',
+                                SUBST_DICT = {
+                                    '%JSONCPP_VERSION%' : env['JSONCPP_VERSION'],
+                                    '%TOPDIR%' : env.Dir('#').abspath,
+                                    '%DOC_TOPDIR%' : str(doc_topdir) } )
+    doc_cmd = env.Doxygen( doxyfile )
+    alias_doc_cmd = env.Alias('doc', doc_cmd )
+    env.AlwaysBuild(alias_doc_cmd)
+
+    for dir in doc_cmd:
+        env.Alias('doc', env.Install( '#' + dir.path, '#README.txt' ) )
+        filename = os.path.split(dir.path)[1]
+        targz_path = os.path.join( env['DIST_DIR'], '%s.tar.gz' % filename )
+        zip_doc_cmd = env.TarGz( targz_path, [env.Dir(dir)],
+                                 TARGZ_BASEDIR = doc_topdir )
+        env.Depends( zip_doc_cmd, alias_doc_cmd )
+        env.Alias( 'doc-dist', zip_doc_cmd )