-template<class X, class Y>
-bool operator==(remote_ptr<X> const& x, remote_ptr<Y> const& y)
-{
- return x.address() == y.address();
-}
-
-template<class X, class Y>
-bool operator!=(remote_ptr<X> const& x, remote_ptr<Y> const& y)
-{
- return x.address() != y.address();
-}
-
-template<class T> inline
-remote_ptr<T> remote(T *p)
-{
- return remote_ptr<T>(p);
-}
-
-template<class T=void> inline
-remote_ptr<T> remote(uint64_t p)
-{
- return remote_ptr<T>(p);
-}
-
-/** Process index used when no process is available
- *
- * The expected behaviour is that if a process index is needed it will fail.
- * */
-const int ProcessIndexMissing = -1;
-
-/** Process index used when we don't care about the process index
- * */
-const int ProcessIndexDisabled = -2;
-
-/** Constant used when any process will do.
- *
- * This is is index of the first process.
- */
-const int ProcessIndexAny = 0;
+ /** Allows to return a pointer to another buffer where the data is
+ * available instead of copying the data into the buffer
+ */
+ static constexpr ReadOptions lazy() { return ReadOptions(1); }
+};