|
||||
File indexing completed on 2025-01-18 09:40:57
0001 // (C) Copyright 2005 Matthias Troyer 0002 0003 // Use, modification and distribution is subject to the Boost Software 0004 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 0005 // http://www.boost.org/LICENSE_1_0.txt) 0006 0007 // Authors: Matthias Troyer 0008 0009 #ifndef BOOST_MPI_DETAIL_IGNORE_IPRIMITIVE_HPP 0010 #define BOOST_MPI_DETAIL_IGNORE_IPRIMITIVE_HPP 0011 0012 #include <boost/config.hpp> 0013 #include <boost/mpi/datatype.hpp> 0014 #include <boost/serialization/array.hpp> 0015 0016 0017 namespace boost { namespace mpi { namespace detail { 0018 0019 /// @brief a minimal input archive, which ignores any load 0020 /// 0021 /// This class implements a minimal input archive, probably an input archive 0022 /// archetype, doing nothing at any load. It's use, besides acting as an 0023 /// archetype is as a base class to implement special archives that ignore 0024 /// loading of most types 0025 0026 class ignore_iprimitive 0027 { 0028 public: 0029 /// a trivial default constructor 0030 ignore_iprimitive() 0031 {} 0032 0033 0034 /// don't do anything when loading binary data 0035 void load_binary(void *, std::size_t ) 0036 {} 0037 0038 /// don't do anything when loading arrays 0039 template<class T> 0040 void load_array(serialization::array_wrapper<T> &, unsigned int ) 0041 {} 0042 0043 typedef is_mpi_datatype<mpl::_1> use_array_optimization; 0044 0045 /// don't do anything when loading primitive types 0046 template<class T> 0047 void load(T &) 0048 { 0049 } 0050 }; 0051 0052 } } } // end namespace boost::mpi::detail 0053 0054 #endif // BOOST_MPI_DETAIL_IGNORE_IPRIMITIVE_HPP
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |