VMware Tanzu GemFire Native C++ Reference  10.1.5
CacheableUndefined.hpp
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #pragma once
19 
20 #ifndef GEODE_CACHEABLEUNDEFINED_H_
21 #define GEODE_CACHEABLEUNDEFINED_H_
22 
23 #include <memory>
24 
25 #include "Serializable.hpp"
26 #include "internal/DSFixedId.hpp"
27 #include "internal/DataSerializableFixedId.hpp"
28 #include "internal/geode_globals.hpp"
29 
33 namespace apache {
34 namespace geode {
35 namespace client {
36 
37 class DataInput;
38 class DataOutput;
39 class Serializable;
40 
45 class APACHE_GEODE_EXPORT CacheableUndefined
46  : public internal::DataSerializableFixedId_t<
47  internal::DSFid::CacheableUndefined> {
48  public:
49  inline CacheableUndefined() = default;
50  virtual ~CacheableUndefined() noexcept override = default;
51  CacheableUndefined& operator=(const CacheableUndefined& other) = delete;
52  CacheableUndefined(const CacheableUndefined& other) = delete;
53 
54  void toData(DataOutput&) const override;
55 
56  void fromData(DataInput&) override;
57 
61  inline static std::shared_ptr<Serializable> createDeserializable() {
62  return std::make_shared<CacheableUndefined>();
63  }
64 
68  inline static std::shared_ptr<CacheableUndefined> create() {
69  return std::make_shared<CacheableUndefined>();
70  }
71 };
72 
73 } // namespace client
74 } // namespace geode
75 } // namespace apache
76 
77 #endif // GEODE_CACHEABLEUNDEFINED_H_
apache::geode::client::CacheableUndefined
Implements a DataSerializable object for undefined query results.
Definition: CacheableUndefined.hpp:47
apache::geode::client::CacheableUndefined::create
static std::shared_ptr< CacheableUndefined > create()
Factory method for creating the default instance of CacheableUndefined.
Definition: CacheableUndefined.hpp:68
apache::geode::client::DataOutput
Provide operations for writing primitive data values, byte arrays, strings, Serializable objects to a...
Definition: DataOutput.hpp:48
apache::geode::client::DataInput
Provide operations for reading primitive data values, byte arrays, strings, Serializable objects from...
Definition: DataInput.hpp:59
apache::geode::client::CacheableUndefined::createDeserializable
static std::shared_ptr< Serializable > createDeserializable()
creation function for undefined query result
Definition: CacheableUndefined.hpp:61

Apache Geode C++ Cache API Documentation