42 #ifndef TPETRA_PACKABLE_DECL_HPP
43 #define TPETRA_PACKABLE_DECL_HPP
50 #ifndef DOXYGEN_SHOULD_SKIP_THIS
53 template <
class T>
class Array;
54 template <
class T>
class ArrayView;
57 #endif // DOXYGEN_SHOULD_SKIP_THIS
94 template<
class Packet,
119 pack (
const Teuchos::ArrayView<const LocalOrdinal>& exportLIDs,
120 Teuchos::Array<Packet>& exports,
121 const Teuchos::ArrayView<size_t>& numPacketsPerLID,
122 size_t& constantNumPackets)
const = 0;
Forward declaration of Tpetra::Packable.
virtual ~Packable()
Destructor (virtual for memory safety of derived classes).
virtual void pack(const Teuchos::ArrayView< const LocalOrdinal > &exportLIDs, Teuchos::Array< Packet > &exports, const Teuchos::ArrayView< size_t > &numPacketsPerLID, size_t &constantNumPackets) const =0
Pack the object's data for an Import or Export.
Abstract base class for objects that can be the source of an Import or Export operation, and that also know how to pack their data to send to the target object.