00001 // Copyright 2009-2015 Sandia Corporation. Under the terms 00002 // of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. 00003 // Government retains certain rights in this software. 00004 // 00005 // Copyright (c) 2009-2015, Sandia Corporation 00006 // All rights reserved. 00007 // 00008 // This file is part of the SST software package. For license 00009 // information, see the LICENSE file in the top level directory of the 00010 // distribution. 00011 00012 00013 #ifndef SST_SERIALIZATION_TYPES_H 00014 #define SST_SERIALIZATION_TYPES_H 00015 00016 #include <boost/serialization/array.hpp> 00017 #include <boost/serialization/deque.hpp> 00018 #include <boost/serialization/list.hpp> 00019 #include <boost/serialization/map.hpp> 00020 #include <boost/serialization/set.hpp> 00021 #include <boost/serialization/string.hpp> 00022 #include <boost/serialization/vector.hpp> 00023 00024 /* BWB: This is an ugly hack which will probably break serializing 00025 std::strings for MPI communication (which we thankfully don't 00026 generally do). In Boost versions prior to 1.40, there was a bug 00027 which resulted in compile errors if a BOOST_CLASS_EXPORTed data 00028 structure contained an std::string. We do use std::strings for 00029 classes which are serialized but not sent using MPI (like most 00030 elements), so that posed a problem. Checkpointing pays no 00031 attention to this define, so it doesn't break those */ 00032 #if SST_BOOST_MPI_STD_STRING_BROKEN 00033 //BOOST_IS_MPI_DATATYPE(std::string) 00034 #endif 00035 00036 #endif