00001 // Copyright 2009-2010 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-2010, 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/map.hpp> 00019 #include <boost/serialization/set.hpp> 00020 #include <boost/serialization/string.hpp> 00021 #include <boost/serialization/vector.hpp> 00022 00023 /* BWB: This is an ugly hack which will probably break serializing 00024 std::strings for MPI communication (which we thankfully don't 00025 generally do). In Boost versions prior to 1.40, there was a bug 00026 which resulted in compile errors if a BOOST_CLASS_EXPORTed data 00027 structure contained an std::string. We do use std::strings for 00028 classes which are serialized but not sent using MPI (like most 00029 elements), so that posed a problem. Checkpointing pays no 00030 attention to this define, so it doesn't break those */ 00031 #if SST_BOOST_MPI_STD_STRING_BROKEN 00032 BOOST_IS_MPI_DATATYPE(std::string) 00033 #endif 00034 00035 #endif