Skip to content
GitLab
Explore
Sign in
Register
Commits on Source (2)
New upstream version 1.2.2
· 200dbbfd
Michael R. Crusoe
authored
Feb 17, 2018
200dbbfd
1.2.2-1
· 92f3bd1d
Michael R. Crusoe
authored
Feb 17, 2018
92f3bd1d
Show whitespace changes
Inline
Side-by-side
.travis.yml
View file @
92f3bd1d
language
:
cpp
dist
:
trusty
sudo
:
false
group
:
beta
addons
:
apt
:
sources
:
-
'
ubuntu-toolchain-r-test'
-
'
boost-latest'
packages
:
-
'
g++-multilib'
-
'
libboost-serialization-dev'
# - 'libboost-test-dev'
compiler
:
# TODO: Clang is currently giving issues
#- clang
-
gcc
before_install
:
# Always install g++4.8.1
-
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
matrix
:
include
:
-
os
:
linux
compiler
:
clang
env
:
CMAKE_OPTIONS="-DSKIP_PORTABILITY_TEST=ON"
#
Install recent version of Boost
-
sudo add-apt-repository -y ppa:boost-latest/ppa
#
TODO: Add an entry for valgrind
# after_script: make valgrind
# clang 3.3
-
if [ "$CXX" == "clang++" ]; then sudo add-apt-repository -y ppa:h-rayflood/llvm; fi
-
sudo apt-get update -qq
install
:
-
sudo apt-get install cmake
-
sudo apt-get install libboost1.54-all-dev
# Always install valgrind
-
sudo apt-get install valgrind
# Always install g++4.8.1
-
sudo apt-get install -qq g++-4.8
-
sudo apt-get install -qq g++-4.8-multilib
-
if [ "$CXX" = "g++" ]; then export CMAKE_CXX_COMPILER="g++-4.8"; fi
-
if [ "$CXX" = "g++" ]; then export CXX="g++-4.8"; fi
# clang 3.3
-
if [ "$CXX" == "clang++" ]; then sudo apt-get install --allow-unauthenticated -qq clang-3.3; fi
-
if [ "$CXX" == "clang++" ]; then export CMAKE_CXX_COMPILER="clang++-3.3"; fi
-
if [ "$CXX" == "clang++" ]; then export CXX="clang++-3.3"; fi
-
os
:
osx
osx_image
:
xcode8
compiler
:
clang
script
:
-
mkdir build
-
cd build
-
cmake ..
-
make
after_script
:
-
ctest .
# - make valgrind
-
mkdir build && cd build
-
cmake ${CMAKE_OPTIONS} .. && make -j4
-
ctest . --output-on-failure
branches
:
only
:
...
...
CMakeLists.txt
View file @
92f3bd1d
cmake_minimum_required
(
VERSION 2.6.2
)
project
(
cereal
)
option
(
SKIP_PORTABILITY_TEST
"Skip portability tests"
OFF
)
option
(
SKIP_PORTABILITY_TEST
"Skip portability
(32 bit)
tests"
OFF
)
if
(
NOT CMAKE_VERSION VERSION_LESS 3.0
)
# installing cereal requires INTERFACE lib
option
(
JUST_INSTALL_CEREAL
"Don't do anything besides installing the library"
OFF
)
endif
()
...
...
@@ -14,8 +14,14 @@ else()
set
(
CEREAL_THREAD_LIBS
""
)
endif
()
if
(
NOT MSVC
)
set
(
CMAKE_CXX_FLAGS
"-Wall -Werror -g -Wextra -Wshadow -pedantic
${
CMAKE_CXX_FLAGS
}
"
)
if
(
MSVC
)
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
/bigobj /W3 /WX"
)
else
()
set
(
CMAKE_CXX_FLAGS
"-Wall -g -Wextra -Wshadow -pedantic -Wold-style-cast
${
CMAKE_CXX_FLAGS
}
"
)
option
(
WITH_WERROR
"Compile with '-Werror' C++ compiler flag"
ON
)
if
(
WITH_WERROR
)
set
(
CMAKE_CXX_FLAGS
"-Werror
${
CMAKE_CXX_FLAGS
}
"
)
endif
(
WITH_WERROR
)
if
(
CMAKE_VERSION VERSION_LESS 3.1
)
set
(
CMAKE_CXX_FLAGS
"-std=c++11
${
CMAKE_CXX_FLAGS
}
"
)
else
()
...
...
@@ -45,31 +51,16 @@ endif()
include_directories
(
./include
)
find_package
(
Boost COMPONENTS serialization unit_test_framework
)
# Boost serialization for performance sandbox
find_package
(
Boost COMPONENTS serialization
)
if
(
Boost_FOUND
)
include_directories
(
SYSTEM
${
Boost_INCLUDE_DIRS
}
)
endif
(
Boost_FOUND
)
enable_testing
()
add_subdirectory
(
unittests
)
endif
(
Boost_FOUND
)
add_subdirectory
(
sandbox
)
find_package
(
Doxygen
)
if
(
DOXYGEN_FOUND
)
configure_file
(
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/doc/doxygen.in"
"
${
CMAKE_CURRENT_BINARY_DIR
}
/doxygen.cfg"
@ONLY
)
add_custom_target
(
doc
COMMAND
${
DOXYGEN_EXECUTABLE
}
"
${
CMAKE_CURRENT_BINARY_DIR
}
/doxygen.cfg"
WORKING_DIRECTORY
"
${
CMAKE_CURRENT_BINARY_DIR
}
"
COMMENT
"Generating API documentation with Doxygen"
VERBATIM
)
configure_file
(
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/scripts/updatedoc.in"
"
${
CMAKE_CURRENT_BINARY_DIR
}
/updatedoc.sh"
@ONLY
)
add_custom_target
(
update-doc
COMMAND
"
${
CMAKE_CURRENT_BINARY_DIR
}
/updatedoc.sh"
DEPENDS doc
COMMENT
"Copying documentation to gh-pages branch"
VERBATIM
)
endif
(
DOXYGEN_FOUND
)
add_subdirectory
(
doc
)
README.md
View file @
92f3bd1d
...
...
@@ -78,6 +78,7 @@ cereal is licensed under the [BSD license](http://opensource.org/licenses/BSD-3-
## cereal build status
*
develop :
[

](https://travis-ci.org/USCiLab/cereal)
[

](https://ci.appveyor.com/project/AzothAmmo/cereal/branch/develop)
---
...
...
appveyor.yml
0 → 100644
View file @
92f3bd1d
# can use variables like {build} and {branch}
version
:
1.2.{build}
pull_requests
:
do_not_increment_build_number
:
true
branches
:
only
:
-
develop
configuration
:
-
Debug
-
Release
environment
:
matrix
:
-
VS_VERSION_MAJOR
:
12
-
VS_VERSION_MAJOR
:
14
BOOST_ROOT
:
C:\Libraries\boost_1_59_0
platform
:
-
Win32
-
x64
before_build
:
"
scripts
\\
appveyor.bat"
build
:
parallel
:
true
project
:
build/cereal.sln
verbosity
:
minimal
test_script
:
"
scripts
\\
appveyor.bat
test"
artifacts
:
-
path
:
build\Testing
-
path
:
out
debian/changelog
View file @
92f3bd1d
libcereal (1.2.2-1) unstable; urgency=medium
* New upstream release.
-- Michael R. Crusoe <michael.crusoe@gmail.com> Wed, 17 Oct 2018 02:06:26 -0700
libcereal (1.2.1-3) unstable; urgency=medium
* Team upload
...
...
debian/control
View file @
92f3bd1d
...
...
@@ -8,9 +8,9 @@ Build-Depends: debhelper (>= 10),
libboost-test-dev,
cmake,
doxygen
Standards-Version: 4.
1.0
Vcs-Browser: https://
anonscm
.debian.org/
cgit/debian-med
/libcereal
.git
Vcs-Git: https://
anonscm
.debian.org/
git/debian-med
/libcereal.git
Standards-Version: 4.
2.1
Vcs-Browser: https://
salsa
.debian.org/
med-team
/libcereal
Vcs-Git: https://
salsa
.debian.org/
med-team
/libcereal.git
Homepage: http://uscilab.github.io/cereal/
Package: libcereal-dev
...
...
debian/copyright
View file @
92f3bd1d
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Format: http
s
://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: cereal
Source: https://github.com/USCiLab/cereal
...
...
@@ -41,29 +41,6 @@ Files: debian/*
Copyright: © 2015 Michael R. Crusoe <crusoe@ucdavis.edu>
License: bsd-3-clause
License: bsd-3-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of cereal nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL RANDOLPH VOORHIES OR SHANE GRANT BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License: BSL-1.0
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
...
...
@@ -105,3 +82,26 @@ License: Expat
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
License: bsd-3-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of cereal nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL RANDOLPH VOORHIES OR SHANE GRANT BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
debian/libcereal-doc.lintian-overrides
deleted
100644 → 0
View file @
4a9ffba8
libcereal-doc: embedded-javascript-library usr/share/doc/libcereal-dev/html/jquery.js please use libjs-jquery
# Silenced as per /usr/share/doc/doxygen/README.jquery
debian/patches/add-only-tests-target
View file @
92f3bd1d
...
...
@@ -3,39 +3,37 @@ Description: build just the tests, as an option for autopkgtest later
With assistance from Kevin D. Murray; thanks!
--- libcereal.orig/CMakeLists.txt
+++ libcereal/CMakeLists.txt
@@ -
14
,6 +
14
,8 @@
set(CEREAL_THREAD_LIBS ""
)
@@ -
32
,6 +
32
,8 @@
endif(
)
endif()
+option(ONLY_TESTS "Don't build docs, or sandbox" OFF)
+
if(NOT
MSVC
)
set(CMAKE_CXX_FLAGS "-Wall -Werror -g -Wextra -Wshadow -pedantic ${CMAKE_CXX_FLAGS}"
)
if(CMAKE_VERSION VERSION_LESS 3.1)
@@ -4
3
,1
9
+
4
5,2
2
@@
if(NOT
CMAKE_VERSION VERSION_LESS 3.0
)
add_library(cereal INTERFACE
)
target_include_directories(cereal INTERFACE
@@ -4
9
,1
8
+5
1
,2
1
@@
return()
endif()
-include_directories(./include)
-
find_package(Boost COMPONENTS serialization unit_test_framework)
# Boost serialization for performance sandbox
find_package(Boost COMPONENTS serialization)
if(Boost_FOUND)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
enable_testing()
+ if(NOT ONLY_TEST)
+ include_directories(./include)
+ endif(NOT ONLY_TEST)
add_subdirectory(unittests)
endif(Boost_FOUND)
enable_testing()
add_subdirectory(unittests)
-
-add_subdirectory(sandbox)
+if(NOT ONLY_TEST)
+ add_subdirectory(sandbox)
+ find_package(Doxygen)
+endif(NOT ONLY_TEST)
-find_package(Doxygen)
if(DOXYGEN_FOUND)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/doc/doxygen.in" "${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg" @ONLY)
add_subdirectory(doc)
debian/patches/no_-Werror.patch
View file @
92f3bd1d
...
...
@@ -3,14 +3,16 @@ last-Update: Thu, 31 Aug 2017 23:24:39 +0200
Bug-Debian: https://bugs.debian.org/853486
Description: Do not set -Werror which makes build fail when using gcc-7
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,7 +17,7 @@
endif()
option(ONLY_TESTS "Don't build docs, or sandbox" OFF)
if(NOT MSVC)
- set(CMAKE_CXX_FLAGS "-Wall -Werror -g -Wextra -Wshadow -pedantic ${CMAKE_CXX_FLAGS}")
+ set(CMAKE_CXX_FLAGS "-Wall -g -Wextra -Wshadow -pedantic ${CMAKE_CXX_FLAGS}")
--- libcereal.orig/CMakeLists.txt
+++ libcereal/CMakeLists.txt
@@ -18,10 +18,6 @@
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj /W3 /WX")
else()
set(CMAKE_CXX_FLAGS "-Wall -g -Wextra -Wshadow -pedantic -Wold-style-cast ${CMAKE_CXX_FLAGS}")
- option(WITH_WERROR "Compile with '-Werror' C++ compiler flag" ON)
- if(WITH_WERROR)
- set(CMAKE_CXX_FLAGS "-Werror ${CMAKE_CXX_FLAGS}")
- endif(WITH_WERROR)
if(CMAKE_VERSION VERSION_LESS 3.1)
set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
else()
debian/rules
View file @
92f3bd1d
#!/usr/bin/make -f
%:
dh $@
--parallel
dh $@
override_dh_auto_configure:
dh_auto_configure -- -DSKIP_PORTABILITY_TEST=on
...
...
doc/CMakeLists.txt
0 → 100644
View file @
92f3bd1d
find_package
(
Doxygen
)
if
(
DOXYGEN_FOUND
)
configure_file
(
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/doxygen.in"
"
${
CMAKE_CURRENT_BINARY_DIR
}
/doxygen.cfg"
@ONLY
)
add_custom_target
(
doc
COMMAND
${
DOXYGEN_EXECUTABLE
}
"
${
CMAKE_CURRENT_BINARY_DIR
}
/doxygen.cfg"
WORKING_DIRECTORY
"
${
CMAKE_CURRENT_BINARY_DIR
}
/.."
COMMENT
"Generating API documentation with Doxygen"
VERBATIM
)
configure_file
(
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/../scripts/updatedoc.in"
"
${
CMAKE_CURRENT_BINARY_DIR
}
/updatedoc.sh"
@ONLY
)
add_custom_target
(
update-doc
COMMAND
"
${
CMAKE_CURRENT_BINARY_DIR
}
/updatedoc.sh"
DEPENDS doc
COMMENT
"Copying documentation to gh-pages branch"
VERBATIM
)
endif
(
DOXYGEN_FOUND
)
\ No newline at end of file
doc/doxygen.in
View file @
92f3bd1d
...
...
@@ -52,7 +52,7 @@ PROJECT_LOGO =
# If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY =
doc
OUTPUT_DIRECTORY =
@CMAKE_CURRENT_BINARY_DIR@/
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
# 4096 sub-directories (in 2 levels) under the output directory of each output
...
...
@@ -595,7 +595,7 @@ FILE_VERSION_FILTER =
# You can optionally specify a file name after the option, if omitted
# DoxygenLayout.xml will be used as the name of the layout file.
LAYOUT_FILE = "@CMAKE_CURRENT_SOURCE_DIR@/
doc/
DoxygenLayout.xml"
LAYOUT_FILE = "@CMAKE_CURRENT_SOURCE_DIR@/DoxygenLayout.xml"
# The CITE_BIB_FILES tag can be used to specify one or more bib files
# containing the references data. This must be a list of .bib files. The
...
...
@@ -668,7 +668,7 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = @CMAKE_CURRENT_SOURCE_DIR@/include @CMAKE_CURRENT_SOURCE_DIR@/
doc #include doc
INPUT = @CMAKE_CURRENT_SOURCE_DIR@/
../
include @CMAKE_CURRENT_SOURCE_DIR@/
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
...
...
@@ -701,7 +701,7 @@ RECURSIVE = YES
# Note that relative paths are relative to the directory from which doxygen is
# run.
EXCLUDE = external
EXCLUDE =
@CMAKE_CURRENT_SOURCE_DIR@/../
external
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
...
...
@@ -911,7 +911,7 @@ HTML_HEADER =
# each generated HTML page. If it is left blank doxygen will generate a
# standard footer.
HTML_FOOTER ="@CMAKE_CURRENT_SOURCE_DIR@/
doc/
footer.html"
HTML_FOOTER ="@CMAKE_CURRENT_SOURCE_DIR@/footer.html"
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
# style sheet that is used by each HTML page. It can be used to
...
...
@@ -1476,13 +1476,13 @@ XML_OUTPUT = xml
# which can be used by a validating XML parser to check the
# syntax of the XML files.
XML_SCHEMA =
#
XML_SCHEMA =
# The XML_DTD tag can be used to specify an XML DTD,
# which can be used by a validating XML parser to check the
# syntax of the XML files.
XML_DTD =
#
XML_DTD =
# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
# dump the program listings (including syntax highlighting
...
...
@@ -1626,7 +1626,7 @@ TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create
# a tag file that is based on the input files it reads.
GENERATE_TAGFILE =
GENERATE_TAGFILE =
cereal.doxytags
# If the ALLEXTERNALS tag is set to YES all external classes will be listed
# in the class index. If set to NO only the inherited external classes
...
...
include/cereal/access.hpp
View file @
92f3bd1d
...
...
@@ -34,8 +34,8 @@
#include
<cstdint>
#include
<functional>
#include
<
cereal/macros.hpp
>
#include
<
cereal/details/helpers.hpp
>
#include
"
cereal/macros.hpp
"
#include
"
cereal/details/helpers.hpp
"
namespace
cereal
{
...
...
include/cereal/archives/adapters.hpp
View file @
92f3bd1d
...
...
@@ -30,7 +30,7 @@
#ifndef CEREAL_ARCHIVES_ADAPTERS_HPP_
#define CEREAL_ARCHIVES_ADAPTERS_HPP_
#include
<
cereal/details/helpers.hpp
>
#include
"
cereal/details/helpers.hpp
"
#include
<utility>
namespace
cereal
...
...
include/cereal/archives/binary.hpp
View file @
92f3bd1d
...
...
@@ -29,7 +29,7 @@
#ifndef CEREAL_ARCHIVES_BINARY_HPP_
#define CEREAL_ARCHIVES_BINARY_HPP_
#include
<
cereal/cereal.hpp
>
#include
"
cereal/cereal.hpp
"
#include
<sstream>
namespace
cereal
...
...
include/cereal/archives/json.hpp
View file @
92f3bd1d
...
...
@@ -29,8 +29,8 @@
#ifndef CEREAL_ARCHIVES_JSON_HPP_
#define CEREAL_ARCHIVES_JSON_HPP_
#include
<
cereal/cereal.hpp
>
#include
<
cereal/details/util.hpp
>
#include
"
cereal/cereal.hpp
"
#include
"
cereal/details/util.hpp
"
namespace
cereal
{
...
...
@@ -50,11 +50,11 @@ namespace cereal
#define CEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS kWriteNanAndInfFlag
#define CEREAL_RAPIDJSON_PARSE_DEFAULT_FLAGS kParseFullPrecisionFlag | kParseNanAndInfFlag
#include
<
cereal/external/rapidjson/prettywriter.h
>
#include
<
cereal/external/rapidjson/ostreamwrapper.h
>
#include
<
cereal/external/rapidjson/istreamwrapper.h
>
#include
<
cereal/external/rapidjson/document.h
>
#include
<
cereal/external/base64.hpp
>
#include
"
cereal/external/rapidjson/prettywriter.h
"
#include
"
cereal/external/rapidjson/ostreamwrapper.h
"
#include
"
cereal/external/rapidjson/istreamwrapper.h
"
#include
"
cereal/external/rapidjson/document.h
"
#include
"
cereal/external/base64.hpp
"
#include
<limits>
#include
<sstream>
...
...
@@ -96,8 +96,8 @@ namespace cereal
{
enum
class
NodeType
{
StartObject
,
InObject
,
StartArray
,
InArray
};
using
WriteStream
=
rapidjson
::
OStreamWrapper
;
using
JSONWriter
=
rapidjson
::
PrettyWriter
<
WriteStream
>
;
using
WriteStream
=
CEREAL_RAPIDJSON_NAMESPACE
::
OStreamWrapper
;
using
JSONWriter
=
CEREAL_RAPIDJSON_NAMESPACE
::
PrettyWriter
<
WriteStream
>
;
public
:
/*! @name Common Functionality
...
...
@@ -242,7 +242,7 @@ namespace cereal
//! Saves a double to the current node
void
saveValue
(
double
d
)
{
itsWriter
.
Double
(
d
);
}
//! Saves a string to the current node
void
saveValue
(
std
::
string
const
&
s
)
{
itsWriter
.
String
(
s
.
c_str
(),
static_cast
<
rapidjson
::
SizeType
>
(
s
.
size
()
));
}
void
saveValue
(
std
::
string
const
&
s
)
{
itsWriter
.
String
(
s
.
c_str
(),
static_cast
<
CEREAL_RAPIDJSON_NAMESPACE
::
SizeType
>
(
s
.
size
()
));
}
//! Saves a const char * to the current node
void
saveValue
(
char
const
*
s
)
{
itsWriter
.
String
(
s
);
}
//! Saves a nullptr to the current node
...
...
@@ -406,11 +406,11 @@ namespace cereal
class
JSONInputArchive
:
public
InputArchive
<
JSONInputArchive
>
,
public
traits
::
TextArchive
{
private:
using
ReadStream
=
rapidjson
::
IStreamWrapper
;
typedef
rapidjson
::
GenericValue
<
rapidjson
::
UTF8
<>>
JSONValue
;
using
ReadStream
=
CEREAL_RAPIDJSON_NAMESPACE
::
IStreamWrapper
;
typedef
CEREAL_RAPIDJSON_NAMESPACE
::
GenericValue
<
CEREAL_RAPIDJSON_NAMESPACE
::
UTF8
<>>
JSONValue
;
typedef
JSONValue
::
ConstMemberIterator
MemberIterator
;
typedef
JSONValue
::
ConstValueIterator
ValueIterator
;
typedef
rapidjson
::
Document
::
GenericValue
GenericValue
;
typedef
CEREAL_RAPIDJSON_NAMESPACE
::
Document
::
GenericValue
GenericValue
;
public:
/*! @name Common Functionality
...
...
@@ -471,11 +471,17 @@ namespace cereal
Iterator
(
MemberIterator
begin
,
MemberIterator
end
)
:
itsMemberItBegin
(
begin
),
itsMemberItEnd
(
end
),
itsIndex
(
0
),
itsType
(
Member
)
{
}
{
if
(
std
::
distance
(
begin
,
end
)
==
0
)
itsType
=
Null_
;
}
Iterator
(
ValueIterator
begin
,
ValueIterator
end
)
:
itsValueItBegin
(
begin
),
itsValueItEnd
(
end
),
itsIndex
(
0
),
itsType
(
Value
)
{
}
{
if
(
std
::
distance
(
begin
,
end
)
==
0
)
itsType
=
Null_
;
}
//! Advance to the next node
Iterator
&
operator
++
()
...
...
@@ -491,7 +497,7 @@ namespace cereal
{
case
Value
:
return
itsValueItBegin
[
itsIndex
];
case
Member
:
return
itsMemberItBegin
[
itsIndex
].
value
;
default:
throw
cereal
::
Exception
(
"
Invalid Iterator Type
!"
);
default:
throw
cereal
::
Exception
(
"
JSONInputArchive internal error: null or empty iterator to object or array
!"
);
}
}
...
...
@@ -713,7 +719,7 @@ namespace cereal
const
char
*
itsNextName
;
//!< Next name set by NVP
ReadStream
itsReadStream
;
//!< Rapidjson write stream
std
::
vector
<
Iterator
>
itsIteratorStack
;
//!< 'Stack' of rapidJSON iterators
rapidjson
::
Document
itsDocument
;
//!< Rapidjson document
CEREAL_RAPIDJSON_NAMESPACE
::
Document
itsDocument
;
//!< Rapidjson document
};
// ######################################################################
...
...
include/cereal/archives/portable_binary.hpp
View file @
92f3bd1d
...
...
@@ -29,7 +29,7 @@
#ifndef CEREAL_ARCHIVES_PORTABLE_BINARY_HPP_
#define CEREAL_ARCHIVES_PORTABLE_BINARY_HPP_
#include
<
cereal/cereal.hpp
>
#include
"
cereal/cereal.hpp
"
#include
<sstream>
#include
<limits>
...
...
include/cereal/archives/xml.hpp
View file @
92f3bd1d
...
...
@@ -28,12 +28,12 @@
*/
#ifndef CEREAL_ARCHIVES_XML_HPP_
#define CEREAL_ARCHIVES_XML_HPP_
#include
<
cereal/cereal.hpp
>
#include
<
cereal/details/util.hpp
>
#include
"
cereal/cereal.hpp
"
#include
"
cereal/details/util.hpp
"
#include
<
cereal/external/rapidxml/rapidxml.hpp
>
#include
<
cereal/external/rapidxml/rapidxml_print.hpp
>
#include
<
cereal/external/base64.hpp
>
#include
"
cereal/external/rapidxml/rapidxml.hpp
"
#include
"
cereal/external/rapidxml/rapidxml_print.hpp
"
#include
"
cereal/external/base64.hpp
"
#include
<sstream>
#include
<stack>
...
...
include/cereal/cereal.hpp
View file @
92f3bd1d
...
...
@@ -39,10 +39,10 @@
#include
<cstdint>
#include
<functional>
#include
<
cereal/macros.hpp
>
#include
<
cereal/details/traits.hpp
>
#include
<
cereal/details/helpers.hpp
>
#include
<
cereal/types/base_class.hpp
>
#include
"
cereal/macros.hpp
"
#include
"
cereal/details/traits.hpp
"
#include
"
cereal/details/helpers.hpp
"
#include
"
cereal/types/base_class.hpp
"
namespace
cereal
{
...
...
@@ -255,6 +255,20 @@ namespace cereal
a large project from Boost to cereal. The preferred interface for cereal is using operator(). */
//! @{
//! Indicates this archive is not intended for loading
/*! This ensures compatibility with boost archive types. If you are transitioning
from boost, you can check this value within a member or external serialize function
(i.e., Archive::is_loading::value) to disable behavior specific to loading, until
you can transition to split save/load or save_minimal/load_minimal functions */
using
is_loading
=
std
::
false_type
;
//! Indicates this archive is intended for saving
/*! This ensures compatibility with boost archive types. If you are transitioning
from boost, you can check this value within a member or external serialize function
(i.e., Archive::is_saving::value) to enable behavior specific to loading, until
you can transition to split save/load or save_minimal/load_minimal functions */
using
is_saving
=
std
::
true_type
;
//! Serializes passed in data
/*! This is a boost compatability layer and is not the preferred way of using
cereal. If you are transitioning from boost, use this until you can
...
...
@@ -611,6 +625,20 @@ namespace cereal
a large project from Boost to cereal. The preferred interface for cereal is using operator(). */
//! @{
//! Indicates this archive is intended for loading
/*! This ensures compatibility with boost archive types. If you are transitioning
from boost, you can check this value within a member or external serialize function
(i.e., Archive::is_loading::value) to enable behavior specific to loading, until
you can transition to split save/load or save_minimal/load_minimal functions */
using
is_loading
=
std
::
true_type
;
//! Indicates this archive is not intended for saving
/*! This ensures compatibility with boost archive types. If you are transitioning
from boost, you can check this value within a member or external serialize function
(i.e., Archive::is_saving::value) to disable behavior specific to loading, until
you can transition to split save/load or save_minimal/load_minimal functions */
using
is_saving
=
std
::
false_type
;
//! Serializes passed in data
/*! This is a boost compatability layer and is not the preferred way of using
cereal. If you are transitioning from boost, use this until you can
...
...
@@ -954,6 +982,6 @@ namespace cereal
}
// namespace cereal
// This include needs to come after things such as binary_data, make_nvp, etc
#include
<
cereal/types/common.hpp
>
#include
"
cereal/types/common.hpp
"
#endif // CEREAL_CEREAL_HPP_
Prev
1
2
3
4
5
…
7
Next