I'm using Boost.MPI to exchange messages between processes. Each message carries one of my classes, serialized using Boost.Serialization. I also use the same serialization code to save that class to a file. What I need to send over MPI is smaller than what I need to save to a file (fewer relevant members). I was thinking that it would be nice to use the class versioning, supported by the Serialization library, to tell Boost.MPI to send the non-default version of the class, but I can't seem to find a way to do so. Do you know if this is possible?
Can I tell Boost.MPI which class version to use with Boost.Serialization?
327 Views Asked by foxcub At
1
There are 1 best solutions below
Related Questions in C++
- C++ using std::vector across boundaries
- Linked list without struct
- Connecting Signal QML to C++ (Qt5)
- how to get the reference of struct soap inherited in C++ Proxy/Service class
- Why we can't assign value to pointer
- Conversion of objects in c++
- shared_ptr: "is not a type" error
- C++ template using pointer and non pointer arguments in a QVector
- C++ SFML 2.2 vectors
- Lifetime of temporary objects
- I want to be able to use 4 different variables in a select statement in c ++
- segmentation fault: 11, extracting data in vector
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- How can I print all the values in this linked list inside a hash table?
- Configured TTL for A record(s) backing CNAME records
Related Questions in BOOST
- Non-intruisive Boost serialization of labelled enums C++
- error WinSock.h has already been included Boost Windows Qt
- How to get rid of the ".\r\n" characters appended to the error message from FormatMessageA?
- What is the equivalent of boost::system::error_code with GetLastError in C++ Standard Library?
- Copy constructor required to be explicity defined with mutex
- boost spirit: how to match any lexer token in qi?
- boost resume thread on mutex unlock
- boost mpi sends NULL messages
- BOOST & GCC, undefined reference to boost
- CSV like Parse ( whitespace delimiter and boost )
- How does Boost.Units come up with this imprecise result of conversion?
- No viable overloaded '=' in std::bind function
- How should boost::lockfree::spsc_queue's read_available and write_available be used?
- add line in cmake to edit Makefile definition
- How does boost::subgraph work? Can we use filtered graph?
Related Questions in BOOST-SERIALIZATION
- Serialising large vector<bool> using boost serialization
- Serializing polymorphic classes with environment-specific state
- Why does boost::serialize not work despite everything seeming right? ("unregistered class")
- boost serialization hexadecimal decimal encoding of data
- Boost Serialization : Linker errors in XCode 5 project, generated from CMake (w/ minimal complete example)
- Exception when using boost::serialization and binary format
- Boost serialization version information
- boost serialization, deserialization of raw C arrays
- Registering user-provided derived types with Boost Serialization
- Error when trying to use the Boost Serialization library
- How to use boost::serialization for std::stack?
- How to update object with Boost Serialization?
- Unable to deserialize boost::adjacency_list by boost v.1.55 which was serialized with boost v.1.48
- BOOST_CLASS_EXPORT_GUID with custom class archive
- How to implement boost::serialize for tbb::concurrent_vector
Related Questions in BOOST-MPI
- Open MPI Broadcast Latency Measurement
- c++ boost MPI & threading - serialize errors: Address not mapped
- Does a mpi request finish if recv and send is matched
- Building Boost.MPI with Intel MPI
- Boost::serialization and boost::mpi to broadcast derived class via base class pointer
- Error during compiling of simple boot_mpi scatter program: no serialize element
- How do I free a boost::mpi::request?
- MPI_Test: MPI_ERR_TRUNCATE
- Preserve original ranks in new group
- cmake: linking software to boost::mpi (with mpich2)
- What could cause asymmetric throughput of MPI nonblocking messages?
- Boost.MPI/Boost.Interprocess - how to detect if processes run on same machine?
- Can I tell Boost.MPI which class version to use with Boost.Serialization?
- fast mpi right rotate large data
- OSX "clang++ -lboost_mpi"` ->"ld: library not found for -lboost_mpi" after brew install boost --with-mpi
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
It is not possible to serialize two different versions of the same type in the same binary module. The reason is that the version used is a compile time constant specified using the
BOOST_CLASS_VERSIONconstruct (the version number defaults to zero if not specified).What you could try is to implement specializations of the serialization member function for your type for specific archive types:
Similarily, you could provide overloads when using the split load/save serialization functions.