You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by jb...@apache.org on 2017/06/22 18:01:24 UTC

[1/9] geode-native git commit: GEODE-2741: Removes last of SharedPtr/SharedBase.

Repository: geode-native
Updated Branches:
  refs/heads/develop 32203507c -> b1a9af530


http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/Position.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/Position.hpp b/src/tests/cpp/testobject/Position.hpp
index f9071c5..5e91e0a 100644
--- a/src/tests/cpp/testobject/Position.hpp
+++ b/src/tests/cpp/testobject/Position.hpp
@@ -105,7 +105,7 @@ class TESTOBJECT_EXPORT Position : public apache::geode::client::Serializable {
   void init();
 };
 
-typedef apache::geode::client::SharedPtr<Position> PositionPtr;
+typedef std::shared_ptr<Position> PositionPtr;
 }  // namespace testobject
 
 #endif  // GEODE_TESTOBJECT_POSITION_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/PositionPdx.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/PositionPdx.hpp b/src/tests/cpp/testobject/PositionPdx.hpp
index d28e61e..bc8e2fd 100644
--- a/src/tests/cpp/testobject/PositionPdx.hpp
+++ b/src/tests/cpp/testobject/PositionPdx.hpp
@@ -101,7 +101,7 @@ class TESTOBJECT_EXPORT PositionPdx
   void init();
 };
 
-typedef apache::geode::client::SharedPtr<PositionPdx> PositionPdxPtr;
+typedef std::shared_ptr<PositionPdx> PositionPdxPtr;
 }  // namespace testobject
 
 #endif  // GEODE_TESTOBJECT_POSITIONPDX_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/TestObject1.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/TestObject1.hpp b/src/tests/cpp/testobject/TestObject1.hpp
index ed2bc46..921c8e7 100644
--- a/src/tests/cpp/testobject/TestObject1.hpp
+++ b/src/tests/cpp/testobject/TestObject1.hpp
@@ -65,7 +65,7 @@ class TESTOBJECT_EXPORT TestObject1 : public Cacheable {
   static Serializable* create();
 };
 
-typedef SharedPtr<TestObject1> TestObject1Ptr;
+typedef std::shared_ptr<TestObject1> TestObject1Ptr;
 }  // namespace testobject
 
 #endif  // GEODE_TESTOBJECT_TESTOBJECT1_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/TimestampedObject.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/TimestampedObject.hpp b/src/tests/cpp/testobject/TimestampedObject.hpp
index 9809117..d12ad12 100644
--- a/src/tests/cpp/testobject/TimestampedObject.hpp
+++ b/src/tests/cpp/testobject/TimestampedObject.hpp
@@ -50,8 +50,7 @@ class TESTOBJECT_EXPORT TimestampedObject
   virtual uint32_t objectSize() const { return 0; }
   virtual ~TimestampedObject() {}
 };
-typedef apache::geode::client::SharedPtr<TimestampedObject>
-    TimestampedObjectPtr;
+typedef std::shared_ptr<TimestampedObject> TimestampedObjectPtr;
 }  // namespace testobject
 
 #endif  // GEODE_TESTOBJECT_TIMESTAMPEDOBJECT_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/VariousPdxTypes.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/VariousPdxTypes.hpp b/src/tests/cpp/testobject/VariousPdxTypes.hpp
index a9e77a8..80c24d8 100644
--- a/src/tests/cpp/testobject/VariousPdxTypes.hpp
+++ b/src/tests/cpp/testobject/VariousPdxTypes.hpp
@@ -77,7 +77,7 @@ class TESTOBJECT_EXPORT PdxTypes1 : public PdxSerializable {
   int32_t getm_i1() { return m_i1; }
   static PdxSerializable* createDeserializable() { return new PdxTypes1(); }
 };
-typedef SharedPtr<PdxTypes1> PdxTypes1Ptr;
+typedef std::shared_ptr<PdxTypes1> PdxTypes1Ptr;
 
 /************************************************************
  *  PdxTypes2
@@ -113,7 +113,7 @@ class TESTOBJECT_EXPORT PdxTypes2 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypes2(); }
 };
-typedef SharedPtr<PdxTypes2> PdxTypes2Ptr;
+typedef std::shared_ptr<PdxTypes2> PdxTypes2Ptr;
 
 /************************************************************
  *  PdxTypes3
@@ -149,7 +149,7 @@ class TESTOBJECT_EXPORT PdxTypes3 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypes3(); }
 };
-typedef SharedPtr<PdxTypes3> PdxTypes3Ptr;
+typedef std::shared_ptr<PdxTypes3> PdxTypes3Ptr;
 
 /************************************************************
  *  PdxTypes4
@@ -184,7 +184,7 @@ class TESTOBJECT_EXPORT PdxTypes4 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypes4(); }
 };
-typedef SharedPtr<PdxTypes4> PdxTypes4Ptr;
+typedef std::shared_ptr<PdxTypes4> PdxTypes4Ptr;
 
 /************************************************************
  *  PdxTypes5
@@ -220,7 +220,7 @@ class TESTOBJECT_EXPORT PdxTypes5 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypes5(); }
 };
-typedef SharedPtr<PdxTypes5> PdxTypes5Ptr;
+typedef std::shared_ptr<PdxTypes5> PdxTypes5Ptr;
 
 /************************************************************
  *  PdxTypes6
@@ -257,7 +257,7 @@ class TESTOBJECT_EXPORT PdxTypes6 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypes6(); }
 };
-typedef SharedPtr<PdxTypes6> PdxTypes6Ptr;
+typedef std::shared_ptr<PdxTypes6> PdxTypes6Ptr;
 
 /************************************************************
  *  PdxTypes7
@@ -294,7 +294,7 @@ class TESTOBJECT_EXPORT PdxTypes7 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypes7(); }
 };
-typedef SharedPtr<PdxTypes7> PdxTypes7Ptr;
+typedef std::shared_ptr<PdxTypes7> PdxTypes7Ptr;
 
 /************************************************************
  *  PdxTypes8
@@ -333,7 +333,7 @@ class TESTOBJECT_EXPORT PdxTypes8 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypes8(); }
 };
-typedef SharedPtr<PdxTypes8> PdxTypes8Ptr;
+typedef std::shared_ptr<PdxTypes8> PdxTypes8Ptr;
 
 /************************************************************
  *  PdxTypes9
@@ -369,7 +369,7 @@ class TESTOBJECT_EXPORT PdxTypes9 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypes9(); }
 };
-typedef SharedPtr<PdxTypes9> PdxTypes9Ptr;
+typedef std::shared_ptr<PdxTypes9> PdxTypes9Ptr;
 
 /************************************************************
  *  PdxTypes10
@@ -406,7 +406,7 @@ class TESTOBJECT_EXPORT PdxTypes10 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypes10(); }
 };
-typedef SharedPtr<PdxTypes10> PdxTypes10Ptr;
+typedef std::shared_ptr<PdxTypes10> PdxTypes10Ptr;
 
 /************************************************************
  *  NestedPdx
@@ -447,7 +447,7 @@ class TESTOBJECT_EXPORT NestedPdx : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new NestedPdx(); }
 };
-typedef SharedPtr<NestedPdx> NestedPdxPtr;
+typedef std::shared_ptr<NestedPdx> NestedPdxPtr;
 
 /************************************************************
  *  Mixed Version NestedPdx
@@ -491,7 +491,7 @@ class TESTOBJECT_EXPORT MixedVersionNestedPdx : public PdxSerializable {
     return new MixedVersionNestedPdx();
   }
 };
-typedef SharedPtr<MixedVersionNestedPdx> MixedVersionNestedPdxPtr;
+typedef std::shared_ptr<MixedVersionNestedPdx> MixedVersionNestedPdxPtr;
 
 /************************************************************
  *  PdxInsideIGeodeSerializable
@@ -534,7 +534,8 @@ class TESTOBJECT_EXPORT PdxInsideIGeodeSerializable : public Serializable {
     return new PdxInsideIGeodeSerializable();
   }
 };
-typedef SharedPtr<PdxInsideIGeodeSerializable> PdxInsideIGeodeSerializablePtr;
+typedef std::shared_ptr<PdxInsideIGeodeSerializable>
+    PdxInsideIGeodeSerializablePtr;
 
 } /* namespace PdxTests */
 


[8/9] geode-native git commit: GEODE-2741: Removes last of SharedPtr/SharedBase.

Posted by jb...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/SharedPtr.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/SharedPtr.hpp b/src/cppcache/include/geode/SharedPtr.hpp
deleted file mode 100644
index 610b08e..0000000
--- a/src/cppcache/include/geode/SharedPtr.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#ifndef GEODE_SHAREDPTR_H_
-#define GEODE_SHAREDPTR_H_
-
-// TODO shared_ptr - remove this file.
-
-#include "SharedBase.hpp"
-#include "SharedPtrHelper.hpp"
-
-namespace apache {
-namespace geode {
-namespace client {
-
-typedef SharedPtr<SharedBase> SharedBasePtr;
-
-}  // namespace client
-}  // namespace geode
-}  // namespace apache
-
-#endif  // GEODE_SHAREDPTR_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/SharedPtrHelper.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/SharedPtrHelper.hpp b/src/cppcache/include/geode/SharedPtrHelper.hpp
deleted file mode 100644
index a1f4219..0000000
--- a/src/cppcache/include/geode/SharedPtrHelper.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#ifndef GEODE_SHAREDPTRHELPER_H_
-#define GEODE_SHAREDPTRHELPER_H_
-
-// TODO shared_ptr - remove this file.
-
-#include <typeinfo>
-
-#include "geode_globals.hpp"
-#include "TypeHelper.hpp"
-
-namespace apache {
-namespace geode {
-namespace client {
-
-class SharedBase;
-
-/** Helper class for SharedPtr exceptions
- */
-class CPPCACHE_EXPORT SPEHelper {
- public:
-  static void throwNullPointerException(const char* ename);
-
-  static void throwClassCastException(const char* msg, const char* fromType,
-                                      const char* toType);
-};
-
-/* Helper function template for type conversion.
- */
-template <class Target, class Src>
-Target* getTargetHelper(Src* ptr,
-                        apache::geode::client::TypeHelper::yes_type yes) {
-  return ptr;
-}
-
-/* Helper function template for type conversion.
- */
-template <class Target, class Src>
-Target* getTargetHelper(Src* ptr,
-                        apache::geode::client::TypeHelper::no_type no) {
-  Target* tptr = dynamic_cast<Target*>(ptr);
-  if (tptr) {
-    return tptr;
-  } else {
-    SPEHelper::throwClassCastException("getTargetHelper: cast failed",
-                                       typeid(ptr).name(), typeid(tptr).name());
-    return nullptr;
-  }
-}
-
-/* Helper function template for type conversion.
- */
-template <class Target, class Src>
-Target* getTarget(Src* ptr) {
-  return getTargetHelper<Target>(ptr, GF_SRC_IS_TARGET_TYPE(Target, Src));
-}
-
-/* Helper function template for type conversion.
- */
-template <class Src>
-SharedBase* getSB(Src* ptr) {
-  return getTarget<SharedBase>(ptr);
-}
-}  // namespace client
-}  // namespace geode
-}  // namespace apache
-
-#endif  // GEODE_SHAREDPTRHELPER_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/TransactionId.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/TransactionId.hpp b/src/cppcache/include/geode/TransactionId.hpp
index 63a4c14..b0f110f 100644
--- a/src/cppcache/include/geode/TransactionId.hpp
+++ b/src/cppcache/include/geode/TransactionId.hpp
@@ -21,8 +21,7 @@
  */
 
 #include <memory>
-
-#include "SharedBase.hpp"
+#include "geode_base.hpp"
 
 namespace apache {
 namespace geode {
@@ -33,8 +32,8 @@ namespace client {
 * @see Cache#getCacheTransactionManager
 * @see CacheTransactionManager#getTransactionId
 */
-class CPPCACHE_EXPORT TransactionId : public apache::geode::client::SharedBase {
- protected:
+class CPPCACHE_EXPORT TransactionId {
+ public:
   TransactionId();
   virtual ~TransactionId();
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/TypeHelper.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/TypeHelper.hpp b/src/cppcache/include/geode/TypeHelper.hpp
deleted file mode 100644
index 149ea80..0000000
--- a/src/cppcache/include/geode/TypeHelper.hpp
+++ /dev/null
@@ -1,155 +0,0 @@
-#pragma once
-
-#ifndef GEODE_TYPEHELPER_H_
-#define GEODE_TYPEHELPER_H_
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file Contains helper classes for extracting compile-time type traits
- */
-
-#include "geode_globals.hpp"
-#include <memory>
-
-namespace apache {
-namespace geode {
-namespace client {
-
-// TODO share_ptr - remove this and replace with explicit std::shared_ptr defs.
-template <class Target>
-using SharedPtr = std::shared_ptr<Target>;
-
-// Forward declaration of CacheableArrayType<T, ID>
-template <typename Target, int8_t TYPEID>
-class CacheableArrayType;
-
-template <typename TObj, int8_t TYPEID>
-using SharedArrayPtr = SharedPtr<CacheableArrayType<TObj, TYPEID>>;
-
-/**
- * @brief Helper type traits and other structs/classes to determine type
- *        information at compile time using typename.
- *        Useful for templates in particular.
- */
-namespace TypeHelper {
-typedef uint8_t yes_type;
-typedef uint32_t no_type;
-
-template <typename TBase, typename TDerived>
-struct BDHelper {
-  template <typename T>
-  static yes_type check_sig(TDerived const volatile*, T);
-  static no_type check_sig(TBase const volatile*, int);
-};
-
-/**
- * @brief This struct helps us determine whether or not a class is a
- *        subclass of another at compile time, so that it can be used
- *        in templates. For an explanation of how this works see:
- *        {@link
- * http://groups.google.com/group/comp.lang.c++.moderated/msg/dd6c4e4d5160bd83}
- *        {@link
- * http://groups.google.com/group/comp.lang.c++.moderated/msg/645b2486ae80e5fb}
- */
-template <typename TBase, typename TDerived>
-struct SuperSubclass {
- private:
-  struct Host {
-    operator TBase const volatile*() const;
-    operator TDerived const volatile*();
-  };
-
- public:
-  static const bool result = sizeof(BDHelper<TBase, TDerived>::check_sig(
-                                 Host(), 0)) == sizeof(yes_type);
-};
-
-/**
- * @brief Specialization of <code>SuperSubclass</code> to return true
- *        for the special case when the two types being checked are same.
- */
-template <typename TBase>
-struct SuperSubclass<TBase, TBase> {
-  static const bool result = true;
-};
-
-/**
- * @brief This struct helps convert a boolean value into static objects
- *        of different types. Useful for matching of template functions.
- */
-template <bool getType = true>
-struct YesNoType {
-  static const yes_type value = 0;
-};
-
-/**
- * @brief Specialization of YesNoType for boolean value false.
- */
-template <>
-struct YesNoType<false> {
-  static const no_type value = 0;
-};
-
-/** @brief This struct unwraps the type <code>T</code> inside SharedPtr. */
-template <class T>
-struct UnwrapSharedPtr {};
-
-/** @brief This struct unwraps the type <code>T</code> inside SharedPtr. */
-template <class T>
-struct UnwrapSharedPtr<SharedPtr<T> > {
-  typedef T type;
-};
-
-/** @brief This struct unwraps the type <code>T</code> inside SharedArrayPtr. */
-template <class T, int8_t ID>
-struct UnwrapSharedPtr<SharedArrayPtr<T, ID> > {
-  typedef CacheableArrayType<T, ID> type;
-};
-}  // namespace TypeHelper
-}  // namespace client
-}  // namespace geode
-}  // namespace apache
-
-/** @brief Macro to unwrap the type <code>T</code> inside SharedPtr. */
-#define GF_UNWRAP_SP(T) \
-  typename apache::geode::client::TypeHelper::UnwrapSharedPtr<T>::type
-
-/**
- * @brief Macro to determine if the type <code>T</code> is derived from
- *        <code>Serializable</code>.
- */
-#define GF_TYPE_IS_SERIALIZABLE(T)                  \
-  apache::geode::client::TypeHelper::SuperSubclass< \
-      apache::geode::client::Serializable, T>::result
-
-/**
- * @brief Macro that returns <code>yes_type</code> if the type <code>T</code> is
- *        derived from <code>Serializable</code> and <code>no_type</code>
- *        otherwise. Useful for overloaded template functions.
- */
-#define GF_TYPE_IS_SERIALIZABLE_TYPE(T)                                 \
-  apache::geode::client::TypeHelper::YesNoType<GF_TYPE_IS_SERIALIZABLE( \
-      T)>::value
-
-#define GF_SRC_IS_TARGET_TYPE(TARGET, SRC)                     \
-  apache::geode::client::TypeHelper::YesNoType<                \
-      apache::geode::client::TypeHelper::SuperSubclass<TARGET, \
-                                                       SRC>::result>::value
-
-#endif  // GEODE_TYPEHELPER_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/UserData.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/UserData.hpp b/src/cppcache/include/geode/UserData.hpp
index 467a0c4..c722d4b 100644
--- a/src/cppcache/include/geode/UserData.hpp
+++ b/src/cppcache/include/geode/UserData.hpp
@@ -32,7 +32,7 @@ namespace geode {
 namespace client {
 
 typedef Serializable UserData;
-typedef SharedPtr<UserData> UserDataPtr;
+typedef std::shared_ptr<UserData> UserDataPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/UserFunctionExecutionException.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/UserFunctionExecutionException.hpp b/src/cppcache/include/geode/UserFunctionExecutionException.hpp
index 3ca4634..01e5a40 100644
--- a/src/cppcache/include/geode/UserFunctionExecutionException.hpp
+++ b/src/cppcache/include/geode/UserFunctionExecutionException.hpp
@@ -27,51 +27,51 @@ namespace apache {
 namespace geode {
 namespace client {
 class UserFunctionExecutionException;
-typedef SharedPtr<UserFunctionExecutionException>
+typedef std::shared_ptr<UserFunctionExecutionException>
     UserFunctionExecutionExceptionPtr;
 
 /**
-* @brief UserFunctionExecutionException class is used to encapsulate geode
-*sendException in case of Function execution.
-**/
+ * @brief UserFunctionExecutionException class is used to encapsulate geode
+ *sendException in case of Function execution.
+ **/
 class UserFunctionExecutionException : public Serializable {
   /**
-  * @brief public methods
-  */
+   * @brief public methods
+   */
 
  public:
   /**
-  * @brief destructor
-  */
+   * @brief destructor
+   */
   virtual ~UserFunctionExecutionException() {}
 
   /**
-  * @brief constructors
-  */
+   * @brief constructors
+   */
   UserFunctionExecutionException(CacheableStringPtr msg);
 
   /**
-  *@brief serialize this object
-  * @throws IllegalStateException If this api is called from User code.
-  **/
+   *@brief serialize this object
+   * @throws IllegalStateException If this api is called from User code.
+   **/
   virtual void toData(DataOutput& output) const;
 
   /**
-  *@brief deserialize this object, typical implementation should return
-  * the 'this' pointer.
-  * @throws IllegalStateException If this api is called from User code.
-  **/
+   *@brief deserialize this object, typical implementation should return
+   * the 'this' pointer.
+   * @throws IllegalStateException If this api is called from User code.
+   **/
   virtual Serializable* fromData(DataInput& input);
 
   /**
-  *@brief Return the classId of the instance being serialized.
-  * This is used by deserialization to determine what instance
-  * type to create and deserialize into.
-  *
-  * The classId must be unique within an application suite.
-  * Using a negative value may result in undefined behavior.
-  * @throws IllegalStateException If this api is called from User code.
-  */
+   *@brief Return the classId of the instance being serialized.
+   * This is used by deserialization to determine what instance
+   * type to create and deserialize into.
+   *
+   * The classId must be unique within an application suite.
+   * Using a negative value may result in undefined behavior.
+   * @throws IllegalStateException If this api is called from User code.
+   */
   virtual int32_t classId() const;
 
   /**
@@ -82,7 +82,7 @@ class UserFunctionExecutionException : public Serializable {
    * cache memory utilization.
    * Note that you must implement this only if you use the HeapLRU feature.
    * @throws IllegalStateException If this api is called from User code.
- */
+   */
   virtual uint32_t objectSize() const;
 
   /**
@@ -96,15 +96,15 @@ class UserFunctionExecutionException : public Serializable {
   virtual int8_t typeId() const;
 
   /**
-  *@brief return as CacheableStringPtr the Exception message returned from
-  *geode sendException api.
-  **/
+   *@brief return as CacheableStringPtr the Exception message returned from
+   *geode sendException api.
+   **/
   CacheableStringPtr getMessage() { return m_message; }
 
   /**
-  *@brief return as CacheableStringPtr the Exception name returned from geode
-  *sendException api.
-  **/
+   *@brief return as CacheableStringPtr the Exception name returned from geode
+   *sendException api.
+   **/
   CacheableStringPtr getName() {
     const char* msg = "UserFunctionExecutionException";
     CacheableStringPtr str = CacheableString::create(msg);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/VectorOfSharedBase.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/VectorOfSharedBase.hpp b/src/cppcache/include/geode/VectorOfSharedBase.hpp
deleted file mode 100644
index 537fb4c..0000000
--- a/src/cppcache/include/geode/VectorOfSharedBase.hpp
+++ /dev/null
@@ -1,173 +0,0 @@
-#pragma once
-
-#ifndef GEODE_VECTOROFSHAREDBASE_H_
-#define GEODE_VECTOROFSHAREDBASE_H_
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "geode_globals.hpp"
-
-#include "SharedPtr.hpp"
-#ifdef BUILD_CPPCACHE
-#include <vector>
-#endif
-
-/** @file
-*/
-
-namespace apache {
-namespace geode {
-namespace client {
-
-#ifdef BUILD_CPPCACHE
-typedef std::vector<apache::geode::client::SharedBasePtr> VofSBP;
-typedef VofSBP::const_iterator VofSBPIterator;
-#else
-class VofSBP;
-class VofSBPIterator;
-#endif
-
-/** Represents a vector of <code>apache::geode::client::SharedBasePtr</code>
-*/
-class CPPCACHE_EXPORT VectorOfSharedBase {
- private:
-  VofSBP* m_stdvector;
-
- public:
-  /** Interface of an iterator for <code>VectorOfSharedBase</code>.*/
-  class CPPCACHE_EXPORT Iterator {
-   private:
-    VofSBPIterator* m_iter;
-
-    Iterator(const VofSBPIterator& iter);
-    // Never defined.
-    Iterator();
-
-   private:
-    const Iterator& operator=(const Iterator&);
-
-   public:
-    Iterator(const Iterator& other);
-
-    const SharedBasePtr operator*() const;
-
-    Iterator& operator++();
-
-    void operator++(int);
-
-    bool operator==(const Iterator& other) const;
-
-    bool operator!=(const Iterator& other) const;
-
-    ~Iterator();
-
-    friend class VectorOfSharedBase;
-  };
-
-  /** return the size of the vector. */
-  int32_t size() const;
-
-  /** return the largest possible size of the vector. */
-  int32_t max_size() const;
-
-  /** return the number of elements allocated for this vector. */
-  int32_t capacity() const;
-
-  /** return true if the vector's size is 0. */
-  bool empty() const;
-
-  /** Return the n'th element */
-  SharedBasePtr& operator[](int32_t n);
-
-  /** Return the n'th element */
-  const SharedBasePtr& operator[](int32_t n) const;
-
-  /** Return the n'th element with bounds checking. */
-  SharedBasePtr& at(int32_t n);
-
-  /** Return the n'th element with bounds checking. */
-  SharedBasePtr& at(int32_t n) const;
-
-  /** Get an iterator pointing to the start of vector. */
-  Iterator begin() const;
-
-  /** Get an iterator pointing to the end of vector. */
-  Iterator end() const;
-
-  /** Create an empty vector. */
-  VectorOfSharedBase();
-
-  /** Create a vector with n elements allocated */
-  VectorOfSharedBase(int32_t n);
-
-  /** Create a vector with n copies of t */
-  VectorOfSharedBase(int32_t n, const SharedBasePtr& t);
-
-  /** copy constructor */
-  VectorOfSharedBase(const VectorOfSharedBase& other);
-
-  /** destructor, sets all SharedPtr elements to nullptr */
-  ~VectorOfSharedBase();
-
-  /** assignment operator */
-  VectorOfSharedBase& operator=(const VectorOfSharedBase& other);
-
-  /** reallocate a vector to hold n elements. */
-  void reserve(int32_t n);
-
-  /** returns the first element. */
-  SharedBasePtr& front();
-
-  /** returns the first element. */
-  const SharedBasePtr& front() const;
-
-  /** returns the last element. */
-  SharedBasePtr& back();
-
-  /** returns the last element. */
-  const SharedBasePtr& back() const;
-
-  /** insert a new element at the end. */
-  void push_back(const SharedBasePtr& e);
-
-  /** removes the last element. */
-  void pop_back();
-
-  /** swaps the contents of two vectors. */
-  void swap(VectorOfSharedBase& other);
-
-  /** erases all elements. */
-  void clear();
-
-  /** inserts or erases elements at the end such that size becomes n.
-   *  Not to be confused with reserve which simply allocates the space,
-   *  resize fills the space with active elements. */
-  void resize(int32_t n, const SharedBasePtr& t = nullptr);
-
-  /** insert object at the given index. */
-  void insert(int32_t index, const SharedBasePtr& t);
-
-  /** removes the object at the specified index from a vector
-  */
-  void erase(int32_t index);
-};
-}  // namespace client
-}  // namespace geode
-}  // namespace apache
-
-#endif  // GEODE_VECTOROFSHAREDBASE_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/WritablePdxInstance.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/WritablePdxInstance.hpp b/src/cppcache/include/geode/WritablePdxInstance.hpp
index 621c5e2..029119c 100644
--- a/src/cppcache/include/geode/WritablePdxInstance.hpp
+++ b/src/cppcache/include/geode/WritablePdxInstance.hpp
@@ -20,7 +20,7 @@
  * limitations under the License.
  */
 
-#include "SharedPtr.hpp"
+#include <memory>
 #include "Cacheable.hpp"
 
 #include "PdxInstance.hpp"
@@ -30,502 +30,503 @@ namespace geode {
 namespace client {
 
 /**
-* WritablePdxInstance is a {@link PdxInstance} that also supports field
-* modification
-* using the {@link #setField} method.
-* To get a WritablePdxInstance call {@link PdxInstance#createWriter}.
-*/
+ * WritablePdxInstance is a {@link PdxInstance} that also supports field
+ * modification
+ * using the {@link #setField} method.
+ * To get a WritablePdxInstance call {@link PdxInstance#createWriter}.
+ */
 class CPPCACHE_EXPORT WritablePdxInstance : public PdxInstance {
   /**
-  * @brief public methods
-  */
+   * @brief public methods
+   */
 
  public:
   /**
-  * @brief destructor
-  */
+   * @brief destructor
+   */
   virtual ~WritablePdxInstance() {}
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * CacheablePtr type is corresponding to java object type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type CacheablePtr
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * CacheablePtr type is corresponding to java object type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type CacheablePtr
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, CacheablePtr value) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * bool type is corresponding to java boolean type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type bool
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * bool type is corresponding to java boolean type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type bool
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, bool value) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * signed char type is corresponding to java byte type.
-  * For C++ on Windows and Linux, signed char type is corresponding to int8_t
-  * type.
-  * However C++ users on Solaris should always use this api after casting int8_t
-  * to signed char.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type signed char
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * signed char type is corresponding to java byte type.
+   * For C++ on Windows and Linux, signed char type is corresponding to int8_t
+   * type.
+   * However C++ users on Solaris should always use this api after casting
+   * int8_t to signed char.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type signed char
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, signed char value) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * unsigned char type is corresponding to java byte type.
-  * For C++ on Windows and Linux, unsigned char type is corresponding to int8_t
-  * type.
-  * However C++ users on Solaris should always use this api after casting int8_t
-  * to unsigned char.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type unsigned char
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * unsigned char type is corresponding to java byte type.
+   * For C++ on Windows and Linux, unsigned char type is corresponding to int8_t
+   * type.
+   * However C++ users on Solaris should always use this api after casting
+   * int8_t to unsigned char.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type unsigned char
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, unsigned char value) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * int16_t type is corresponding to java short type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type int16_t
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * int16_t type is corresponding to java short type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type int16_t
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, int16_t value) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * int32_t type is corresponding to java int type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type int32_t
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * int32_t type is corresponding to java int type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type int32_t
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, int32_t value) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * int64_t type is corresponding to java long type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type int64_t
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * int64_t type is corresponding to java long type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type int64_t
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, int64_t value) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * float type is corresponding to java float type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type float
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * float type is corresponding to java float type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type float
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, float value) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * double type is corresponding to java double type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type double
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * double type is corresponding to java double type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type double
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, double value) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * wchar_t type is corresponding to java char type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type wchar_t
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * wchar_t type is corresponding to java char type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type wchar_t
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, wchar_t value) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * char type is corresponding to java char type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type char
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * char type is corresponding to java char type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type char
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, char value) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * CacheableDatePtr type is corresponding to java Java.util.date type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type CacheableDatePtr
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * CacheableDatePtr type is corresponding to java Java.util.date type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type CacheableDatePtr
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, CacheableDatePtr value) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * bool* type is corresponding to java boolean[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type bool array
-  * @param length
-  *          The number of elements in bool array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * bool* type is corresponding to java boolean[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type bool array
+   * @param length
+   *          The number of elements in bool array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, bool* value, int32_t length) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * signed char* type is corresponding to java byte[] type.
-  * For C++ on Windows and Linux, signed char* type is corresponding to int8_t*
-  * type.
-  * However C++ users on Solaris should always use this api after casting
-  * int8_t* to signed char*.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type signed char array
-  * @param length
-  *          The number of elements in signed char array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * signed char* type is corresponding to java byte[] type.
+   * For C++ on Windows and Linux, signed char* type is corresponding to int8_t*
+   * type.
+   * However C++ users on Solaris should always use this api after casting
+   * int8_t* to signed char*.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type signed char array
+   * @param length
+   *          The number of elements in signed char array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, signed char* value,
                         int32_t length) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * unsigned char* type is corresponding to java byte[] type.
-  * For C++ on Windows and Linux, unsigned char* type is corresponding to
-  * int8_t* type.
-  * However C++ users on Solaris should always use this api after casting
-  * int8_t* to unsigned char*.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type unsigned char array
-  * @param length
-  *          The number of elements in unsigned char array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * unsigned char* type is corresponding to java byte[] type.
+   * For C++ on Windows and Linux, unsigned char* type is corresponding to
+   * int8_t* type.
+   * However C++ users on Solaris should always use this api after casting
+   * int8_t* to unsigned char*.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type unsigned char array
+   * @param length
+   *          The number of elements in unsigned char array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, unsigned char* value,
                         int32_t length) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * int16_t* type is corresponding to java short[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type int16_t array
-  * @param length
-  *          The number of elements in int16_t array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * int16_t* type is corresponding to java short[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type int16_t array
+   * @param length
+   *          The number of elements in int16_t array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, int16_t* value,
                         int32_t length) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * int32_t* type is corresponding to java int[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type int32_t array
-  * @param length
-  *          The number of elements in int32_t array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * int32_t* type is corresponding to java int[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type int32_t array
+   * @param length
+   *          The number of elements in int32_t array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, int32_t* value,
                         int32_t length) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * int64_t* type is corresponding to java long[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type int64_t array
-  * @param length
-  *          The number of elements in int64_t array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * int64_t* type is corresponding to java long[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type int64_t array
+   * @param length
+   *          The number of elements in int64_t array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, int64_t* value,
                         int32_t length) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * float* type is corresponding to java float[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type float array
-  * @param length
-  *          The number of elements in float array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * float* type is corresponding to java float[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type float array
+   * @param length
+   *          The number of elements in float array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, float* value,
                         int32_t length) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * double* type is corresponding to java double[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type double array
-  * @param length
-  *          The number of elements in double array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * double* type is corresponding to java double[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type double array
+   * @param length
+   *          The number of elements in double array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, double* value,
                         int32_t length) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * wchar_t* type is corresponding to java String type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type wchar_t*
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * wchar_t* type is corresponding to java String type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type wchar_t*
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, const wchar_t* value) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * char* type is corresponding to java String type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type char*
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * char* type is corresponding to java String type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type char*
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, const char* value) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * wchar_t* type is corresponding to java char[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type wchar_t array
-  * @param length
-  *          The number of elements in wchar_t array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * wchar_t* type is corresponding to java char[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type wchar_t array
+   * @param length
+   *          The number of elements in wchar_t array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, wchar_t* value,
                         int32_t length) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * char* type is corresponding to java char[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type char array
-  * @param length
-  *          The number of elements in char array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * char* type is corresponding to java char[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type char array
+   * @param length
+   *          The number of elements in char array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, char* value, int32_t length) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * wchar_t** type is corresponding to java String[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type wchar_t* array
-  * @param length
-  *          The number of elements in WCString array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * wchar_t** type is corresponding to java String[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type wchar_t* array
+   * @param length
+   *          The number of elements in WCString array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, wchar_t** value,
                         int32_t length) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * char** type is corresponding to java String[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type char* array
-  * @param length
-  *          The number of elements in CString array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * char** type is corresponding to java String[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type char* array
+   * @param length
+   *          The number of elements in CString array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, char** value,
                         int32_t length) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * int8_t** type is corresponding to java byte[][] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type array of byte arrays
-  * @param arrayLength
-  *          The number of byte arrays.
-  * @param elementLength
-  *          The lengths of individual byte arrays.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * int8_t** type is corresponding to java byte[][] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type array of byte arrays
+   * @param arrayLength
+   *          The number of byte arrays.
+   * @param elementLength
+   *          The lengths of individual byte arrays.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, int8_t** value,
                         int32_t arrayLength, int32_t* elementLength) = 0;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * CacheableObjectArrayPtr type is corresponding to java Object[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type CacheableObjectArrayPtr
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * CacheableObjectArrayPtr type is corresponding to java Object[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type
+   * CacheableObjectArrayPtr
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName,
                         CacheableObjectArrayPtr value) = 0;
 
  protected:
   /**
-  * @brief constructors
-  */
+   * @brief constructors
+   */
   WritablePdxInstance(){};
 
  private:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/geode_base.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/geode_base.hpp b/src/cppcache/include/geode/geode_base.hpp
index d506d22..b45b2f8 100644
--- a/src/cppcache/include/geode/geode_base.hpp
+++ b/src/cppcache/include/geode/geode_base.hpp
@@ -269,26 +269,6 @@ typedef enum {
 
 #include <new>
 
-#ifdef _WIN32
-
-typedef void *(*pNew)(size_t);
-typedef void (*pDelete)(void *);
-
-namespace apache {
-namespace geode {
-namespace client {
-extern void setDefaultNewAndDelete();
-}  // namespace client
-}  // namespace geode
-}  // namespace apache
-
-void *operator new(size_t size);
-void operator delete(void *p);
-void *operator new[](size_t size);
-void operator delete[](void *p);
-
-#endif  // _WIN32
-
 /** Allocates x and throws OutOfMemoryException if it fails */
 #define GF_NEW(v, stmt)                                                 \
   {                                                                     \
@@ -314,8 +294,10 @@ void operator delete[](void *p);
     x = nullptr;                \
   }
 
-// TODO shared_ptre - make C+11 library dependent or make constructor destructor
-// public
+// TODO shared_ptr - Consider making con/destructors public.
+/*
+ * Allows std::shared_ptr to access protected constructors and destructors.
+ */
 #if defined(__clang__)
 #define FRIEND_STD_SHARED_PTR(_T)                                      \
   friend std::__libcpp_compressed_pair_imp<std::allocator<_T>, _T, 1>; \

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/geode_globals.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/geode_globals.hpp b/src/cppcache/include/geode/geode_globals.hpp
index 2333bfd..9c112b2 100644
--- a/src/cppcache/include/geode/geode_globals.hpp
+++ b/src/cppcache/include/geode/geode_globals.hpp
@@ -1,8 +1,3 @@
-#pragma once
-
-#ifndef GEODE_GFCPP_GLOBALS_H_
-#define GEODE_GFCPP_GLOBALS_H_
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,6 +15,11 @@
  * limitations under the License.
  */
 
+#pragma once
+
+#ifndef GEODE_GFCPP_GLOBALS_H_
+#define GEODE_GFCPP_GLOBALS_H_
+
 /**
  * @file
  */
@@ -128,10 +128,6 @@ namespace client {
 
 extern void CPPCACHE_EXPORT millisleep(uint32_t millis);
 
-#ifdef _WIN32
-extern void CPPCACHE_EXPORT setNewAndDelete(pNew, pDelete);
-#endif
-
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/geode_types.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/geode_types.hpp b/src/cppcache/include/geode/geode_types.hpp
index 6fb90c4..25ce7e3 100644
--- a/src/cppcache/include/geode/geode_types.hpp
+++ b/src/cppcache/include/geode/geode_types.hpp
@@ -20,7 +20,9 @@
  * limitations under the License.
  */
 
-#include "SharedPtr.hpp"
+#include <memory>
+
+#include "geode_globals.hpp"
 
 /**
  * @file
@@ -34,7 +36,7 @@ class CacheFactory;
 
 #define _GF_PTR_DEF_(a, b) \
   class CPPCACHE_EXPORT a; \
-  typedef SharedPtr<a> b;
+  typedef std::shared_ptr<a> b;
 
 _GF_PTR_DEF_(DistributedSystem, DistributedSystemPtr);
 _GF_PTR_DEF_(CacheFactory, CacheFactoryPtr);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/utils.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/utils.hpp b/src/cppcache/include/geode/utils.hpp
index f05c445..be9a76e 100644
--- a/src/cppcache/include/geode/utils.hpp
+++ b/src/cppcache/include/geode/utils.hpp
@@ -1,10 +1,7 @@
 #pragma once
 
-// TODO shared_ptr rename to avoid collision with Util.hpp. Consider
-// Equality.hpp?
-
-#ifndef GEODE_UTILSX_H_
-#define GEODE_UTILSX_H_
+#ifndef GEODE_UTILS_H_
+#define GEODE_UTILS_H_
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -77,4 +74,4 @@ struct dereference_equal_to<_T*> : std::equal_to<_T*> {
 }  // namespace geode
 }  // namespace apache
 
-#endif  // GEODE_UTILSX_H_
+#endif  // GEODE_UTILS_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/CacheHelper.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/CacheHelper.cpp b/src/cppcache/integration-test/CacheHelper.cpp
index cf73dbf..bba3dcd 100644
--- a/src/cppcache/integration-test/CacheHelper.cpp
+++ b/src/cppcache/integration-test/CacheHelper.cpp
@@ -856,7 +856,7 @@ CacheableStringPtr CacheHelper::createCacheable(const char* value) {
 }
 
 void CacheHelper::showKeys(VectorOfCacheableKey& vecKeys) {
-  fprintf(stdout, "vecKeys.size() = %d\n", vecKeys.size());
+  fprintf(stdout, "vecKeys.size() = %zd\n", vecKeys.size());
   for (uint32_t i = 0; i < static_cast<uint32_t>(vecKeys.size()); i++) {
     char msg[1024];
     size_t wrote = vecKeys.at(i)->logString(msg, 1023);
@@ -1373,7 +1373,7 @@ void CacheHelper::createDuplicateXMLFile(std::string& originalFile,
   std::string s(cmd);
   CacheHelper::staticConfigFileList.push_back(s);
 
-  printf("createDuplicateXMLFile added file %s %ld", cmd,
+  printf("createDuplicateXMLFile added file %s %zd", cmd,
          CacheHelper::staticConfigFileList.size());
 }
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/DeltaEx.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/DeltaEx.hpp b/src/cppcache/integration-test/DeltaEx.hpp
index 3937cc2..a502b31 100644
--- a/src/cppcache/integration-test/DeltaEx.hpp
+++ b/src/cppcache/integration-test/DeltaEx.hpp
@@ -160,6 +160,6 @@ class PdxDeltaEx : public PdxSerializable, public Delta {
     return CacheableString::create(idbuf);
   }
 };
-typedef SharedPtr<PdxDeltaEx> PdxDeltaExPtr;
+typedef std::shared_ptr<PdxDeltaEx> PdxDeltaExPtr;
 
 #endif  // GEODE_INTEGRATION_TEST_DELTAEX_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/QueryHelper.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/QueryHelper.hpp b/src/cppcache/integration-test/QueryHelper.hpp
index 1bd3469..90d5daf 100644
--- a/src/cppcache/integration-test/QueryHelper.hpp
+++ b/src/cppcache/integration-test/QueryHelper.hpp
@@ -309,7 +309,7 @@ bool QueryHelper::verifyRS(SelectResultsPtr& resultSet, int expectedRows) {
   }
 
   ResultSetPtr rsptr =
-      std::static_pointer_cast<GF_UNWRAP_SP(ResultSetPtr)>(resultSet);
+      std::static_pointer_cast<ResultSet>(resultSet);
 
   int foundRows = 0;
 
@@ -337,7 +337,7 @@ bool QueryHelper::verifySS(SelectResultsPtr& structSet, int expectedRows,
   }
 
   StructSetPtr ssptr =
-      std::static_pointer_cast<GF_UNWRAP_SP(StructSetPtr)>(structSet);
+      std::static_pointer_cast<StructSet>(structSet);
 
   int foundRows = 0;
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/TallyListener.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/TallyListener.hpp b/src/cppcache/integration-test/TallyListener.hpp
index d9c5386..1d94a0f 100644
--- a/src/cppcache/integration-test/TallyListener.hpp
+++ b/src/cppcache/integration-test/TallyListener.hpp
@@ -26,7 +26,7 @@
 using namespace apache::geode::client;
 class TallyListener;
 
-typedef apache::geode::client::SharedPtr<TallyListener> TallyListenerPtr;
+typedef std::shared_ptr<TallyListener> TallyListenerPtr;
 
 class TallyListener : public CacheListener {
  private:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/TallyLoader.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/TallyLoader.hpp b/src/cppcache/integration-test/TallyLoader.hpp
index cf7e84a..6b72ab1 100644
--- a/src/cppcache/integration-test/TallyLoader.hpp
+++ b/src/cppcache/integration-test/TallyLoader.hpp
@@ -27,7 +27,7 @@ using namespace test;
 
 class TallyLoader;
 
-typedef apache::geode::client::SharedPtr<TallyLoader> TallyLoaderPtr;
+typedef std::shared_ptr<TallyLoader> TallyLoaderPtr;
 
 class TallyLoader : virtual public CacheLoader {
  private:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/TallyWriter.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/TallyWriter.hpp b/src/cppcache/integration-test/TallyWriter.hpp
index e1e49c5..9a99b7a 100644
--- a/src/cppcache/integration-test/TallyWriter.hpp
+++ b/src/cppcache/integration-test/TallyWriter.hpp
@@ -27,7 +27,7 @@ using namespace test;
 
 class TallyWriter;
 
-typedef apache::geode::client::SharedPtr<TallyWriter> TallyWriterPtr;
+typedef std::shared_ptr<TallyWriter> TallyWriterPtr;
 
 class TallyWriter : virtual public CacheWriter {
  private:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/ThinClientDistOps.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/ThinClientDistOps.hpp b/src/cppcache/integration-test/ThinClientDistOps.hpp
index 339d179..20364cc 100644
--- a/src/cppcache/integration-test/ThinClientDistOps.hpp
+++ b/src/cppcache/integration-test/ThinClientDistOps.hpp
@@ -282,7 +282,7 @@ void createAndVerifyEntry(const char* name) {
     auto longRetValue =
         std::dynamic_pointer_cast<CacheableInt64>(regPtr->get(int64Key));
     FAIL("Expected EntryExistException here");
-  } catch (EntryExistsException& e) {
+  } catch (EntryExistsException& ) {
     LOG(" Expected EntryExistsException exception thrown by localCreate");
   }
 
@@ -339,7 +339,7 @@ void createAndVerifyEntry(const char* name) {
       regPtr->create(keyObject2, in64Value);
       FAIL("Expected EntryExistException here");
     }
-  } catch (EntryExistsException& e) {
+  } catch (EntryExistsException& ) {
     LOG(" Expected EntryExistsException exception thrown by localCreate");
   }
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/ThinClientDurable.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/ThinClientDurable.hpp b/src/cppcache/integration-test/ThinClientDurable.hpp
index 52d5774..a10ef20 100644
--- a/src/cppcache/integration-test/ThinClientDurable.hpp
+++ b/src/cppcache/integration-test/ThinClientDurable.hpp
@@ -134,7 +134,7 @@ class OperMonitor : public CacheListener {
   virtual void afterRegionInvalidate(const RegionEvent& event){};
   virtual void afterRegionDestroy(const RegionEvent& event){};
 };
-typedef SharedPtr<OperMonitor> OperMonitorPtr;
+typedef std::shared_ptr<OperMonitor> OperMonitorPtr;
 
 void setCacheListener(const char* regName, OperMonitorPtr monitor) {
   RegionPtr reg = getHelper()->getRegion(regName);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/ThinClientDurableFailover.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/ThinClientDurableFailover.hpp b/src/cppcache/integration-test/ThinClientDurableFailover.hpp
index 3a3318a..628c342 100644
--- a/src/cppcache/integration-test/ThinClientDurableFailover.hpp
+++ b/src/cppcache/integration-test/ThinClientDurableFailover.hpp
@@ -129,7 +129,7 @@ class OperMonitor : public CacheListener {
   virtual void afterRegionInvalidate(const RegionEvent& event){};
   virtual void afterRegionDestroy(const RegionEvent& event){};
 };
-typedef SharedPtr<OperMonitor> OperMonitorPtr;
+typedef std::shared_ptr<OperMonitor> OperMonitorPtr;
 
 void setCacheListener(const char* regName, OperMonitorPtr monitor) {
   RegionPtr reg = getHelper()->getRegion(regName);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/ThinClientDurableInterest.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/ThinClientDurableInterest.hpp b/src/cppcache/integration-test/ThinClientDurableInterest.hpp
index 01225a5..eba3789 100644
--- a/src/cppcache/integration-test/ThinClientDurableInterest.hpp
+++ b/src/cppcache/integration-test/ThinClientDurableInterest.hpp
@@ -111,7 +111,7 @@ class OperMonitor : public CacheListener {
     LOG("afterRegionLive called.");
   }
 };
-typedef SharedPtr<OperMonitor> OperMonitorPtr;
+typedef std::shared_ptr<OperMonitor> OperMonitorPtr;
 
 const char* mixKeys[] = {"Key-1", "D-Key-1", "Key-2", "D-Key-2"};
 const char* testRegex[] = {"D-Key-.*", "Key-.*"};

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/ThinClientDurableReconnect.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/ThinClientDurableReconnect.hpp b/src/cppcache/integration-test/ThinClientDurableReconnect.hpp
index 935dfaa..9ec709d 100644
--- a/src/cppcache/integration-test/ThinClientDurableReconnect.hpp
+++ b/src/cppcache/integration-test/ThinClientDurableReconnect.hpp
@@ -64,7 +64,7 @@ class OperMonitor : public CacheListener {
     LOG("Listener Close Called");
   }
 };
-typedef SharedPtr<OperMonitor> OperMonitorPtr;
+typedef std::shared_ptr<OperMonitor> OperMonitorPtr;
 
 void setCacheListener(const char* regName, OperMonitorPtr monitor) {
   RegionPtr reg = getHelper()->getRegion(regName);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/ThinClientGatewayTest.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/ThinClientGatewayTest.hpp b/src/cppcache/integration-test/ThinClientGatewayTest.hpp
index 571c016..5d60765 100644
--- a/src/cppcache/integration-test/ThinClientGatewayTest.hpp
+++ b/src/cppcache/integration-test/ThinClientGatewayTest.hpp
@@ -62,7 +62,7 @@ class MyListener : public CacheListener {
   int getNumEvents() { return m_events; }
 };
 
-typedef apache::geode::client::SharedPtr<MyListener> MyListenerPtr;
+typedef std::shared_ptr<MyListener> MyListenerPtr;
 
 void setCacheListener(const char* regName, TallyListenerPtr regListener) {
   RegionPtr reg = getHelper()->getRegion(regName);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/ThinClientHelper.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/ThinClientHelper.hpp b/src/cppcache/integration-test/ThinClientHelper.hpp
index 9b206d2..8d1a173 100644
--- a/src/cppcache/integration-test/ThinClientHelper.hpp
+++ b/src/cppcache/integration-test/ThinClientHelper.hpp
@@ -42,7 +42,6 @@
 #include "CacheHelper.hpp"
 
 using namespace apache::geode::client;
-using namespace test;
 using namespace unitTests;
 
 CacheHelper* cacheHelper = nullptr;

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/ThinClientListenerWriter.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/ThinClientListenerWriter.hpp b/src/cppcache/integration-test/ThinClientListenerWriter.hpp
index d037bf0..32c4578 100644
--- a/src/cppcache/integration-test/ThinClientListenerWriter.hpp
+++ b/src/cppcache/integration-test/ThinClientListenerWriter.hpp
@@ -31,8 +31,7 @@
 #define CLIENT3 s2p2
 
 class SimpleCacheListener;
-typedef apache::geode::client::SharedPtr<SimpleCacheListener>
-    SimpleCacheListenerPtr;
+typedef std::shared_ptr<SimpleCacheListener> SimpleCacheListenerPtr;
 
 // The SimpleCacheListener class.
 class SimpleCacheListener : public CacheListener {

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/ThinClientRIwithlocalRegionDestroy.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/ThinClientRIwithlocalRegionDestroy.hpp b/src/cppcache/integration-test/ThinClientRIwithlocalRegionDestroy.hpp
index adcba03..db18d3e 100644
--- a/src/cppcache/integration-test/ThinClientRIwithlocalRegionDestroy.hpp
+++ b/src/cppcache/integration-test/ThinClientRIwithlocalRegionDestroy.hpp
@@ -91,7 +91,7 @@ class SimpleCacheListener : public CacheListener {
     LOGINFO("SimpleCacheListener: Got a close event.");
   }
 };
-typedef SharedPtr<SimpleCacheListener> SimpleCacheListenerPtr;
+typedef std::shared_ptr<SimpleCacheListener> SimpleCacheListenerPtr;
 
 SimpleCacheListenerPtr eventListener1 = nullptr;
 SimpleCacheListenerPtr eventListener2 = nullptr;

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/ThinClientTransactionsXA.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/ThinClientTransactionsXA.hpp b/src/cppcache/integration-test/ThinClientTransactionsXA.hpp
index 00c259c..6dc3580 100644
--- a/src/cppcache/integration-test/ThinClientTransactionsXA.hpp
+++ b/src/cppcache/integration-test/ThinClientTransactionsXA.hpp
@@ -34,7 +34,6 @@
 #include "CacheHelper.hpp"
 
 using namespace apache::geode::client;
-using namespace test;
 
 #define CLIENT1 s1p1
 #define CLIENT2 s1p2

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/fw_dunit.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/fw_dunit.cpp b/src/cppcache/integration-test/fw_dunit.cpp
index 007cada..06851d0 100644
--- a/src/cppcache/integration-test/fw_dunit.cpp
+++ b/src/cppcache/integration-test/fw_dunit.cpp
@@ -837,13 +837,6 @@ void log(std::string s, int lineno, const char* filename) {
 void cleanup() { gClientCleanup.callClientCleanup(); }
 
 int dmain(int argc, ACE_TCHAR* argv[]) {
-#ifdef WIN32
-  char* envsetting = ACE_OS::getenv("BUG481");
-  if (envsetting != nullptr && strlen(envsetting) > 0) {
-    apache::geode::client::setNewAndDelete(&operator new, & operator delete);
-  }
-#endif
-
 #ifdef USE_SMARTHEAP
   MemRegisterTask();
 #endif
@@ -1199,9 +1192,4 @@ void Semaphore::release(int t) {
 
 namespace test {
 
-NOCout cout;
-NOCout::FLAGS endl = NOCout::endl;
-NOCout::FLAGS flush = NOCout::flush;
-NOCout::FLAGS hex = NOCout::hex;
-NOCout::FLAGS dec = NOCout::dec;
 }  // namespace test

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/fw_dunit.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/fw_dunit.hpp b/src/cppcache/integration-test/fw_dunit.hpp
index 624004f..f346c1d 100644
--- a/src/cppcache/integration-test/fw_dunit.hpp
+++ b/src/cppcache/integration-test/fw_dunit.hpp
@@ -361,6 +361,6 @@ int ACE_TMAIN(int argc, ACE_TCHAR* argv[]) { return dunit::dmain(argc, argv); }
 
 #include "fw_perf.hpp"
 
-#include "no_cout.hpp"
-
+namespace test {
+}  // namespace test
 #endif  // GEODE_INTEGRATION_TEST_FW_DUNIT_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/fw_helper.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/fw_helper.hpp b/src/cppcache/integration-test/fw_helper.hpp
index 41829a7..5afc75c 100644
--- a/src/cppcache/integration-test/fw_helper.hpp
+++ b/src/cppcache/integration-test/fw_helper.hpp
@@ -216,8 +216,6 @@ int main(int argc, char* argv[])
 }
 }
 
-#include "no_cout.hpp"
-
 #define BEGIN_TEST(x)                      \
   class Test_##x : virtual public TestOp { \
    public:                                 \

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/no_cout.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/no_cout.hpp b/src/cppcache/integration-test/no_cout.hpp
deleted file mode 100644
index fe191fe..0000000
--- a/src/cppcache/integration-test/no_cout.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-#pragma once
-
-#ifndef GEODE_INTEGRATION_TEST_NO_COUT_H_
-#define GEODE_INTEGRATION_TEST_NO_COUT_H_
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <ace/OS.h>
-
-namespace test {
-
-class NOCout {
- private:
-  bool m_needHeading;
-
-  void heading() {
-    if (m_needHeading) {
-      fprintf(stdout, "[TEST %d] ", ACE_OS::getpid());
-      m_needHeading = false;
-    }
-  }
-
- public:
-  NOCout() : m_needHeading(true) {}
-
-  ~NOCout() {}
-
-  enum FLAGS { endl = 1, flush, hex, dec };
-
-  NOCout& operator<<(const char* msg) {
-    fprintf(stdout, "%s", msg);
-    return *this;
-  }
-
-  NOCout& operator<<(void* v) {
-    fprintf(stdout, "%p", v);
-    return *this;
-  }
-
-  NOCout& operator<<(int v) {
-    fprintf(stdout, "%d", v);
-    return *this;
-  }
-
-  NOCout& operator<<(std::string& str) {
-    fprintf(stdout, "%s", str.c_str());
-    return *this;
-  }
-
-  NOCout& operator<<(FLAGS& flag) {
-    if (flag == endl) {
-      fprintf(stdout, "\n");
-      m_needHeading = true;
-    } else if (flag == flush) {
-      fflush(stdout);
-    }
-    return *this;
-  }
-};
-
-extern NOCout cout;
-extern NOCout::FLAGS endl;
-extern NOCout::FLAGS flush;
-extern NOCout::FLAGS hex;
-extern NOCout::FLAGS dec;
-}  // namespace test
-
-#endif  // GEODE_INTEGRATION_TEST_NO_COUT_H_


[4/9] geode-native git commit: GEODE-2741: Removes last of SharedPtr/SharedBase.

Posted by jb...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PoolAttributes.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PoolAttributes.hpp b/src/cppcache/src/PoolAttributes.hpp
index eff6976..c7403c8 100644
--- a/src/cppcache/src/PoolAttributes.hpp
+++ b/src/cppcache/src/PoolAttributes.hpp
@@ -23,7 +23,6 @@
 #include <vector>
 #include "ace/OS.h"
 #include <geode/geode_globals.hpp>
-#include <geode/SharedBase.hpp>
 #include <geode/geode_types.hpp>
 #include <geode/ExceptionTypes.hpp>
 
@@ -34,7 +33,7 @@
 namespace apache {
 namespace geode {
 namespace client {
-class PoolAttributes : public SharedBase {
+class PoolAttributes {
  public:
   PoolAttributes();
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ProxyCache.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ProxyCache.cpp b/src/cppcache/src/ProxyCache.cpp
index 1e9bc54..978919c 100644
--- a/src/cppcache/src/ProxyCache.cpp
+++ b/src/cppcache/src/ProxyCache.cpp
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 #include <geode/geode_globals.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 
 #include <geode/DistributedSystem.hpp>
 #include "DistributedSystemImpl.hpp"


[6/9] geode-native git commit: GEODE-2741: Removes last of SharedPtr/SharedBase.

Posted by jb...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testXmlCacheCreationWithPools.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testXmlCacheCreationWithPools.cpp b/src/cppcache/integration-test/testXmlCacheCreationWithPools.cpp
index 89d18b6..675f876 100644
--- a/src/cppcache/integration-test/testXmlCacheCreationWithPools.cpp
+++ b/src/cppcache/integration-test/testXmlCacheCreationWithPools.cpp
@@ -15,13 +15,14 @@
  * limitations under the License.
  */
 
+#include <string>
+#include <iostream>
+#include <vector>
+
 #include "fw_dunit.hpp"
 
 #include <geode/GeodeCppCache.hpp>
 
-#include <string>
-#include <vector>
-
 #define CLIENT1 s1p1
 #define CLIENT2 s1p2
 #define SERVER1 s2p1
@@ -87,7 +88,7 @@ bool checkPoolAttribs(PoolPtr pool, SLIST& locators, SLIST& servers,
     return false;
   }
 
-  test::cout << "Checking pool " << pool->getName() << test::endl;
+  std::cout << "Checking pool " << pool->getName() << std::endl;
 
   if (strcmp(pool->getName(), name)) {
     sprintf(logmsg, "checkPoolAttribs: Pool name expected [%s], actual [%s]",
@@ -244,7 +245,7 @@ int testXmlCacheCreationWithPools() {
   CacheFactoryPtr cacheFactory;
   CachePtr cptr;
 
-  test::cout << "create DistributedSytem with name=" << host_name << test::endl;
+  std::cout << "create DistributedSytem with name=" << host_name << std::endl;
   try {
     cacheFactory = CacheFactory::createCacheFactory();
   } catch (Exception& ex) {
@@ -253,9 +254,9 @@ int testXmlCacheCreationWithPools() {
     return -1;
   }
 
-  test::cout
+  std::cout
       << "Create cache with the configurations provided in valid_cache_pool.xml"
-      << test::endl;
+      << std::endl;
 
   try {
     std::string filePath = "valid_cache_pool.xml";
@@ -263,11 +264,11 @@ int testXmlCacheCreationWithPools() {
     CacheHelper::createDuplicateXMLFile(duplicateFile, filePath);
     cptr = cacheFactory->set("cache-xml-file", duplicateFile.c_str())->create();
     if (cptr->getPdxIgnoreUnreadFields() != true) {
-      test::cout << "getPdxIgnoreUnreadFields should return true."
-                 << test::endl;
+      std::cout << "getPdxIgnoreUnreadFields should return true."
+                 << std::endl;
       return -1;
     } else {
-      test::cout << "getPdxIgnoreUnreadFields returned true." << test::endl;
+      std::cout << "getPdxIgnoreUnreadFields returned true." << std::endl;
     }
   } catch (Exception& ex) {
     ex.showMessage();
@@ -279,40 +280,40 @@ int testXmlCacheCreationWithPools() {
   }
 
   VectorOfRegion vrp;
-  test::cout << "Test if number of root regions are correct" << test::endl;
+  std::cout << "Test if number of root regions are correct" << std::endl;
   cptr->rootRegions(vrp);
-  test::cout << "  vrp.size=" << vrp.size() << test::endl;
+  std::cout << "  vrp.size=" << vrp.size() << std::endl;
 
   if (vrp.size() != 2) {
-    test::cout << "Number of root regions does not match" << test::endl;
+    std::cout << "Number of root regions does not match" << std::endl;
     return -1;
   }
 
-  test::cout << "Root regions in Cache :" << test::endl;
+  std::cout << "Root regions in Cache :" << std::endl;
   for (int32_t i = 0; i < vrp.size(); i++) {
-    test::cout << "vc[" << i << "].m_regionPtr=" << vrp.at(i).get()
-               << test::endl;
-    test::cout << "vc[" << i << "]=" << vrp.at(i)->getName() << test::endl;
+    std::cout << "vc[" << i << "].m_regionPtr=" << vrp.at(i).get()
+               << std::endl;
+    std::cout << "vc[" << i << "]=" << vrp.at(i)->getName() << std::endl;
   }
   RegionPtr regPtr1 = vrp.at(0);
 
   VectorOfRegion vr;
-  test::cout << "Test if the number of sub regions with the root region Root1 "
+  std::cout << "Test if the number of sub regions with the root region Root1 "
                 "are correct"
-             << test::endl;
+             << std::endl;
   regPtr1->subregions(true, vr);
-  test::cout << "  vr.size=" << vr.size() << test::endl;
+  std::cout << "  vr.size=" << vr.size() << std::endl;
   if (vr.size() != 1) {
-    test::cout << "Number of Subregions does not match" << test::endl;
+    std::cout << "Number of Subregions does not match" << std::endl;
     return -1;
   }
 
-  test::cout << "get subregions from the root region :" << vrp.at(0)->getName()
-             << test::endl;
+  std::cout << "get subregions from the root region :" << vrp.at(0)->getName()
+             << std::endl;
   for (int32_t i = 0; i < vr.size(); i++) {
-    test::cout << "vc[" << i << "].m_regionPtr=" << vr.at(i).get()
-               << test::endl;
-    test::cout << "vc[" << i << "]=" << vr.at(i)->getName() << test::endl;
+    std::cout << "vc[" << i << "].m_regionPtr=" << vr.at(i).get()
+               << std::endl;
+    std::cout << "vc[" << i << "]=" << vr.at(i)->getName() << std::endl;
   }
 
   RegionPtr subRegPtr = vr.at(0);
@@ -320,35 +321,35 @@ int testXmlCacheCreationWithPools() {
 
   RegionPtr regPtr2 = vrp.at(1);
 
-  test::cout << "Test if the number of sub regions with the root region Root2 "
+  std::cout << "Test if the number of sub regions with the root region Root2 "
                 "are correct"
-             << test::endl;
+             << std::endl;
   regPtr2->subregions(true, vr);
-  test::cout << "  vr.size=" << vr.size() << test::endl;
+  std::cout << "  vr.size=" << vr.size() << std::endl;
   if (vr.size() != 0) {
-    test::cout << "Number of Subregions does not match" << test::endl;
+    std::cout << "Number of Subregions does not match" << std::endl;
     return -1;
   }
 
   vr.clear();
   vrp.clear();
 
-  test::cout << "Test the attributes of region" << test::endl;
+  std::cout << "Test the attributes of region" << std::endl;
 
   const char* poolNameReg1 = regPtr1->getAttributes()->getPoolName();
   const char* poolNameSubReg = subRegPtr->getAttributes()->getPoolName();
   const char* poolNameReg2 = regPtr2->getAttributes()->getPoolName();
 
   if (strcmp(poolNameReg1, "test_pool_1")) {
-    test::cout << "Wrong pool name for region 1" << test::endl;
+    std::cout << "Wrong pool name for region 1" << std::endl;
     return -1;
   }
   if (strcmp(poolNameReg2, "test_pool_2")) {
-    test::cout << "Wrong pool name for region 2" << test::endl;
+    std::cout << "Wrong pool name for region 2" << std::endl;
     return -1;
   }
   if (strcmp(poolNameSubReg, "test_pool_2")) {
-    test::cout << "Wrong pool name for sub region" << test::endl;
+    std::cout << "Wrong pool name for sub region" << std::endl;
     return -1;
   }
 
@@ -393,74 +394,74 @@ int testXmlCacheCreationWithPools() {
   }
 
   if (!check1 || !check2 || !check3) {
-    test::cout << "Property check failed" << test::endl;
+    std::cout << "Property check failed" << std::endl;
     return -1;
   }
   ////////////////////////////testing of cache.xml completed///////////////////
 
   try {
-    test::cout << "Testing invalid pool xml 1" << test::endl;
+    std::cout << "Testing invalid pool xml 1" << std::endl;
     std::string filePath = "invalid_cache_pool.xml";
     std::string duplicateFile;
     CacheHelper::createDuplicateXMLFile(duplicateFile, filePath);
     cptr = cacheFactory->set("cache-xml-file", duplicateFile.c_str())->create();
     return -1;
   } catch (Exception& ex) {
-    test::cout << "EXPECTED EXCEPTION" << test::endl;
+    std::cout << "EXPECTED EXCEPTION" << std::endl;
     ex.showMessage();
     ex.printStackTrace();
   }
 
   try {
-    test::cout << "Testing invalid pool xml 2" << test::endl;
+    std::cout << "Testing invalid pool xml 2" << std::endl;
     std::string filePath = "invalid_cache_pool2.xml";
     std::string duplicateFile;
     CacheHelper::createDuplicateXMLFile(duplicateFile, filePath);
     cptr = cacheFactory->set("cache-xml-file", duplicateFile.c_str())->create();
     return -1;
   } catch (Exception& ex) {
-    test::cout << "EXPECTED EXCEPTION" << test::endl;
+    std::cout << "EXPECTED EXCEPTION" << std::endl;
     ex.showMessage();
     ex.printStackTrace();
   }
 
   try {
-    test::cout << "Testing invalid pool xml 3" << test::endl;
+    std::cout << "Testing invalid pool xml 3" << std::endl;
     std::string filePath = "invalid_cache_pool3.xml";
     std::string duplicateFile;
     CacheHelper::createDuplicateXMLFile(duplicateFile, filePath);
     cptr = cacheFactory->set("cache-xml-file", duplicateFile.c_str())->create();
     return -1;
   } catch (Exception& ex) {
-    test::cout << "EXPECTED EXCEPTION" << test::endl;
+    std::cout << "EXPECTED EXCEPTION" << std::endl;
     ex.showMessage();
     ex.printStackTrace();
   }
 
   try {
-    test::cout << "Testing invalid pool xml 4" << test::endl;
+    std::cout << "Testing invalid pool xml 4" << std::endl;
     std::string filePath = "invalid_cache_pool4.xml";
     std::string duplicateFile;
     CacheHelper::createDuplicateXMLFile(duplicateFile, filePath);
     cptr = cacheFactory->set("cache-xml-file", duplicateFile.c_str())->create();
     return -1;
   } catch (Exception& ex) {
-    test::cout << "EXPECTED EXCEPTION" << test::endl;
+    std::cout << "EXPECTED EXCEPTION" << std::endl;
     ex.showMessage();
     ex.printStackTrace();
   }
 
-  test::cout << "disconnecting..." << test::endl;
+  std::cout << "disconnecting..." << std::endl;
   try {
-    test::cout << "just before disconnecting..." << test::endl;
+    std::cout << "just before disconnecting..." << std::endl;
     if (cptr != nullptr) cptr->close();
   } catch (Exception& ex) {
     ex.showMessage();
     ex.printStackTrace();
     return -1;
   }
-  test::cout << "done with test" << test::endl;
-  test::cout << "Test successful!" << test::endl;
+  std::cout << "done with test" << std::endl;
+  std::cout << "Test successful!" << std::endl;
   return 0;
 }
 
@@ -472,7 +473,7 @@ int testXmlDeclarativeCacheCreation() {
   char* path = ACE_OS::getenv("TESTSRC");
   std::string directory(path);
 
-  test::cout << "create DistributedSytem with name=" << host_name << test::endl;
+  std::cout << "create DistributedSytem with name=" << host_name << std::endl;
   try {
     cacheFactory = CacheFactory::createCacheFactory();
   } catch (Exception& ex) {
@@ -495,43 +496,43 @@ int testXmlDeclarativeCacheCreation() {
   }
 
   VectorOfRegion vrp;
-  test::cout << "Test if number of root regions are correct" << test::endl;
+  std::cout << "Test if number of root regions are correct" << std::endl;
   cptr->rootRegions(vrp);
-  test::cout << "  vrp.size=" << vrp.size() << test::endl;
+  std::cout << "  vrp.size=" << vrp.size() << std::endl;
 
   if (vrp.size() != 1) {
-    test::cout << "Number of root regions does not match" << test::endl;
+    std::cout << "Number of root regions does not match" << std::endl;
     return -1;
   }
 
-  test::cout << "Root regions in Cache :" << test::endl;
+  std::cout << "Root regions in Cache :" << std::endl;
   for (int32_t i = 0; i < vrp.size(); i++) {
-    test::cout << "vc[" << i << "].m_reaPtr=" << vrp.at(i).get() << test::endl;
-    test::cout << "vc[" << i << "]=" << vrp.at(i)->getName() << test::endl;
+    std::cout << "vc[" << i << "].m_reaPtr=" << vrp.at(i).get() << std::endl;
+    std::cout << "vc[" << i << "]=" << vrp.at(i)->getName() << std::endl;
   }
   RegionPtr regPtr1 = vrp.at(0);
 
   RegionAttributesPtr raPtr = regPtr1->getAttributes();
   RegionAttributes* regAttr = raPtr.get();
-  test::cout << "Test Attributes of root region Root1 " << test::endl;
-  test::cout << "Region name " << regPtr1->getName() << test::endl;
+  std::cout << "Test Attributes of root region Root1 " << std::endl;
+  std::cout << "Region name " << regPtr1->getName() << std::endl;
 
   if (regAttr->getCacheLoader() == nullptr) {
-    test::cout << "Cache Loader not initialized." << test::endl;
+    std::cout << "Cache Loader not initialized." << std::endl;
     return -1;
   }
 
   if (regAttr->getCacheListener() == nullptr) {
-    test::cout << "Cache Listener not initialized." << test::endl;
+    std::cout << "Cache Listener not initialized." << std::endl;
     return -1;
   }
 
   if (regAttr->getCacheWriter() == nullptr) {
-    test::cout << "Cache Writer not initialized." << test::endl;
+    std::cout << "Cache Writer not initialized." << std::endl;
     return -1;
   }
 
-  test::cout << "Attributes of Root1 are correctly set" << test::endl;
+  std::cout << "Attributes of Root1 are correctly set" << std::endl;
 
   if (!cptr->isClosed()) {
     cptr->close();

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testXmlCacheCreationWithRefid.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testXmlCacheCreationWithRefid.cpp b/src/cppcache/integration-test/testXmlCacheCreationWithRefid.cpp
index ec30261..da2fd88 100644
--- a/src/cppcache/integration-test/testXmlCacheCreationWithRefid.cpp
+++ b/src/cppcache/integration-test/testXmlCacheCreationWithRefid.cpp
@@ -17,13 +17,15 @@
 
 #define ROOT_NAME "testXmlCacheCreationWithRefid"
 
+#include <string>
+#include <iostream>
+#include <math.h>
+
 #include <geode/GeodeCppCache.hpp>
 
 #include "fw_helper.hpp"
-#include <string>
-#include <math.h>
+
 using namespace apache::geode::client;
-using namespace test;
 
 int testXmlCacheCreationWithRefid(const char* fileName) {
   char* host_name = (char*)"XML_CACHE_CREATION_TEST";
@@ -33,7 +35,7 @@ int testXmlCacheCreationWithRefid(const char* fileName) {
   char* path = ACE_OS::getenv("TESTSRC");
   std::string directory(path);
 
-  cout << "create DistributedSytem with name=" << host_name << endl;
+  std::cout << "create DistributedSytem with name=" << host_name << std::endl;
   try {
     cacheFactory = CacheFactory::createCacheFactory();
   } catch (Exception& ex) {
@@ -42,18 +44,18 @@ int testXmlCacheCreationWithRefid(const char* fileName) {
     return -1;
   }
 
-  cout << "Create cache with the configurations provided in "
+  std::cout << "Create cache with the configurations provided in "
           "valid_cache_refid.xml"
-       << endl;
+       << std::endl;
 
   try {
     std::string filePath = directory + fileName;
     cptr = cacheFactory->set("cache-xml-file", filePath.c_str())->create();
     if (cptr->getPdxIgnoreUnreadFields() != false) {
-      cout << "getPdxIgnoreUnreadFields should return false." << endl;
+      std::cout << "getPdxIgnoreUnreadFields should return false." << std::endl;
       return -1;
     } else {
-      cout << "getPdxIgnoreUnreadFields returned false." << endl;
+      std::cout << "getPdxIgnoreUnreadFields returned false." << std::endl;
     }
   } catch (CacheXmlException& ex) {
     ex.showMessage();
@@ -69,7 +71,7 @@ int testXmlCacheCreationWithRefid(const char* fileName) {
   RegionPtr Root2;
   RegionPtr SubRegion21;
 
-  cout << "Verify whether all the regions are created" << endl;
+  std::cout << "Verify whether all the regions are created" << std::endl;
 
   try {
     Root1 = cptr->getRegion("Root1");
@@ -84,7 +86,7 @@ int testXmlCacheCreationWithRefid(const char* fileName) {
     return -1;
   }
 
-  cout << "Verify whether region 'SubRegion11' has correct attributes" << endl;
+  std::cout << "Verify whether region 'SubRegion11' has correct attributes" << std::endl;
 
   RegionAttributesPtr atts = SubRegion11->getAttributes();
 
@@ -108,7 +110,7 @@ int testXmlCacheCreationWithRefid(const char* fileName) {
     return -1;
   }
 
-  cout << "Verify whether region 'SubRegion2' has correct attributes" << endl;
+  std::cout << "Verify whether region 'SubRegion2' has correct attributes" << std::endl;
 
   atts = SubRegion2->getAttributes();
 
@@ -132,7 +134,7 @@ int testXmlCacheCreationWithRefid(const char* fileName) {
     return -1;
   }
 
-  cout << "Verify whether region 'SubRegion21' has correct attributes" << endl;
+  std::cout << "Verify whether region 'SubRegion21' has correct attributes" << std::endl;
 
   atts = SubRegion21->getAttributes();
 
@@ -176,7 +178,7 @@ int testXmlCacheCreationWithRefid(const char* fileName) {
     return -1;
   }
 
-  cout << "Verify whether region 'Root2' has correct attributes" << endl;
+  std::cout << "Verify whether region 'Root2' has correct attributes" << std::endl;
 
   atts = Root2->getAttributes();
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/AdminRegion.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/AdminRegion.hpp b/src/cppcache/src/AdminRegion.hpp
index 1b0196a..2123a2e 100644
--- a/src/cppcache/src/AdminRegion.hpp
+++ b/src/cppcache/src/AdminRegion.hpp
@@ -24,7 +24,7 @@
 #include "ThinClientCacheDistributionManager.hpp"
 #include "ReadWriteLock.hpp"
 #include <geode/Serializable.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 //#include <statistics/HostStatSampler.hpp>
 
 #include "NonCopyable.hpp"
@@ -40,19 +40,6 @@ namespace apache {
 namespace geode {
 namespace client {
 class CacheImpl;
-/* adongre
- * CID 28724: Other violation (MISSING_COPY)
- * Class "apache::geode::client::AdminRegion" owns resources that are managed in
- * its
- * constructor and destructor but has no user-written copy constructor.
- *
- * CID 28710: Other violation (MISSING_ASSIGN)
- * Class "apache::geode::client::AdminRegion" owns resources that are managed in
- * its
- * constructor and destructor but has no user-written assignment operator.
- *
- * FIX : Make the class noncopyabl3
- */
 class AdminRegion : private NonCopyable,
                     private NonAssignable,
                     public std::enable_shared_from_this<AdminRegion> {
@@ -88,7 +75,7 @@ class AdminRegion : private NonCopyable,
   friend class apache::geode::statistics::HostStatSampler;
 };
 
-typedef SharedPtr<AdminRegion> AdminRegionPtr;
+typedef std::shared_ptr<AdminRegion> AdminRegionPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/Cache.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/Cache.cpp b/src/cppcache/src/Cache.cpp
index 5d7f574..5bda631 100644
--- a/src/cppcache/src/Cache.cpp
+++ b/src/cppcache/src/Cache.cpp
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 #include <geode/geode_globals.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 
 #include <geode/DistributedSystem.hpp>
 #include <DistributedSystemImpl.hpp>
@@ -155,7 +155,6 @@ Cache::Cache(const char* name, DistributedSystemPtr sys, const char* id_data,
       this, name, sys, id_data, ignorePdxUnreadFields, readPdxSerialized));
 }
 
-Cache::Cache() = default;
 Cache::~Cache() = default;
 
 /** Initialize the cache by the contents of an xml file

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/CacheImpl.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/CacheImpl.cpp b/src/cppcache/src/CacheImpl.cpp
index 084d4a1..4995d60 100644
--- a/src/cppcache/src/CacheImpl.cpp
+++ b/src/cppcache/src/CacheImpl.cpp
@@ -890,7 +890,8 @@ CacheTransactionManagerPtr CacheImpl::getCacheTransactionManager() {
   return m_cacheTXManager;
 }
 MemberListForVersionStampPtr CacheImpl::getMemberListForVersionStamp() {
-
-  static auto versionStampMemIdList = std::make_shared<MemberListForVersionStamp>();
-  return versionStampMemIdList;
+  static auto versionStampMemIdList =
+      new std::shared_ptr<MemberListForVersionStamp>(
+          new MemberListForVersionStamp());
+  return *versionStampMemIdList;
 }

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/CacheImpl.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/CacheImpl.hpp b/src/cppcache/src/CacheImpl.hpp
index 03c0805..540d32c 100644
--- a/src/cppcache/src/CacheImpl.hpp
+++ b/src/cppcache/src/CacheImpl.hpp
@@ -21,7 +21,7 @@
  */
 
 #include <geode/geode_globals.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 
 #include <geode/Cache.hpp>
 #include <geode/CacheAttributes.hpp>
@@ -81,14 +81,6 @@ class ExpiryTaskManager;
  *
  */
 
-/* adongre
- * CID 28711: Other violation (MISSING_ASSIGN)
- * Class "apache::geode::client::CacheImpl" owns resources that are managed
- * in its constructor and destructor but has no user-written assignment
- * operator.
- *
- * Fix : Make the class Non copyable and non assignable
- */
 class CPPCACHE_EXPORT CacheImpl : private NonCopyable, private NonAssignable {
   /**
    * @brief public methods

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/CacheTransactionManagerImpl.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/CacheTransactionManagerImpl.cpp b/src/cppcache/src/CacheTransactionManagerImpl.cpp
index 5527018..b5c633d 100644
--- a/src/cppcache/src/CacheTransactionManagerImpl.cpp
+++ b/src/cppcache/src/CacheTransactionManagerImpl.cpp
@@ -112,7 +112,7 @@ void CacheTransactionManagerImpl::commit() {
   }
 
   TXCommitMessagePtr commit =
-      std::static_pointer_cast<GF_UNWRAP_SP(TXCommitMessagePtr)>(
+      std::static_pointer_cast<TXCommitMessage>(
           reply.getValue());
   txCleaner.clean();
   commit->apply(m_cache);
@@ -307,7 +307,7 @@ GfErrType CacheTransactionManagerImpl::rollback(TXState* txState,
   /*	if(err == GF_NOERR && callListener)
           {
   //		TXCommitMessagePtr commit =
-  std::static_pointer_cast<GF_UNWRAP_SP(TXCommitMessagePtr)>(reply.getValue());
+  std::static_pointer_cast<TXCommitMessage>(reply.getValue());
                   noteRollbackSuccess(txState, nullptr);
           }
   */
@@ -632,7 +632,7 @@ TransactionEvent(txState->getTransactionId(), CachePtr(m_cache), events));
 m_listeners.end() != iter; iter++)
         {
                 TransactionListenerPtr listener =
-std::static_pointer_cast<GF_UNWRAP_SP(TransactionListenerPtr)>(*iter);
+std::static_pointer_cast<TransactionListener>(*iter);
                 listener->afterFailedCommit(event);
         }
 }
@@ -652,7 +652,7 @@ TransactionEvent(txState->getTransactionId(), CachePtr(m_cache), events));
 m_listeners.end() != iter; iter++)
         {
                 TransactionListenerPtr listener =
-std::static_pointer_cast<GF_UNWRAP_SP(TransactionListenerPtr)>(*iter);
+std::static_pointer_cast<TransactionListenerPtr>(*iter);
                 listener->afterCommit(event);
         }
 }
@@ -672,7 +672,7 @@ TransactionEvent(txState->getTransactionId(), CachePtr(m_cache), events));
 m_listeners.end() != iter; iter++)
         {
                 TransactionListenerPtr listener =
-std::static_pointer_cast<GF_UNWRAP_SP(TransactionListenerPtr)>(*iter);
+std::static_pointer_cast<TransactionListener>(*iter);
                 listener->afterRollback(event);
         }
 }

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/CacheTransactionManagerImpl.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/CacheTransactionManagerImpl.hpp b/src/cppcache/src/CacheTransactionManagerImpl.hpp
index daba08c..a3b220c 100644
--- a/src/cppcache/src/CacheTransactionManagerImpl.hpp
+++ b/src/cppcache/src/CacheTransactionManagerImpl.hpp
@@ -60,19 +60,14 @@ class CacheTransactionManagerImpl
 
   virtual TransactionIdPtr getTransactionId();
 
-  //    virtual void setWriter(TransactionWriterPtr writer);
-  //    virtual TransactionWriterPtr getWriter();
 
-  //    virtual void addListener(TransactionListenerPtr aListener);
-  //    virtual void removeListener(TransactionListenerPtr aListener);
-
-  inline static int32_t hasher(const SharedBasePtr& p) {
-    return static_cast<int32_t>(reinterpret_cast<intptr_t>(p.get()));
-  }
-
-  inline static bool equal_to(const SharedBasePtr& x, const SharedBasePtr& y) {
-    return x.get() == y.get();
-  }
+//  inline static int32_t hasher(const SharedBasePtr& p) {
+//    return static_cast<int32_t>(reinterpret_cast<intptr_t>(p.get()));
+//  }
+//
+//  inline static bool equal_to(const SharedBasePtr& x, const SharedBasePtr& y) {
+//    return x.get() == y.get();
+//  }
   TXState* getSuspendedTx(int32_t txId);
 
  protected:
@@ -81,14 +76,7 @@ class CacheTransactionManagerImpl
 
  private:
   Cache* m_cache;
-  // TransactionListenerPtr m_listener;
-
-  //    void noteCommitFailure(TXState* txState, const TXCommitMessagePtr&
-  //    commitMessage);
-  //    void noteCommitSuccess(TXState* txState, const TXCommitMessagePtr&
-  //    commitMessage);
-  //    void noteRollbackSuccess(TXState* txState, const TXCommitMessagePtr&
-  //    commitMessage);
+
   void resumeTxUsingTxState(TXState* txState, bool cancelExpiryTask = true);
   GfErrType rollback(TXState* txState, bool callListener);
   void addSuspendedTx(int32_t txId, TXState* txState);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/CacheXmlCreation.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/CacheXmlCreation.cpp b/src/cppcache/src/CacheXmlCreation.cpp
index c273aca..c140d24 100644
--- a/src/cppcache/src/CacheXmlCreation.cpp
+++ b/src/cppcache/src/CacheXmlCreation.cpp
@@ -58,9 +58,7 @@ void CacheXmlCreation::setPdxReadSerialized(bool val) {
 }
 
 CacheXmlCreation::CacheXmlCreation()
-    /* adongre
-     * CID 28926: Uninitialized pointer field (UNINIT_CTOR)
-     */
+
     : m_cache((Cache*)0) {
   m_pdxIgnoreUnreadFields = false;
   m_readPdxSerialized = false;

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/CacheXmlParser.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/CacheXmlParser.cpp b/src/cppcache/src/CacheXmlParser.cpp
index 24659c3..552a0e1 100644
--- a/src/cppcache/src/CacheXmlParser.cpp
+++ b/src/cppcache/src/CacheXmlParser.cpp
@@ -517,9 +517,7 @@ void CacheXmlParser::endPdx() {}
 void CacheXmlParser::startLocator(const xmlChar** atts) {
   int attrsCount = 0;
   if (!atts) {
-    /* adongre
-     * CID 28741: Parse warning (PW.EXPR_HAS_NO_EFFECT)expression has no effect
-     */
+
     std::string s =
         "XML:No attributes provided for <locator>. "
         "A locator requires a host and port";
@@ -556,9 +554,7 @@ void CacheXmlParser::startLocator(const xmlChar** atts) {
 void CacheXmlParser::startServer(const xmlChar** atts) {
   int attrsCount = 0;
   if (!atts) {
-    /* adongre
-     * CID 28742: Parse warning (PW.EXPR_HAS_NO_EFFECT)expression has no effect
-     */
+
     std::string s =
         "XML:No attributes provided for <server>. A server requires a host and "
         "port";
@@ -1137,9 +1133,7 @@ void CacheXmlParser::startPersistenceManager(const xmlChar** atts) {
       i++;
       size_t len = strlen((char*)atts[i]) + 1;
       libraryName = new char[len];
-      /* adongre
-       * CID 28824: Dereference before null check (REVERSE_INULL)
-       */
+
       if (libraryName == nullptr) {
         std::string s = "Memory allocation fails";
         throw CacheXmlException(s.c_str());
@@ -1158,9 +1152,7 @@ void CacheXmlParser::startPersistenceManager(const xmlChar** atts) {
       i++;
       size_t len = strlen((char*)atts[i]) + 1;
       libraryFunctionName = new char[len];
-      /* adongre
-       * CID 28823: Dereference before null check (REVERSE_INULL)
-       */
+
       if (libraryFunctionName == nullptr) {
         std::string s = "Memory allocation fails";
         throw CacheXmlException(s.c_str());

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/CacheableObjectPartList.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/CacheableObjectPartList.hpp b/src/cppcache/src/CacheableObjectPartList.hpp
index 61592e6..cbc241b 100644
--- a/src/cppcache/src/CacheableObjectPartList.hpp
+++ b/src/cppcache/src/CacheableObjectPartList.hpp
@@ -141,7 +141,7 @@ class CacheableObjectPartList : public Cacheable {
   virtual uint32_t objectSize() const;
 };
 
-typedef SharedPtr<CacheableObjectPartList> CacheableObjectPartListPtr;
+typedef std::shared_ptr<CacheableObjectPartList> CacheableObjectPartListPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/CacheableToken.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/CacheableToken.hpp b/src/cppcache/src/CacheableToken.hpp
index b071a80..d4a2720 100644
--- a/src/cppcache/src/CacheableToken.hpp
+++ b/src/cppcache/src/CacheableToken.hpp
@@ -28,7 +28,7 @@ namespace geode {
 namespace client {
 
 class CPPCACHE_EXPORT CacheableToken;
-typedef SharedPtr<CacheableToken> CacheableTokenPtr;
+typedef std::shared_ptr<CacheableToken> CacheableTokenPtr;
 
 /** Implement a non-mutable int64_t wrapper that can serve as a distributable
  * key object for cacheing as well as being a 64 bit value. */

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/CachedDeserializableHelper.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/CachedDeserializableHelper.hpp b/src/cppcache/src/CachedDeserializableHelper.hpp
index 799fcca..8a96705 100644
--- a/src/cppcache/src/CachedDeserializableHelper.hpp
+++ b/src/cppcache/src/CachedDeserializableHelper.hpp
@@ -97,7 +97,8 @@ class CachedDeserializableHelper : public Cacheable,
   int32_t classId() const { return 0; }
 };
 
-typedef SharedPtr<CachedDeserializableHelper> CachedDeserializableHelperPtr;
+typedef std::shared_ptr<CachedDeserializableHelper>
+    CachedDeserializableHelperPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ClientConnectionResponse.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ClientConnectionResponse.hpp b/src/cppcache/src/ClientConnectionResponse.hpp
index 425cdaf..0dd11fb 100644
--- a/src/cppcache/src/ClientConnectionResponse.hpp
+++ b/src/cppcache/src/ClientConnectionResponse.hpp
@@ -21,7 +21,7 @@
  */
 #include "ServerLocationResponse.hpp"
 #include "ServerLocation.hpp"
-#include <geode/SharedPtr.hpp>
+#include <memory>
 namespace apache {
 namespace geode {
 namespace client {
@@ -47,7 +47,7 @@ class ClientConnectionResponse : public ServerLocationResponse {
   bool m_serverFound;
   ServerLocation m_server;
 };
-typedef SharedPtr<ClientConnectionResponse> ClientConnectionResponsePtr;
+typedef std::shared_ptr<ClientConnectionResponse> ClientConnectionResponsePtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ClientMetadata.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ClientMetadata.hpp b/src/cppcache/src/ClientMetadata.hpp
index dd4b4d4..37a025e 100644
--- a/src/cppcache/src/ClientMetadata.hpp
+++ b/src/cppcache/src/ClientMetadata.hpp
@@ -39,14 +39,14 @@ namespace client {
 class ThinClientPoolDM;
 class ClientMetadata;
 
-typedef SharedPtr<ClientMetadata> ClientMetadataPtr;
+typedef std::shared_ptr<ClientMetadata> ClientMetadataPtr;
 typedef std::vector<BucketServerLocationPtr> BucketServerLocationsType;
 // typedef std::map<int,BucketServerLocationsType >
 // BucketServerLocationsListType;
 typedef std::vector<BucketServerLocationsType> BucketServerLocationsListType;
 typedef std::map<std::string, std::vector<int> > FixedMapType;
 
-class CPPCACHE_EXPORT ClientMetadata : public SharedBase, public NonAssignable {
+class CPPCACHE_EXPORT ClientMetadata : public NonAssignable {
  private:
   void setPartitionNames();
   CacheableHashSetPtr m_partitionNames;

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ClientMetadataService.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ClientMetadataService.hpp b/src/cppcache/src/ClientMetadataService.hpp
index 3827a79..77da244 100644
--- a/src/cppcache/src/ClientMetadataService.hpp
+++ b/src/cppcache/src/ClientMetadataService.hpp
@@ -27,7 +27,7 @@
 #include <ace/Task.h>
 
 #include <geode/utils.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 #include <geode/CacheableKey.hpp>
 #include <geode/Cacheable.hpp>
 #include <geode/Region.hpp>
@@ -200,9 +200,8 @@ class ClientMetadataService : public ACE_Task_Base,
       const ClientMetadataPtr& metadata, const BucketSet& bucketSet,
       bool optimizeForWrite);
 
-  ClientMetadataService::ServerToBucketsMapPtr
-  pruneNodes(const ClientMetadataPtr& metadata,
-                                    const BucketSet& buckets);
+  ClientMetadataService::ServerToBucketsMapPtr pruneNodes(
+      const ClientMetadataPtr& metadata, const BucketSet& buckets);
 
  private:
   // const PartitionResolverPtr& getResolver(const RegionPtr& region, const

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ClientProxyMembershipID.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ClientProxyMembershipID.cpp b/src/cppcache/src/ClientProxyMembershipID.cpp
index 2b438dc..41f0f6e 100644
--- a/src/cppcache/src/ClientProxyMembershipID.cpp
+++ b/src/cppcache/src/ClientProxyMembershipID.cpp
@@ -209,16 +209,7 @@ void ClientProxyMembershipID::initObjectVars(
   uint32_t len;
   char* buf = (char*)m_memID.getBuffer(&len);
   m_memIDStr.append(buf, len);
-  /* adongre - Coverity II
-   * CID 29206: Calling risky function (SECURE_CODING)[VERY RISKY]. Using
-   * "sprintf" can cause a
-   * buffer overflow when done incorrectly. Because sprintf() assumes an
-   * arbitrarily long string,
-   * callers must be careful not to overflow the actual space of the
-   * destination.
-   * Use snprintf() instead, or correct precision specifiers.
-   * Fix : using ACE_OS::snprintf
-   */
+
   char PID[15] = {0};
   char Synch_Counter[15] = {0};
   // ACE_OS::snprintf(PID, 15, "%d",vPID);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ClientProxyMembershipID.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ClientProxyMembershipID.hpp b/src/cppcache/src/ClientProxyMembershipID.hpp
index a61e86e..d7a29c9 100644
--- a/src/cppcache/src/ClientProxyMembershipID.hpp
+++ b/src/cppcache/src/ClientProxyMembershipID.hpp
@@ -31,7 +31,7 @@ namespace apache {
 namespace geode {
 namespace client {
 class ClientProxyMembershipID;
-typedef SharedPtr<ClientProxyMembershipID> ClientProxyMembershipIDPtr;
+typedef std::shared_ptr<ClientProxyMembershipID> ClientProxyMembershipIDPtr;
 
 class ClientProxyMembershipID : public DSMemberForVersionStamp {
  public:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/CqService.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/CqService.hpp b/src/cppcache/src/CqService.hpp
index 5873df5..554abc7 100644
--- a/src/cppcache/src/CqService.hpp
+++ b/src/cppcache/src/CqService.hpp
@@ -59,22 +59,8 @@ namespace client {
  *
  */
 
-/* adongre
- * CID 28727: Other violation (MISSING_COPY)
- * Class "apache::geode::client::CqService" owns resources that are managed in
- * its
- * constructor and destructor but has no user-written copy constructor.
- *
- * CID 28713: Other violation (MISSING_ASSIGN)
- * Class "apache::geode::client::CqService" owns resources that are managed in
- * its constructor
- * and destructor but has no user-written assignment operator.
- *
- * FIX : Make the class NonCopyable
- */
 class CPPCACHE_EXPORT CqService
-    : public SharedBase,
-      private NonCopyable,
+    : private NonCopyable,
       private NonAssignable,
       public std::enable_shared_from_this<CqService> {
  private:
@@ -265,7 +251,7 @@ class CPPCACHE_EXPORT CqService
                                   const bool connected);
 };
 
-typedef SharedPtr<CqService> CqServicePtr;
+typedef std::shared_ptr<CqService> CqServicePtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/DSMemberForVersionStamp.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/DSMemberForVersionStamp.hpp b/src/cppcache/src/DSMemberForVersionStamp.hpp
index 4019095..4fbfb5e 100644
--- a/src/cppcache/src/DSMemberForVersionStamp.hpp
+++ b/src/cppcache/src/DSMemberForVersionStamp.hpp
@@ -28,7 +28,7 @@ namespace apache {
 namespace geode {
 namespace client {
 class DSMemberForVersionStamp;
-typedef SharedPtr<DSMemberForVersionStamp> DSMemberForVersionStampPtr;
+typedef std::shared_ptr<DSMemberForVersionStamp> DSMemberForVersionStampPtr;
 
 class DSMemberForVersionStamp : public CacheableKey {
  public:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/DistributedSystem.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/DistributedSystem.cpp b/src/cppcache/src/DistributedSystem.cpp
index 04a5dd1..965bfa5 100644
--- a/src/cppcache/src/DistributedSystem.cpp
+++ b/src/cppcache/src/DistributedSystem.cpp
@@ -222,10 +222,6 @@ DistributedSystemPtr DistributedSystem::connect(
   const char* ld_libpath = ACE_OS::getenv("LD_LIBRARY_PATH");
   LOGCONFIG("Current library path: %s",
             ld_libpath == nullptr ? "nullptr" : ld_libpath);
-#else
-  if (Utils::s_setNewAndDelete) {
-    LOGCONFIG("Operators new and delete have been set.");
-  }
 #endif
   // Log the Geode system properties
   g_sysProps->logSettings();

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/DistributedSystemImpl.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/DistributedSystemImpl.hpp b/src/cppcache/src/DistributedSystemImpl.hpp
index 42311e3..404c151 100644
--- a/src/cppcache/src/DistributedSystemImpl.hpp
+++ b/src/cppcache/src/DistributedSystemImpl.hpp
@@ -21,11 +21,11 @@
  */
 
 /**
-* @file
-*/
+ * @file
+ */
 
 #include <geode/geode_globals.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 #include <geode/geode_types.hpp>
 #include "ace/Recursive_Thread_Mutex.h"
 #include "ace/Guard_T.h"
@@ -45,22 +45,22 @@ namespace client {
 class SystemProperties;
 
 /**
-* @class DistributedSystemImpl DistributedSystemImpl.hpp
-* A "connection" to a Geode distributed system.
-* The connection will be through a (host, port) pair.
-*/
+ * @class DistributedSystemImpl DistributedSystemImpl.hpp
+ * A "connection" to a Geode distributed system.
+ * The connection will be through a (host, port) pair.
+ */
 
 class DistributedSystemImpl;
-typedef SharedPtr<DistributedSystemImpl> DistributedSystemImplPtr;
+typedef std::shared_ptr<DistributedSystemImpl> DistributedSystemImplPtr;
 
-class CPPCACHE_EXPORT DistributedSystemImpl : public SharedBase {
+class CPPCACHE_EXPORT DistributedSystemImpl {
   /**
-  * @brief public methods
-  */
+   * @brief public methods
+   */
  public:
   /*
-  * threadname should have less than 16 bytes
-  */
+   * threadname should have less than 16 bytes
+   */
   static void setThreadName(const char* tn) {
 #ifdef __linux
     int idx = 0;
@@ -78,12 +78,12 @@ class CPPCACHE_EXPORT DistributedSystemImpl : public SharedBase {
 #endif
   }
   /**
-  * @brief destructor
-  */
+   * @brief destructor
+   */
   virtual ~DistributedSystemImpl();
 
   /**
-  */
+   */
   virtual AuthInitializePtr getAuthLoader();
 
   /** Retrieve the MemberId used to create this Cache. */
@@ -95,8 +95,8 @@ class CPPCACHE_EXPORT DistributedSystemImpl : public SharedBase {
   DiffieHellman m_dh;
 
   /**
-  * @brief constructors
-  */
+   * @brief constructors
+   */
   DistributedSystemImpl(const char* name, DistributedSystem* implementee);
 
   // acquire/release locks
@@ -116,9 +116,9 @@ class CPPCACHE_EXPORT DistributedSystemImpl : public SharedBase {
   static void disconnectInstance();
 
   /**
-  * The current number of connection instances created using
-  * connectionOrGetInstance().
-  */
+   * The current number of connection instances created using
+   * connectionOrGetInstance().
+   */
   static int currentInstances();
 
   static void registerCliCallback(int appdomainId,

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/EnumInfo.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/EnumInfo.hpp b/src/cppcache/src/EnumInfo.hpp
index 4571f62..cba0677 100644
--- a/src/cppcache/src/EnumInfo.hpp
+++ b/src/cppcache/src/EnumInfo.hpp
@@ -61,7 +61,7 @@ class CPPCACHE_EXPORT EnumInfo : public CacheableKey {
   CacheableStringPtr getEnumName() const { return m_enumName; }
   int32_t getEnumOrdinal() const { return m_ordinal; }
 };
-typedef SharedPtr<EnumInfo> EnumInfoPtr;
+typedef std::shared_ptr<EnumInfo> EnumInfoPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/EventIdMap.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/EventIdMap.hpp b/src/cppcache/src/EventIdMap.hpp
index 8b4f9b9..eb40ab5 100644
--- a/src/cppcache/src/EventIdMap.hpp
+++ b/src/cppcache/src/EventIdMap.hpp
@@ -32,7 +32,7 @@
 #include <ace/Guard_T.h>
 
 #include <geode/utils.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 
 #include "EventId.hpp"
 #include "EventSource.hpp"
@@ -44,8 +44,8 @@ namespace client {
 class EventSequence;
 class EventIdMap;
 
-typedef SharedPtr<EventSequence> EventSequencePtr;
-typedef SharedPtr<EventIdMap> EventIdMapPtr;
+typedef std::shared_ptr<EventSequence> EventSequencePtr;
+typedef std::shared_ptr<EventIdMap> EventIdMapPtr;
 
 typedef std::pair<EventSourcePtr, EventSequencePtr> EventIdMapEntry;
 typedef std::vector<EventIdMapEntry> EventIdMapEntryList;
@@ -60,7 +60,7 @@ typedef ACE_Guard<ACE_Recursive_Thread_Mutex> MapGuard;
  * provides the operations for duplicate checking and
  * expiry of idle event IDs from notifications.
  */
-class CPPCACHE_EXPORT EventIdMap : public SharedBase {
+class CPPCACHE_EXPORT EventIdMap {
  private:
   typedef std::unordered_map<EventSourcePtr, EventSequencePtr,
                              dereference_hash<EventSourcePtr>,
@@ -134,7 +134,7 @@ class CPPCACHE_EXPORT EventIdMap : public SharedBase {
  * EventSequence is the combination of SequenceNum from EventId, a timestamp and
  * a flag indicating whether or not it is ACKed
  */
-class CPPCACHE_EXPORT EventSequence : public SharedBase {
+class CPPCACHE_EXPORT EventSequence {
   int64_t m_seqNum;
   bool m_acked;
   ACE_Time_Value m_deadline;  // current time plus the expiration delay (age)

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/EventSource.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/EventSource.hpp b/src/cppcache/src/EventSource.hpp
index 8a0f7e0..d932c63 100644
--- a/src/cppcache/src/EventSource.hpp
+++ b/src/cppcache/src/EventSource.hpp
@@ -31,7 +31,7 @@ namespace client {
  *
  * EventSource is the combination of MembershipId and ThreadId from the EventId
  */
-class CPPCACHE_EXPORT EventSource : public SharedBase {
+class CPPCACHE_EXPORT EventSource {
   char *m_srcId;
   int32_t m_srcIdLen;
   int64_t m_thrId;
@@ -95,7 +95,7 @@ class CPPCACHE_EXPORT EventSource : public SharedBase {
   };
 };
 
-typedef SharedPtr<EventSource> EventSourcePtr;
+typedef std::shared_ptr<EventSource> EventSourcePtr;
 
 }  // namespace client
 }  // namespace geode

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/EvictionController.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/EvictionController.hpp b/src/cppcache/src/EvictionController.hpp
index 6e1f7b8..6879adc 100644
--- a/src/cppcache/src/EvictionController.hpp
+++ b/src/cppcache/src/EvictionController.hpp
@@ -27,7 +27,7 @@
 #include <ace/Task.h>
 #include <geode/DataOutput.hpp>
 #include <geode/Log.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 #include "IntQueue.hpp"
 #include "EvictionThread.hpp"
 #include <string>
@@ -68,10 +68,9 @@ typedef std::vector<std::string> VectorOfString;
 class EvictionController;
 class EvictionThread;
 class CacheImpl;
-typedef SharedPtr<EvictionController> EvictionControllerPtr;
+typedef std::shared_ptr<EvictionController> EvictionControllerPtr;
 
-class CPPCACHE_EXPORT EvictionController : public ACE_Task_Base,
-                                           public SharedBase {
+class CPPCACHE_EXPORT EvictionController : public ACE_Task_Base {
  public:
   EvictionController(size_t maxHeapSize, int32_t heapSizeDelta,
                      CacheImpl* cache);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ExpMapEntry.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ExpMapEntry.hpp b/src/cppcache/src/ExpMapEntry.hpp
index e0f081b..823ee39 100644
--- a/src/cppcache/src/ExpMapEntry.hpp
+++ b/src/cppcache/src/ExpMapEntry.hpp
@@ -57,7 +57,7 @@ class CPPCACHE_EXPORT ExpMapEntry : public MapEntryImpl,
   ExpMapEntry& operator=(const ExpMapEntry&);
 };
 
-typedef SharedPtr<ExpMapEntry> ExpMapEntryPtr;
+typedef std::shared_ptr<ExpMapEntry> ExpMapEntryPtr;
 
 class CPPCACHE_EXPORT VersionedExpMapEntry : public ExpMapEntry,
                                              public VersionStamp {
@@ -77,7 +77,7 @@ class CPPCACHE_EXPORT VersionedExpMapEntry : public ExpMapEntry,
   VersionedExpMapEntry& operator=(const VersionedExpMapEntry&);
 };
 
-typedef SharedPtr<VersionedExpMapEntry> VersionedExpMapEntryPtr;
+typedef std::shared_ptr<VersionedExpMapEntry> VersionedExpMapEntryPtr;
 
 class CPPCACHE_EXPORT ExpEntryFactory : public EntryFactory {
  public:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/FarSideEntryOp.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/FarSideEntryOp.hpp b/src/cppcache/src/FarSideEntryOp.hpp
index b2d163f..043e905 100644
--- a/src/cppcache/src/FarSideEntryOp.hpp
+++ b/src/cppcache/src/FarSideEntryOp.hpp
@@ -92,7 +92,7 @@ class RegionCommit;
 
 _GF_PTR_DEF_(FarSideEntryOp, FarSideEntryOpPtr);
 
-class FarSideEntryOp : public apache::geode::client::SharedBase {
+class FarSideEntryOp {
  public:
   FarSideEntryOp(RegionCommit* region);
   virtual ~FarSideEntryOp();

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/FunctionService.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/FunctionService.cpp b/src/cppcache/src/FunctionService.cpp
index 600fa03..c785836 100644
--- a/src/cppcache/src/FunctionService.cpp
+++ b/src/cppcache/src/FunctionService.cpp
@@ -22,7 +22,6 @@
 #include <ProxyCache.hpp>
 #include <geode/PoolManager.hpp>
 #include <CacheRegionHelper.hpp>
-#include <geode/TypeHelper.hpp>
 
 using namespace apache::geode::client;
 
@@ -118,8 +117,7 @@ ExecutionPtr FunctionService::onServerWithCache(const RegionServicePtr& cache) {
     throw IllegalStateException(
         "Pool has been close to execute function on server");
   } else {
-    CachePtr realcache =
-        std::static_pointer_cast<GF_UNWRAP_SP(CachePtr)>(cache);
+    CachePtr realcache = std::static_pointer_cast<Cache>(cache);
     return FunctionService::onServer(realcache->m_cacheImpl->getDefaultPool());
   }
 }
@@ -134,8 +132,8 @@ ExecutionPtr FunctionService::onServersWithCache(
 
   LOGDEBUG("FunctionService::onServers:");
   if (pc != nullptr && !cache->isClosed()) {
-    PoolPtr userAttachedPool = pc->m_userAttributes->getPool();
-    PoolPtr pool = PoolManager::find(userAttachedPool->getName());
+    auto userAttachedPool = pc->m_userAttributes->getPool();
+    auto pool = PoolManager::find(userAttachedPool->getName());
     if (pool != nullptr && pool.get() == userAttachedPool.get() &&
         !pool->isDestroyed()) {
       return std::make_shared<ExecutionImpl>(pool, true, pc);
@@ -143,8 +141,7 @@ ExecutionPtr FunctionService::onServersWithCache(
     throw IllegalStateException(
         "Pool has been close to execute function on server");
   } else {
-    CachePtr realcache =
-        std::static_pointer_cast<GF_UNWRAP_SP(CachePtr)>(cache);
+    auto realcache = std::static_pointer_cast<Cache>(cache);
     return FunctionService::onServers(realcache->m_cacheImpl->getDefaultPool());
   }
 }

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/GetAllServersResponse.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/GetAllServersResponse.cpp b/src/cppcache/src/GetAllServersResponse.cpp
index 17a8452..86aa8d7 100644
--- a/src/cppcache/src/GetAllServersResponse.cpp
+++ b/src/cppcache/src/GetAllServersResponse.cpp
@@ -22,9 +22,6 @@ void GetAllServersResponse::toData(DataOutput& output) const {
   int32_t length = static_cast<int32_t>(m_servers.size());
   output.writeInt(length);
   for (int32_t i = 0; i < length; i++) {
-    // TODO shared_ptr - this is suspicious, in the original all entries were
-    // wrapped in a SharedPtr resulting in their destruction at the end of this
-    // function.
     output.writeObject(&m_servers.at(i));
   }
 }

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/GetAllServersResponse.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/GetAllServersResponse.hpp b/src/cppcache/src/GetAllServersResponse.hpp
index 739f9e2..b467eff 100644
--- a/src/cppcache/src/GetAllServersResponse.hpp
+++ b/src/cppcache/src/GetAllServersResponse.hpp
@@ -50,7 +50,7 @@ class GetAllServersResponse : public Serializable {
   std::vector<ServerLocation> getServers() { return m_servers; }
   virtual ~GetAllServersResponse() {}
 };
-typedef SharedPtr<GetAllServersResponse> GetAllServersResponsePtr;
+typedef std::shared_ptr<GetAllServersResponse> GetAllServersResponsePtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/InternalCacheTransactionManager2PCImpl.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/InternalCacheTransactionManager2PCImpl.cpp b/src/cppcache/src/InternalCacheTransactionManager2PCImpl.cpp
index 12d1f6a..5a01dff 100644
--- a/src/cppcache/src/InternalCacheTransactionManager2PCImpl.cpp
+++ b/src/cppcache/src/InternalCacheTransactionManager2PCImpl.cpp
@@ -173,7 +173,7 @@ void InternalCacheTransactionManager2PCImpl::afterCompletion(int32_t status) {
       switch (replyCommitAfter.getMessageType()) {
         case TcrMessage::RESPONSE: {
           TXCommitMessagePtr commit =
-              std::static_pointer_cast<GF_UNWRAP_SP(TXCommitMessagePtr)>(
+              std::static_pointer_cast<TXCommitMessage>(
                   replyCommitAfter.getValue());
           if (commit.get() !=
               nullptr)  // e.g. when afterCompletion(STATUS_ROLLEDBACK) called

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/LRUExpMapEntry.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/LRUExpMapEntry.hpp b/src/cppcache/src/LRUExpMapEntry.hpp
index 9b51455..98271e2 100644
--- a/src/cppcache/src/LRUExpMapEntry.hpp
+++ b/src/cppcache/src/LRUExpMapEntry.hpp
@@ -61,7 +61,7 @@ class CPPCACHE_EXPORT LRUExpMapEntry : public MapEntryImpl,
   LRUExpMapEntry& operator=(const LRUExpMapEntry&);
 };
 
-typedef SharedPtr<LRUExpMapEntry> LRUExpMapEntryPtr;
+typedef std::shared_ptr<LRUExpMapEntry> LRUExpMapEntryPtr;
 
 class CPPCACHE_EXPORT VersionedLRUExpMapEntry : public LRUExpMapEntry,
                                                 public VersionStamp {
@@ -82,7 +82,7 @@ class CPPCACHE_EXPORT VersionedLRUExpMapEntry : public LRUExpMapEntry,
   VersionedLRUExpMapEntry& operator=(const VersionedLRUExpMapEntry&);
 };
 
-typedef SharedPtr<VersionedLRUExpMapEntry> VersionedLRUExpMapEntryPtr;
+typedef std::shared_ptr<VersionedLRUExpMapEntry> VersionedLRUExpMapEntryPtr;
 
 class CPPCACHE_EXPORT LRUExpEntryFactory : public EntryFactory {
  public:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/LRUList.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/LRUList.hpp b/src/cppcache/src/LRUList.hpp
index 38cc4a9..66e5210 100644
--- a/src/cppcache/src/LRUList.hpp
+++ b/src/cppcache/src/LRUList.hpp
@@ -21,7 +21,7 @@
  */
 
 #include <geode/geode_globals.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 #include "SpinLock.hpp"
 
 namespace apache {
@@ -83,7 +83,7 @@ class CPPCACHE_EXPORT LRUEntryProperties {
 template <typename TEntry, typename TCreateEntry>
 class LRUList {
  protected:
-  typedef SharedPtr<TEntry> LRUListEntryPtr;
+  typedef std::shared_ptr<TEntry> LRUListEntryPtr;
 
   /**
    * @brief The entries in the LRU List are instances of LRUListNode.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/LRUMapEntry.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/LRUMapEntry.hpp b/src/cppcache/src/LRUMapEntry.hpp
index 961a4a5..2ab14d5 100644
--- a/src/cppcache/src/LRUMapEntry.hpp
+++ b/src/cppcache/src/LRUMapEntry.hpp
@@ -86,7 +86,7 @@ class CPPCACHE_EXPORT LRUMapEntry : public MapEntryImpl,
   LRUMapEntry& operator=(const LRUMapEntry&);
 };
 
-typedef SharedPtr<LRUMapEntry> LRUMapEntryPtr;
+typedef std::shared_ptr<LRUMapEntry> LRUMapEntryPtr;
 
 class CPPCACHE_EXPORT VersionedLRUMapEntry : public LRUMapEntry,
                                              public VersionStamp {
@@ -106,7 +106,7 @@ class CPPCACHE_EXPORT VersionedLRUMapEntry : public LRUMapEntry,
   VersionedLRUMapEntry& operator=(const VersionedLRUMapEntry&);
 };
 
-typedef SharedPtr<VersionedLRUMapEntry> VersionedLRUMapEntryPtr;
+typedef std::shared_ptr<VersionedLRUMapEntry> VersionedLRUMapEntryPtr;
 
 class CPPCACHE_EXPORT LRUEntryFactory : public EntryFactory {
  public:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/LocalRegion.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/LocalRegion.hpp b/src/cppcache/src/LocalRegion.hpp
index 7be2233..dca7386 100644
--- a/src/cppcache/src/LocalRegion.hpp
+++ b/src/cppcache/src/LocalRegion.hpp
@@ -119,7 +119,7 @@ typedef std::unordered_map<CacheableKeyPtr, std::pair<CacheablePtr, int> >
  * separator is used to concatenate all the region names together from the root,
  * starting with the root's subregions.
  */
-typedef SharedPtr<LocalRegion> LocalRegionPtr;
+typedef std::shared_ptr<LocalRegion> LocalRegionPtr;
 
 class CPPCACHE_EXPORT LocalRegion : public RegionInternal {
   /**

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/LocatorListResponse.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/LocatorListResponse.hpp b/src/cppcache/src/LocatorListResponse.hpp
index 093f8c7..8b7b6fa 100644
--- a/src/cppcache/src/LocatorListResponse.hpp
+++ b/src/cppcache/src/LocatorListResponse.hpp
@@ -37,7 +37,7 @@ class LocatorListResponse : public ServerLocationResponse {
   LocatorListResponse()
       :                         /* adonre
                                  * CID 28938: Uninitialized scalar field (UNINIT_CTOR) *
-                                */
+                                 */
         m_isBalanced(false) {}  // Default constru needed for de-serialization
   virtual LocatorListResponse* fromData(DataInput& input);
   virtual int8_t typeId() const;
@@ -47,7 +47,7 @@ class LocatorListResponse : public ServerLocationResponse {
   virtual ~LocatorListResponse() {}  // Virtual destructor
   static Serializable* create();
 };
-typedef SharedPtr<LocatorListResponse> LocatorListResponsePtr;
+typedef std::shared_ptr<LocatorListResponse> LocatorListResponsePtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/MapEntry.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/MapEntry.hpp b/src/cppcache/src/MapEntry.hpp
index e177298..23d3b51 100644
--- a/src/cppcache/src/MapEntry.hpp
+++ b/src/cppcache/src/MapEntry.hpp
@@ -23,7 +23,7 @@
 #include <geode/geode_globals.hpp>
 #include <geode/Cacheable.hpp>
 #include <geode/CacheableKey.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 #include <geode/ExceptionTypes.hpp>
 #include "HostAsm.hpp"
 #include "CacheImpl.hpp"
@@ -38,9 +38,9 @@ namespace apache {
 namespace geode {
 namespace client {
 class CPPCACHE_EXPORT MapEntry;
-typedef SharedPtr<MapEntry> MapEntryPtr;
+typedef std::shared_ptr<MapEntry> MapEntryPtr;
 class CPPCACHE_EXPORT MapEntryImpl;
-typedef SharedPtr<MapEntryImpl> MapEntryImplPtr;
+typedef std::shared_ptr<MapEntryImpl> MapEntryImplPtr;
 
 class CPPCACHE_EXPORT LRUEntryProperties;
 
@@ -103,7 +103,7 @@ class CPPCACHE_EXPORT ExpEntryProperties {
 /**
  * @brief Interface class for region mapped entry value.
  */
-class CPPCACHE_EXPORT MapEntry : public SharedBase {
+class CPPCACHE_EXPORT MapEntry {
  public:
   static MapEntryPtr MapEntry_NullPointer;
 
@@ -178,7 +178,7 @@ class CPPCACHE_EXPORT MapEntry : public SharedBase {
  protected:
   inline MapEntry() {}
 
-  inline explicit MapEntry(bool noInit) : SharedBase(noInit) {}
+  inline explicit MapEntry(bool noInit) {}
 };
 
 /**
@@ -264,7 +264,7 @@ class CPPCACHE_EXPORT VersionedMapEntryImpl : public MapEntryImpl,
   VersionedMapEntryImpl& operator=(const VersionedMapEntryImpl&);
 };
 
-typedef SharedPtr<VersionedMapEntryImpl> VersionedMapEntryImplPtr;
+typedef std::shared_ptr<VersionedMapEntryImpl> VersionedMapEntryImplPtr;
 
 class CPPCACHE_EXPORT EntryFactory {
  public:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/MapWithLock.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/MapWithLock.hpp b/src/cppcache/src/MapWithLock.hpp
index ad31f44..ee53037 100644
--- a/src/cppcache/src/MapWithLock.hpp
+++ b/src/cppcache/src/MapWithLock.hpp
@@ -35,10 +35,12 @@ namespace apache {
 namespace geode {
 namespace client {
 
-typedef std::unordered_map<CacheableKeyPtr, int, CacheableKey::hash, CacheableKey::equal_to> MapOfUpdateCounters;
+typedef std::unordered_map<CacheableKeyPtr, int, CacheableKey::hash,
+                           CacheableKey::equal_to>
+    MapOfUpdateCounters;
 
 class Region;
-typedef SharedPtr<Region> RegionPtr;
+typedef std::shared_ptr<Region> RegionPtr;
 
 /** Map type used to hold root regions in the Cache, and subRegions. */
 typedef ACE_Hash_Map_Manager_Ex<std::string, RegionPtr, ACE_Hash<std::string>,

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/MemberListForVersionStamp.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/MemberListForVersionStamp.hpp b/src/cppcache/src/MemberListForVersionStamp.hpp
index de759fd..d3b07c2 100644
--- a/src/cppcache/src/MemberListForVersionStamp.hpp
+++ b/src/cppcache/src/MemberListForVersionStamp.hpp
@@ -21,7 +21,7 @@
  */
 
 #include <geode/geode_globals.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 #include "DSMemberForVersionStamp.hpp"
 #include "ace/RW_Thread_Mutex.h"
 #include "ReadWriteLock.hpp"
@@ -41,7 +41,7 @@ struct DistributedMemberWithIntIdentifier {
   uint16_t m_identifier;
 };
 
-class MemberListForVersionStamp : public SharedBase {
+class MemberListForVersionStamp {
  public:
   MemberListForVersionStamp();
   virtual ~MemberListForVersionStamp();
@@ -57,7 +57,7 @@ class MemberListForVersionStamp : public SharedBase {
   uint32_t m_memberCounter;
 };
 
-typedef SharedPtr<MemberListForVersionStamp> MemberListForVersionStampPtr;
+typedef std::shared_ptr<MemberListForVersionStamp> MemberListForVersionStampPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PdxFieldType.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PdxFieldType.hpp b/src/cppcache/src/PdxFieldType.hpp
index 40c50d2..87ec5ed 100644
--- a/src/cppcache/src/PdxFieldType.hpp
+++ b/src/cppcache/src/PdxFieldType.hpp
@@ -31,7 +31,7 @@ namespace apache {
 namespace geode {
 namespace client {
 class PdxFieldType;
-typedef SharedPtr<PdxFieldType> PdxFieldTypePtr;
+typedef std::shared_ptr<PdxFieldType> PdxFieldTypePtr;
 class CPPCACHE_EXPORT PdxFieldType : public Serializable {
  private:
   std::string m_fieldName;

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PdxHelper.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PdxHelper.cpp b/src/cppcache/src/PdxHelper.cpp
index 52fa6d9..80ad913 100644
--- a/src/cppcache/src/PdxHelper.cpp
+++ b/src/cppcache/src/PdxHelper.cpp
@@ -296,7 +296,7 @@ PdxSerializablePtr PdxHelper::deserializePdx(DataInput& dataInput,
     // read typeId
     dataInput.readInt(&typeId);
 
-    CacheImpl* cacheImpl = PdxHelper::getCacheImpl();
+    auto cacheImpl = PdxHelper::getCacheImpl();
     if (cacheImpl != nullptr) {
       cacheImpl->m_cacheStats->incPdxDeSerialization(len +
                                                      9);  // pdxLen + 1 + 2*4
@@ -313,11 +313,10 @@ PdxSerializablePtr PdxHelper::deserializePdx(DataInput& dataInput,
     // read typeId
     dataInput.readInt(&typeId);
 
-    PdxTypePtr pType = PdxTypeRegistry::getPdxType(typeId);
+    auto pType = PdxTypeRegistry::getPdxType(typeId);
 
     if (pType == nullptr) {
-      // TODO shared_ptr why redef?
-      PdxTypePtr pType = std::static_pointer_cast<PdxType>(
+      auto pType = std::static_pointer_cast<PdxType>(
           SerializationRegistry::GetPDXTypeById(dataInput.getPoolName(),
                                                 typeId));
       PdxTypeRegistry::addLocalPdxType(pType->getPdxClassName(), pType);
@@ -330,7 +329,7 @@ PdxSerializablePtr PdxHelper::deserializePdx(DataInput& dataInput,
 
     dataInput.advanceCursor(len);
 
-    CacheImpl* cacheImpl = PdxHelper::getCacheImpl();
+    auto cacheImpl = PdxHelper::getCacheImpl();
     if (cacheImpl != nullptr) {
       cacheImpl->m_cacheStats->incPdxInstanceCreations();
     }

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PdxInstanceImpl.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PdxInstanceImpl.cpp b/src/cppcache/src/PdxInstanceImpl.cpp
index eaabfc7..401db41 100644
--- a/src/cppcache/src/PdxInstanceImpl.cpp
+++ b/src/cppcache/src/PdxInstanceImpl.cpp
@@ -86,12 +86,6 @@ PdxInstanceImpl::PdxInstanceImpl(
   m_typeId = 0;
 
   m_pdxType->InitializeType();  // to generate static position map
-
-  // apache::geode::client::DataOutput* output =
-  // apache::geode::client::DataOutput::getDataOutput();
-  // TODO shared_ptr - what is the purpose of this?
-  //  DataOutput output;
-  //  PdxHelper::serializePdx(output, *this);
 }
 
 PdxInstanceImpl::PdxInstanceImpl() {


[7/9] geode-native git commit: GEODE-2741: Removes last of SharedPtr/SharedBase.

Posted by jb...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testCache.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testCache.cpp b/src/cppcache/integration-test/testCache.cpp
index f073de7..df74e76 100644
--- a/src/cppcache/integration-test/testCache.cpp
+++ b/src/cppcache/integration-test/testCache.cpp
@@ -17,13 +17,15 @@
 
 #define ROOT_NAME "testCache"
 
+#include <string>
+#include <iostream>
+
 #include <geode/GeodeCppCache.hpp>
 #include <CacheRegionHelper.hpp>
 #include "fw_helper.hpp"
 
 using namespace apache::geode::client;
 
-using namespace test;
 BEGIN_TEST(CacheFunction)
   char* host_name = (char*)"TESTCACHE";
   uint16_t port ATTR_UNUSED = 0;
@@ -34,78 +36,78 @@ BEGIN_TEST(CacheFunction)
   char* subRegionName21 = (char*)"TESTCACHE_SUB_REGION21";
   CachePtr cptr;
   if (cptr != nullptr) {
-    cout << "cptr is not null" << endl;
+    std::cout << "cptr is not null" << std::endl;
   }
-  cout << "create Cache with name=" << host_name << " and unitialized system"
-       << endl;
+  std::cout << "create Cache with name=" << host_name
+            << " and unitialized system" << std::endl;
   CacheFactoryPtr cacheFactoryPtr = CacheFactory::createCacheFactory();
   cptr = cacheFactoryPtr->create();
   AttributesFactory attrFac;
   RegionAttributesPtr rAttr;
-  cout << "create RegionAttributes" << endl;
+  std::cout << "create RegionAttributes" << std::endl;
   try {
     rAttr = attrFac.createRegionAttributes();
   } catch (Exception& ex) {
-    cout << ex.getMessage() << endl;
+    std::cout << ex.getMessage() << std::endl;
     ASSERT(false, "attribute create failed");
   }
   if (rAttr == nullptr) {
-    cout << "Warnning! : AttributesFactory returned nullptr" << endl;
+    std::cout << "Warnning! : AttributesFactory returned nullptr" << std::endl;
   }
   RegionPtr rptr;
   if (rptr != nullptr) {
-    cout << "rptr is not null" << endl;
+    std::cout << "rptr is not null" << std::endl;
   }
-  cout << "create Region with name=" << regionName << endl;
+  std::cout << "create Region with name=" << regionName << std::endl;
   try {
     CacheImpl* cacheImpl = CacheRegionHelper::getCacheImpl(cptr.get());
     cacheImpl->createRegion(regionName, rAttr, rptr);
   } catch (Exception& ex) {
-    cout << ex.getMessage() << endl;
+    std::cout << ex.getMessage() << std::endl;
     ASSERT(false, (char*)"attribute create failed");
   }
-  cout << "create Sub Region with name=" << subRegionName1 << endl;
+  std::cout << "create Sub Region with name=" << subRegionName1 << std::endl;
   RegionPtr subRptr1;
   try {
     subRptr1 = rptr->createSubregion(subRegionName1, rAttr);
   } catch (Exception& ex) {
-    cout << ex.getMessage() << endl;
+    std::cout << ex.getMessage() << std::endl;
     ASSERT(false, (char*)"subregion create failed");
   }
-  cout << "create Sub Region with name=" << subRegionName2 << endl;
+  std::cout << "create Sub Region with name=" << subRegionName2 << std::endl;
   RegionPtr subRptr2;
   try {
     subRptr2 = rptr->createSubregion(subRegionName2, rAttr);
   } catch (Exception& ex) {
-    cout << ex.getMessage() << endl;
+    std::cout << ex.getMessage() << std::endl;
     ASSERT(false, (char*)"subregion create failed");
   }
-  cout << "create Sub Region with name=" << subRegionName21
-       << "inside region=" << subRegionName2 << endl;
+  std::cout << "create Sub Region with name=" << subRegionName21
+            << "inside region=" << subRegionName2 << std::endl;
   RegionPtr subRptr21;
   try {
     subRptr21 = subRptr2->createSubregion(subRegionName21, rAttr);
   } catch (Exception& ex) {
-    cout << ex.getMessage() << endl;
+    std::cout << ex.getMessage() << std::endl;
     ASSERT(false, (char*)"subregion create failed");
   }
   VectorOfRegion vr;
   rptr->subregions(true, vr);
-  cout << "  vr.size=" << vr.size() << endl;
+  std::cout << "  vr.size=" << vr.size() << std::endl;
   ASSERT(vr.size() == totalSubRegions, "Number of Subregions does not match");
-  cout << "sub regions:" << endl;
+  std::cout << "sub regions:" << std::endl;
   uint32_t i = 0;
   for (i = 0; i < static_cast<uint32_t>(vr.size()); i++) {
-    cout << "vc[" << i << "]=" << vr.at(i)->getName() << endl;
+    std::cout << "vc[" << i << "]=" << vr.at(i)->getName() << std::endl;
   }
   vr.clear();
   VectorOfRegion vrp;
-  cout << "get cache root regions" << endl;
+  std::cout << "get cache root regions" << std::endl;
   cptr->rootRegions(vrp);
-  cout << "  vrp.size=" << vrp.size() << endl;
-  cout << "root regions in Cache:" << endl;
+  std::cout << "  vrp.size=" << vrp.size() << std::endl;
+  std::cout << "root regions in Cache:" << std::endl;
   for (i = 0; i < static_cast<uint32_t>(vrp.size()); i++) {
-    cout << "vc[" << i << "]=" << vrp.at(i)->getName() << endl;
+    std::cout << "vc[" << i << "]=" << vrp.at(i)->getName() << std::endl;
   }
   vr.clear();
   std::string root(regionName);
@@ -114,71 +116,71 @@ BEGIN_TEST(CacheFunction)
   std::string subRegion21(subRegionName21);
   std::string sptor("/");
   subRegion2 = root + sptor + subRegion2;
-  cout << "subRegion2=" << subRegion2.c_str() << endl;
+  std::cout << "subRegion2=" << subRegion2.c_str() << std::endl;
   subRegion1 = root + sptor + subRegion1;
-  cout << "subRegion1=" << subRegion1.c_str() << endl;
+  std::cout << "subRegion1=" << subRegion1.c_str() << std::endl;
   subRegion21 = subRegion2 + sptor + subRegion21;
-  cout << "subRegion21=" << subRegion21.c_str() << endl;
+  std::cout << "subRegion21=" << subRegion21.c_str() << std::endl;
   RegionPtr region;
-  cout << "find region:" << regionName << endl;
+  std::cout << "find region:" << regionName << std::endl;
   try {
     region = cptr->getRegion(root.c_str());
   } catch (Exception& ex) {
-    cout << ex.getMessage() << endl;
+    std::cout << ex.getMessage() << std::endl;
     ASSERT(false, (char*)"getRegion");
   }
   if (region == nullptr) {
     ASSERT(false, (char*)"did not find it");
   } else {
-    cout << "found :" << region->getName() << endl;
+    std::cout << "found :" << region->getName() << std::endl;
   }
-  cout << "find region:" << subRegionName1 << endl;
+  std::cout << "find region:" << subRegionName1 << std::endl;
   try {
     region = cptr->getRegion(subRegion1.c_str());
   } catch (Exception& ex) {
-    cout << ex.getMessage() << endl;
+    std::cout << ex.getMessage() << std::endl;
     ASSERT(false, (char*)"getRegion");
   }
   if (region == nullptr) {
     ASSERT(false, (char*)"did not find it");
   } else {
-    cout << "found :" << region->getName() << endl;
+    std::cout << "found :" << region->getName() << std::endl;
   }
-  cout << "find region:" << subRegionName21 << endl;
+  std::cout << "find region:" << subRegionName21 << std::endl;
   try {
     region = cptr->getRegion(subRegion21.c_str());
   } catch (Exception& ex) {
-    cout << ex.getMessage() << endl;
+    std::cout << ex.getMessage() << std::endl;
     ASSERT(false, (char*)"getRegion");
   }
   if (region == nullptr) {
     ASSERT(false, (char*)"did not find it");
   } else {
-    cout << "found :" << region->getName() << endl;
+    std::cout << "found :" << region->getName() << std::endl;
   }
   subRegion21 = sptor + subRegion21;
-  cout << "find region:" << subRegionName21 << endl;
+  std::cout << "find region:" << subRegionName21 << std::endl;
   try {
     region = cptr->getRegion(subRegion21.c_str());
   } catch (Exception& ex) {
-    cout << ex.getMessage() << endl;
+    std::cout << ex.getMessage() << std::endl;
     ASSERT(false, (char*)"getRegion");
   }
   if (region == nullptr) {
     ASSERT(false, (char*)"did not find it");
   } else {
-    cout << "found :" << region->getName() << endl;
+    std::cout << "found :" << region->getName() << std::endl;
   }
   const char notExist[] = "/NotExistentRegion";
-  cout << "find region:" << notExist << endl;
+  std::cout << "find region:" << notExist << std::endl;
   try {
     region = cptr->getRegion(notExist);
   } catch (Exception& ex) {
-    cout << ex.getMessage() << endl;
+    std::cout << ex.getMessage() << std::endl;
     ASSERT(false, (char*)"getRegion");
   }
   if (region == nullptr) {
-    cout << "not found !" << endl;
+    std::cout << "not found !" << std::endl;
   } else {
     ASSERT(false, (char*)"found it");
   }

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testDataOutput.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testDataOutput.cpp b/src/cppcache/integration-test/testDataOutput.cpp
index f7671e9..cf9801a 100644
--- a/src/cppcache/integration-test/testDataOutput.cpp
+++ b/src/cppcache/integration-test/testDataOutput.cpp
@@ -17,29 +17,33 @@
 
 #define ROOT_NAME "testDataOutput"
 
-#include "fw_helper.hpp"
+#include <string>
+#include <iostream>
+
 #include <geode/DataOutput.hpp>
 #include <geode/DataInput.hpp>
 
+#include "fw_helper.hpp"
+
 using namespace apache::geode::client;
-using namespace test;
 
 void dumpnbytes(const uint8_t* buf, uint32_t length) {
   for (uint32_t i = 0; i < length; i++) {
-    cout << "buf[" << i << "] = " << hex << static_cast<int16_t>(buf[i]) << dec
-         << " " << static_cast<char>(buf[i]) << endl;
+    std::cout << "buf[" << i << "] = " << std::hex
+              << static_cast<int16_t>(buf[i]) << std::dec << " "
+              << static_cast<char>(buf[i]) << std::endl;
   }
 }
 void dumpnshorts(const uint16_t* buf, uint32_t length) {
   for (uint32_t i = 0; i < length; i++) {
-    cout << "buf[" << i << "] = " << hex << static_cast<uint16_t>(buf[i]) << dec
-         << endl;
+    std::cout << "buf[" << i << "] = " << std::hex
+              << static_cast<uint16_t>(buf[i]) << std::dec << std::endl;
   }
 }
 void dumpnwords(const uint32_t* buf, uint32_t length) {
   for (uint32_t i = 0; i < length; i++) {
-    cout << "buf[" << i << "] = " << hex << static_cast<uint32_t>(buf[i]) << dec
-         << endl;
+    std::cout << "buf[" << i << "] = " << std::hex
+              << static_cast<uint32_t>(buf[i]) << std::dec << std::endl;
   }
 }
 
@@ -208,7 +212,7 @@ BEGIN_TEST(NarrowStrings)
     dataOutput.writeASCII(strOrig);
 
     const uint8_t* buffer = dataOutput.getBuffer();
-    cout << "Wrote to buffer..." << endl;
+    std::cout << "Wrote to buffer..." << std::endl;
     dumpnbytes(buffer, 14);
 
     ASSERT(buffer[0] == 0x00, "wrong utf encoding.");
@@ -230,7 +234,7 @@ BEGIN_TEST(NarrowStrings)
     char* str = nullptr;
     uint16_t res_length;
     dataInput.readASCII(&str, &res_length);
-    cout << "Read from buffer..." << endl;
+    std::cout << "Read from buffer..." << std::endl;
     ASSERT(str != nullptr, "expected non-null str");
     ASSERT(res_length == 12, "expected length 12.");
     dumpnbytes(reinterpret_cast<uint8_t*>(str), 12);
@@ -255,7 +259,7 @@ BEGIN_TEST(WideStrings)
     dataOutput.writeUTF(strOrig, 5);
 
     const uint8_t* buffer = dataOutput.getBuffer();
-    cout << "Wrote to buffer..." << endl;
+    std::cout << "Wrote to buffer..." << std::endl;
     dumpnbytes(buffer, 12);
 
     ASSERT(buffer[0] == 0x00, "wrong utf encoding.");
@@ -270,14 +274,14 @@ BEGIN_TEST(WideStrings)
     ASSERT(buffer[9] == 0xef, "wrong utf encoding.");
     ASSERT(buffer[10] == 0xbf, "wrong utf encoding.");
     ASSERT(buffer[11] == 0xbf, "wrong utf encoding.");
-    cout << "sizeof wchar_t " << sizeof(wchar_t) << endl;
+    std::cout << "sizeof wchar_t " << sizeof(wchar_t) << std::endl;
     DataInput dataInput(buffer, dataOutput.getBufferLength());
     wchar_t* str = nullptr;
     uint16_t res_length;
     dataInput.readUTF(&str, &res_length);
     ASSERT(str != nullptr, "expected non-null str");
     ASSERT(res_length == 5, "expected length 5.");
-    cout << "Read from buffer..." << endl;
+    std::cout << "Read from buffer..." << std::endl;
     dumpnshorts(reinterpret_cast<uint16_t*>(str), 5);
 
     ASSERT(str[0] == 0x00, "wrong decoded value");

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testDunit.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testDunit.cpp b/src/cppcache/integration-test/testDunit.cpp
index 0650816..0830854 100644
--- a/src/cppcache/integration-test/testDunit.cpp
+++ b/src/cppcache/integration-test/testDunit.cpp
@@ -17,6 +17,8 @@
 
 #define ROOT_NAME "testDunit"
 
+#include <iostream>
+
 #include "fw_dunit.hpp"
 #include <geode/GeodeCppCache.hpp>
 
@@ -75,7 +77,7 @@ END_TASK(Test4)
 
 DUNIT_TASK(s1p1, TestA)
   {
-    test::cout << "SlaveTest = " << getSlaveTest() << test::endl;
+    std::cout << "SlaveTest = " << getSlaveTest() << std::endl;
     ASSERT(getSlaveTest() == 8,
            "a previous slave must have failed undetected.");
     dunit::globals()->dump();

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testEntriesMap.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testEntriesMap.cpp b/src/cppcache/integration-test/testEntriesMap.cpp
index 708fef8..9b169b1 100644
--- a/src/cppcache/integration-test/testEntriesMap.cpp
+++ b/src/cppcache/integration-test/testEntriesMap.cpp
@@ -17,6 +17,8 @@
 
 #define ROOT_NAME "testEntriesMap"
 
+#include <iostream>
+
 #include "fw_helper.hpp"
 
 #ifdef WIN32
@@ -36,7 +38,6 @@ END_TEST(NotOnWindows)
 #include <LocalRegion.hpp>
 
 using namespace apache::geode::client;
-using namespace std;
 
 typedef std::vector<MapEntryImplPtr> VectorOfMapEntry;
 
@@ -486,9 +487,9 @@ BEGIN_TEST(EntriesTest)
       CacheablePtr ccPtr;
       ccPtr = rePtr->getValue();
       ctPtr = std::dynamic_pointer_cast<CacheableString>(ccPtr);
-      test::cout << "value is " << ctPtr->asChar() << test::endl;
+      std::cout << "value is " << ctPtr->asChar() << std::endl;
       int val = atoi(ctPtr->asChar());
-      test::cout << "atoi returned " << val << test::endl;
+      std::cout << "atoi returned " << val << std::endl;
       total += val;
       entriesVec->pop_back();
     }
@@ -622,7 +623,7 @@ BEGIN_TEST(TestRehash)
       entries->get(keyPtr, cvPtr, me);
       valuePtr = std::dynamic_pointer_cast<CacheableString>(cvPtr);
       if (valuePtr == nullptr) {
-        test::cout << "error finding key: " << keyBuf << test::endl;
+        std::cout << "error finding key: " << keyBuf << std::endl;
         FAIL("should have found value for all keys after rehash.");
       }
     }

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testExpiration.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testExpiration.cpp b/src/cppcache/integration-test/testExpiration.cpp
index ce11215..342b8bb 100644
--- a/src/cppcache/integration-test/testExpiration.cpp
+++ b/src/cppcache/integration-test/testExpiration.cpp
@@ -27,7 +27,7 @@ ExpirationAction::Action action = ExpirationAction::DESTROY;
 
 // This test is for serially running the tests.
 
-int getNumOfEntries(RegionPtr& R1) {
+size_t getNumOfEntries(RegionPtr& R1) {
   VectorOfCacheableKey v;
   R1->keys(v);
   LOGFINE("Number of keys in region %s is %d", R1->getFullPath(), v.size());
@@ -98,7 +98,7 @@ BEGIN_TEST(TEST_EXPIRATION)
 
     CacheImpl* cacheImpl = CacheRegionHelper::getCacheImpl(cache.get());
 
-    int n;
+    size_t n;
 
     RegionAttributesPtr attrs_1;
     // ettl = 0, eit = 0, rttl = 0, reit = 0
@@ -180,7 +180,7 @@ BEGIN_TEST(TEST_EXPIRATION)
 
     n = getNumOfEntries(R5);
 
-    printf("n ==  %d\n", n);
+    printf("n ==  %zd\n", n);
     ASSERT(n == 1, "Expected 1 entry");
 
     // ACE_OS::sleep(3);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testFWHelper.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testFWHelper.cpp b/src/cppcache/integration-test/testFWHelper.cpp
index a026377..7cabf38 100644
--- a/src/cppcache/integration-test/testFWHelper.cpp
+++ b/src/cppcache/integration-test/testFWHelper.cpp
@@ -17,21 +17,20 @@
 
 #define ROOT_NAME "testFWHelper"
 
-#include "fw_helper.hpp"
+#include <iostream>
 
-using test::cout;
-using test::endl;
+#include "fw_helper.hpp"
 
 /**
  * @brief Test a test runs.
  */
 BEGIN_TEST(TestOne)
-  cout << "test 1." << endl;
+  std::cout << "test 1." << std::endl;
 END_TEST(TestOne)
 
 /**
  * @brief Test a test runs.
  */
 BEGIN_TEST(TestTwo)
-  cout << "test 2." << endl;
+  std::cout << "test 2." << std::endl;
 END_TEST(TestTwo)

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testLRUList.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testLRUList.cpp b/src/cppcache/integration-test/testLRUList.cpp
index 058983d..7a51370 100644
--- a/src/cppcache/integration-test/testLRUList.cpp
+++ b/src/cppcache/integration-test/testLRUList.cpp
@@ -17,6 +17,8 @@
 
 #define ROOT_NAME "testLRUList"
 
+#include <iostream>
+
 #include "fw_helper.hpp"
 
 #ifdef WIN32
@@ -33,9 +35,8 @@ END_TEST(NotOnWindows)
 #include <geode/GeodeCppCache.hpp>
 
 using namespace apache::geode::client;
-using namespace test;
 
-class MyNode : public SharedBase, public LRUEntryProperties {
+class MyNode : public LRUEntryProperties {
  public:
   static MyNode* create(const CacheableKeyPtr& key = nullptr) {
     return new MyNode();
@@ -51,7 +52,7 @@ class MyNode : public SharedBase, public LRUEntryProperties {
   int m_value;
 };
 
-typedef SharedPtr<MyNode> MyNodePtr;
+typedef std::shared_ptr<MyNode> MyNodePtr;
 
 /**
  * @brief Test the LRU-ness of the LRUList.
@@ -68,7 +69,7 @@ BEGIN_TEST(LRUListTest)
       // add each node to list
       lruList.appendEntry(tenNodes[i]);
       auto myPtr = std::dynamic_pointer_cast<MyNode>(tenNodes[i]);
-      cout << "  appendEntry( " << myPtr->getValue() << " )" << endl;
+      std::cout << "  appendEntry( " << myPtr->getValue() << " )" << std::endl;
     }
 
     // now mark odd indexed nodes recently used.
@@ -82,7 +83,7 @@ BEGIN_TEST(LRUListTest)
     for (int k = 0; k < 10; k += 2) {
       lruList.getLRUEntry(aNode);
       sprintf(msgbuf, "expected node %d", k);
-      cout << " gotEntry( " << aNode->getValue() << " )" << endl;
+      std::cout << " gotEntry( " << aNode->getValue() << " )" << std::endl;
       ASSERT(aNode == tenNodes[k], msgbuf);
     }
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testOverflowPutGetSqLite.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testOverflowPutGetSqLite.cpp b/src/cppcache/integration-test/testOverflowPutGetSqLite.cpp
index 3bce446..ffac596 100644
--- a/src/cppcache/integration-test/testOverflowPutGetSqLite.cpp
+++ b/src/cppcache/integration-test/testOverflowPutGetSqLite.cpp
@@ -17,13 +17,17 @@
 
 #define ROOT_NAME "testOverflowPutGetSqLite"
 
+#include <string>
+#include <iostream>
+
+#include <ace/OS.h>
+
 #include <geode/GeodeCppCache.hpp>
 
 #include "fw_helper.hpp"
 #include <CacheableToken.hpp>
 #include <MapEntry.hpp>
 #include <CacheRegionHelper.hpp>
-#include <ace/OS.h>
 
 using namespace apache::geode::client;
 
@@ -228,10 +232,10 @@ void testEntryDestroy(RegionPtr& regionPtr, uint32_t num) {
   CacheablePtr valuePtr;
   for (uint32_t i = 45; i < 50; i++) {
     try {
-      test::cout << "try to destroy key" << i << test::endl;
+      std::cout << "try to destroy key" << i << std::endl;
       regionPtr->destroy(v.at(i));
     } catch (Exception& ex) {
-      test::cout << ex.getMessage() << test::endl;
+      std::cout << ex.getMessage() << std::endl;
       ASSERT(false, (char*)"entry missing");
     }
   }
@@ -246,10 +250,10 @@ void testEntryInvalidate(RegionPtr& regionPtr, uint32_t num) {
   CacheablePtr valuePtr;
   for (uint32_t i = 40; i < 45; i++) {
     try {
-      test::cout << "try to invalidate key" << i << test::endl;
+      std::cout << "try to invalidate key" << i << std::endl;
       regionPtr->invalidate(v.at(i));
     } catch (Exception& ex) {
-      test::cout << ex.getMessage() << test::endl;
+      std::cout << ex.getMessage() << std::endl;
       ASSERT(false, (char*)"entry missing");
     }
   }

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testRegionMap.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testRegionMap.cpp b/src/cppcache/integration-test/testRegionMap.cpp
index df268b2..9f7fbd6 100644
--- a/src/cppcache/integration-test/testRegionMap.cpp
+++ b/src/cppcache/integration-test/testRegionMap.cpp
@@ -15,13 +15,12 @@
  * limitations under the License.
  */
 
+#include <iostream>
+
 #include <geode/GeodeCppCache.hpp>
 
 #include "fw_helper.hpp"
 
-using test::cout;
-using test::endl;
-
 using namespace apache::geode::client;
 
 #define ROOT_NAME "testRegionMap"
@@ -36,7 +35,7 @@ BEGIN_TEST(TestRegionLRULastTen)
   CacheHelper& cacheHelper = CacheHelper::getHelper();
   RegionPtr regionPtr;
   cacheHelper.createLRURegion(fwtest_Name, regionPtr);
-  cout << regionPtr->getFullPath() << endl;
+  std::cout << regionPtr->getFullPath() << std::endl;
   // put more than 10 items... verify limit is held.
   uint32_t i;
   for (i = 0; i < 10; i++) {
@@ -108,7 +107,7 @@ BEGIN_TEST(TestRegionLRULocal)
   CacheHelper& cacheHelper = CacheHelper::getHelper();
   RegionPtr regionPtr;
   cacheHelper.createLRURegion(fwtest_Name, regionPtr);
-  cout << regionPtr->getFullPath() << endl;
+  std::cout << regionPtr->getFullPath() << std::endl;
   // put more than 10 items... verify limit is held.
   uint32_t i;
   /** @TODO make this local scope and re-increase the iterations... would also
@@ -137,7 +136,7 @@ BEGIN_TEST(TestRecentlyUsedBit)
   CacheHelper& cacheHelper = CacheHelper::getHelper();
   RegionPtr regionPtr;
   cacheHelper.createLRURegion(fwtest_Name, regionPtr);
-  cout << regionPtr->getFullPath() << endl;
+  std::cout << regionPtr->getFullPath() << std::endl;
   // put more than 10 items... verify limit is held.
   uint32_t i;
   char buf[100];
@@ -182,7 +181,7 @@ BEGIN_TEST(TestEmptiedMap)
   CacheHelper& cacheHelper = CacheHelper::getHelper();
   RegionPtr regionPtr;
   cacheHelper.createLRURegion(fwtest_Name, regionPtr);
-  cout << regionPtr->getFullPath() << endl;
+  std::cout << regionPtr->getFullPath() << std::endl;
   // put more than 10 items... verify limit is held.
   uint32_t i;
   for (i = 0; i < 10; i++) {
@@ -201,8 +200,9 @@ BEGIN_TEST(TestEmptiedMap)
     sprintf(buf, "%d", i);
     CacheableKeyPtr key = CacheableKey::create(buf);
     regionPtr->destroy(key);
-    cout << "removed key " << std::dynamic_pointer_cast<CacheableString>(key)->asChar()
-         << endl;
+    std::cout << "removed key "
+              << std::dynamic_pointer_cast<CacheableString>(key)->asChar()
+              << std::endl;
   }
   VectorOfCacheableKey vecKeys;
   regionPtr->keys(vecKeys);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testSerialization.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testSerialization.cpp b/src/cppcache/integration-test/testSerialization.cpp
index 5678ff4..52ae925 100644
--- a/src/cppcache/integration-test/testSerialization.cpp
+++ b/src/cppcache/integration-test/testSerialization.cpp
@@ -43,8 +43,8 @@ int32_t g_classIdToReturn2 = 0x1234;
 int32_t g_classIdToReturn4 = 0x123456;
 
 template <class T>
-SharedPtr<T> duplicate(const SharedPtr<T>& orig) {
-  SharedPtr<T> result;
+std::shared_ptr<T> duplicate(const std::shared_ptr<T>& orig) {
+  std::shared_ptr<T> result;
   DataOutput dout;
   SerializationRegistry::serialize(orig, dout);
   // dout.writeObject(orig);
@@ -198,13 +198,13 @@ ENDTASK
 DUNIT_TASK(NoDist, OtherTypeInMemory)
   {
     Serializable::registerType(OtherType::createDeserializable);
-    SharedPtr<OtherType> ot(new OtherType());
+    std::shared_ptr<OtherType> ot(new OtherType());
     ot->m_struct.a = 1;
     ot->m_struct.b = true;
     ot->m_struct.c = 2;
     ot->m_struct.d = 3.0;
 
-    SharedPtr<OtherType> copy = duplicate(ot);
+    std::shared_ptr<OtherType> copy = duplicate(ot);
 
     ASSERT(copy->classId() == g_classIdToReturn, "unexpected classId");
     if (copy->classId() > 0xFFFF) {

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientConflation.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientConflation.cpp b/src/cppcache/integration-test/testThinClientConflation.cpp
index 69cd95b..aa93b8b 100644
--- a/src/cppcache/integration-test/testThinClientConflation.cpp
+++ b/src/cppcache/integration-test/testThinClientConflation.cpp
@@ -77,7 +77,7 @@ class OperMonitor : public CacheListener {
     ASSERT(m_value == 5, buf);
   }
 };
-typedef SharedPtr<OperMonitor> OperMonitorPtr;
+typedef std::shared_ptr<OperMonitor> OperMonitorPtr;
 
 void setCacheListener(const char* regName, OperMonitorPtr monitor) {
   RegionPtr reg = getHelper()->getRegion(regName);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientCq.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientCq.cpp b/src/cppcache/integration-test/testThinClientCq.cpp
index c60e8da..5317e4a 100644
--- a/src/cppcache/integration-test/testThinClientCq.cpp
+++ b/src/cppcache/integration-test/testThinClientCq.cpp
@@ -228,7 +228,7 @@ class MyCqStatusListener : public CqStatusListener {
     m_cqsConnectedCount = 0;
   }
 };
-typedef SharedPtr<MyCqStatusListener> MyCqStatusListenerPtr;
+typedef std::shared_ptr<MyCqStatusListener> MyCqStatusListenerPtr;
 
 DUNIT_TASK_DEFINITION(LOCATORSERVER, CreateLocator)
   {

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientCqDelta.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientCqDelta.cpp b/src/cppcache/integration-test/testThinClientCqDelta.cpp
index 5f38a10..ab07d5a 100644
--- a/src/cppcache/integration-test/testThinClientCqDelta.cpp
+++ b/src/cppcache/integration-test/testThinClientCqDelta.cpp
@@ -57,8 +57,7 @@ class CqDeltaListener : public CqListener {
       m_deltaCount++;
     }
     DeltaTestImplPtr dptr =
-        std::static_pointer_cast<GF_UNWRAP_SP(DeltaTestImplPtr)>(
-            aCqEvent.getNewValue());
+        std::static_pointer_cast<DeltaTestImpl>(aCqEvent.getNewValue());
     if (dptr->getIntVar() == 5) {
       m_valueCount++;
     }
@@ -71,7 +70,7 @@ class CqDeltaListener : public CqListener {
   int m_deltaCount;
   int m_valueCount;
 };
-typedef SharedPtr<CqDeltaListener> CqDeltaListenerPtr;
+typedef std::shared_ptr<CqDeltaListener> CqDeltaListenerPtr;
 CqDeltaListenerPtr g_CqListener;
 
 void initClient(const bool isthinClient) {

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientExecuteFunctionPrSHOP.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientExecuteFunctionPrSHOP.cpp b/src/cppcache/integration-test/testThinClientExecuteFunctionPrSHOP.cpp
index 5087fe4..3a11922 100644
--- a/src/cppcache/integration-test/testThinClientExecuteFunctionPrSHOP.cpp
+++ b/src/cppcache/integration-test/testThinClientExecuteFunctionPrSHOP.cpp
@@ -102,7 +102,7 @@ class MyResultCollector : public ResultCollector {
   uint32_t m_addResultCount;
   uint32_t m_getResultCount;
 };
-typedef SharedPtr<MyResultCollector> MyResultCollectorPtr;
+typedef std::shared_ptr<MyResultCollector> MyResultCollectorPtr;
 class MyResultCollector2 : public ResultCollector {
  public:
   MyResultCollector2()
@@ -150,7 +150,7 @@ class MyResultCollector2 : public ResultCollector {
   uint32_t m_addResultCount;
   uint32_t m_getResultCount;
 };
-typedef SharedPtr<MyResultCollector2> MyResultCollectorPtr2;
+typedef std::shared_ptr<MyResultCollector2> MyResultCollectorPtr2;
 
 DUNIT_TASK_DEFINITION(LOCATOR1, StartLocator1)
   {

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientHAEventIDMap.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientHAEventIDMap.cpp b/src/cppcache/integration-test/testThinClientHAEventIDMap.cpp
index 93c55cc..ba7b6b9 100644
--- a/src/cppcache/integration-test/testThinClientHAEventIDMap.cpp
+++ b/src/cppcache/integration-test/testThinClientHAEventIDMap.cpp
@@ -74,7 +74,7 @@ class DupChecker : public CacheListener {
   virtual void afterRegionDestroy(const RegionEvent& event){};
 };
 
-typedef SharedPtr<DupChecker> DupCheckerPtr;
+typedef std::shared_ptr<DupChecker> DupCheckerPtr;
 
 ///////////////////////////////////////////////////////
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientHAPeriodicAck.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientHAPeriodicAck.cpp b/src/cppcache/integration-test/testThinClientHAPeriodicAck.cpp
index f2960fd..d347c34 100644
--- a/src/cppcache/integration-test/testThinClientHAPeriodicAck.cpp
+++ b/src/cppcache/integration-test/testThinClientHAPeriodicAck.cpp
@@ -74,7 +74,7 @@ class DupChecker : public CacheListener {
   virtual void afterRegionDestroy(const RegionEvent& event){};
 };
 
-typedef SharedPtr<DupChecker> DupCheckerPtr;
+typedef std::shared_ptr<DupChecker> DupCheckerPtr;
 
 ///////////////////////////////////////////////////////
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientInterest1Cacheless.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientInterest1Cacheless.cpp b/src/cppcache/integration-test/testThinClientInterest1Cacheless.cpp
index a534389..8e628b2 100644
--- a/src/cppcache/integration-test/testThinClientInterest1Cacheless.cpp
+++ b/src/cppcache/integration-test/testThinClientInterest1Cacheless.cpp
@@ -30,7 +30,7 @@ using namespace test;
 
 class MyListener;
 
-typedef apache::geode::client::SharedPtr<MyListener> MyListenerPtr;
+typedef std::shared_ptr<MyListener> MyListenerPtr;
 
 class MyListener : public CacheListener {
   uint8_t m_gotit[5];
@@ -43,7 +43,8 @@ class MyListener : public CacheListener {
     auto keyPtr = std::dynamic_pointer_cast<CacheableString>(event.getKey());
     for (int i = 0; i < 5; i++) {
       if (!ACE_OS::strcmp(keys[i], keyPtr->asChar())) {
-        auto valPtr = std::dynamic_pointer_cast<CacheableString>(event.getNewValue());
+        auto valPtr =
+            std::dynamic_pointer_cast<CacheableString>(event.getNewValue());
         if (!ACE_OS::strcmp(vals[i], valPtr->asChar())) m_gotit[i] = 1;
         break;
       }

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientInterestNotify.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientInterestNotify.cpp b/src/cppcache/integration-test/testThinClientInterestNotify.cpp
index fcf5073..222d979 100644
--- a/src/cppcache/integration-test/testThinClientInterestNotify.cpp
+++ b/src/cppcache/integration-test/testThinClientInterestNotify.cpp
@@ -48,7 +48,8 @@ class EventListener : public CacheListener {
 
     try {
       auto keyPtr = std::dynamic_pointer_cast<CacheableString>(event.getKey());
-      auto valuePtr = std::dynamic_pointer_cast<CacheableInt32>(event.getNewValue());
+      auto valuePtr =
+          std::dynamic_pointer_cast<CacheableInt32>(event.getNewValue());
 
       sprintf(
           buf, "%s: %s: Key = %s, NewValue = %s", m_name.c_str(), eventType,
@@ -123,7 +124,7 @@ class EventListener : public CacheListener {
     ASSERT(m_destroys == destroys, logmsg);
   }
 };
-typedef SharedPtr<EventListener> EventListenerPtr;
+typedef std::shared_ptr<EventListener> EventListenerPtr;
 
 void setCacheListener(const char* regName, EventListenerPtr monitor) {
   RegionPtr reg = getHelper()->getRegion(regName);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientLRUExpiration.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientLRUExpiration.cpp b/src/cppcache/integration-test/testThinClientLRUExpiration.cpp
index 0de53fe..7f79204 100644
--- a/src/cppcache/integration-test/testThinClientLRUExpiration.cpp
+++ b/src/cppcache/integration-test/testThinClientLRUExpiration.cpp
@@ -201,7 +201,7 @@ size_t getNumOfEntries(const char* regName, bool isValue = false) {
   if (isValue) {
     VectorOfCacheable v;
     rptr->values(v);
-    printf("Region value size: %d\n", v.size());
+    printf("Region value size: %zd\n", v.size());
     return v.size();
   } else if (!useRegionSize) {
     VectorOfCacheableKey v;

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientListenerCallbackArgTest.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientListenerCallbackArgTest.cpp b/src/cppcache/integration-test/testThinClientListenerCallbackArgTest.cpp
index a2fc966..69fcac2 100644
--- a/src/cppcache/integration-test/testThinClientListenerCallbackArgTest.cpp
+++ b/src/cppcache/integration-test/testThinClientListenerCallbackArgTest.cpp
@@ -45,7 +45,7 @@ const char* locatorsG =
 using namespace apache::geode::client;
 class CallbackListener;
 
-typedef apache::geode::client::SharedPtr<CallbackListener> CallbackListenerPtr;
+typedef std::shared_ptr<CallbackListener> CallbackListenerPtr;
 
 class CallbackListener : public CacheListener {
  private:
@@ -109,8 +109,10 @@ class CallbackListener : public CacheListener {
       } catch (const ClassCastException& ex) {
         LOGFINE(" in class cast exception %s ", ex.getMessage());
         try {
-          auto fromCallback = std::dynamic_pointer_cast<CacheableString>(eventCallback);
-          auto mCallback = std::dynamic_pointer_cast<CacheableString>(m_callbackArg);
+          auto fromCallback =
+              std::dynamic_pointer_cast<CacheableString>(eventCallback);
+          auto mCallback =
+              std::dynamic_pointer_cast<CacheableString>(m_callbackArg);
 
           LOGFINE(" values are %s === %s ", fromCallback->asChar(),
                   mCallback->asChar());

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientListenerEvents.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientListenerEvents.cpp b/src/cppcache/integration-test/testThinClientListenerEvents.cpp
index 8d2ee3f..1db1bda 100644
--- a/src/cppcache/integration-test/testThinClientListenerEvents.cpp
+++ b/src/cppcache/integration-test/testThinClientListenerEvents.cpp
@@ -30,8 +30,7 @@ using namespace test;
 using namespace apache::geode::client;
 class SimpleCacheListener;
 
-typedef apache::geode::client::SharedPtr<SimpleCacheListener>
-    SimpleCacheListenerPtr;
+typedef std::shared_ptr<SimpleCacheListener> SimpleCacheListenerPtr;
 
 // Use the "geode" namespace.
 using namespace apache::geode::client;

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientPoolExecuteFunction.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientPoolExecuteFunction.cpp b/src/cppcache/integration-test/testThinClientPoolExecuteFunction.cpp
index b32b2a7..c6a90cb 100644
--- a/src/cppcache/integration-test/testThinClientPoolExecuteFunction.cpp
+++ b/src/cppcache/integration-test/testThinClientPoolExecuteFunction.cpp
@@ -294,7 +294,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
       if (executeFunctionResult == nullptr) {
         ASSERT(false, "echo String : executeFunctionResult is nullptr");
       } else {
-        sprintf(buf, "echo String : result count = %d",
+        sprintf(buf, "echo String : result count = %zd",
                 executeFunctionResult->size());
         LOG(buf);
         if (auto csp = std::dynamic_pointer_cast<CacheableString>(
@@ -318,7 +318,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
       if (executeFunctionResult == nullptr) {
         ASSERT(false, "echo String : executeFunctionResult is nullptr");
       } else {
-        sprintf(buf, "echo String : result count = %d",
+        sprintf(buf, "echo String : result count = %zd",
                 executeFunctionResult->size());
         LOG(buf);
         const char* str = std::dynamic_pointer_cast<CacheableString>(
@@ -335,7 +335,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
       if (executeFunctionResult == nullptr) {
         ASSERT(false, "echo Boolean: executeFunctionResult is nullptr");
       } else {
-        sprintf(buf, "echo Boolean: result count = %d",
+        sprintf(buf, "echo Boolean: result count = %zd",
                 executeFunctionResult->size());
         LOG(buf);
         bool b = std::dynamic_pointer_cast<CacheableBoolean>(
@@ -372,7 +372,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "Region get: result count = %d", resultList->size());
+        sprintf(buf, "Region get: result count = %zd", resultList->size());
         LOG(buf);
         ASSERT(resultList->size() == 34,
                "region get: resultList count is not 34");
@@ -421,10 +421,10 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
              item++) {
           resultList->push_back(executeFunctionResult->operator[](item));
         }
-        sprintf(buf, "Region get new collector: result list count = %d",
+        sprintf(buf, "Region get new collector: result list count = %zd",
                 resultList->size());
         LOG(buf);
-        sprintf(buf, "Region get new collector: result count = %d",
+        sprintf(buf, "Region get new collector: result count = %zd",
                 executeFunctionResult->size());
         LOG(buf);
         ASSERT(
@@ -464,7 +464,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
       if (executeFunctionResult == nullptr) {
         ASSERT(false, "get executeFunctionResult is nullptr");
       } else {
-        sprintf(buf, "echo String : result count = %d",
+        sprintf(buf, "echo String : result count = %zd",
                 executeFunctionResult->size());
         LOGINFO(buf);
         resultList->clear();
@@ -479,7 +479,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "get result count = %d", resultList->size());
+        sprintf(buf, "get result count = %zd", resultList->size());
         LOGINFO(buf);
         ASSERT(resultList->size() == 34,
                "get executeFunctionResult count is not 34");
@@ -655,7 +655,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "get result count = %d", resultList->size());
+        sprintf(buf, "get result count = %zd", resultList->size());
         LOG(buf);
         ASSERT(resultList->size() == 17,
                "get executeFunctionResult count is not 17");
@@ -877,9 +877,9 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "get result count = %d", resultList->size());
+        sprintf(buf, "get result count = %zd", resultList->size());
         LOG(buf);
-        printf("resultlist size: %d", resultList->size());
+        printf("resultlist size: %zd", resultList->size());
         ASSERT(resultList->size() == 51,
                "get executeFunctionResult on all servers count is not 51");
         for (int32_t i = 0; i < resultList->size(); i++) {
@@ -1043,7 +1043,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client2OpTest)
       if (fe == nullptr) {
         ASSERT(false, "functionResult is nullptr");
       } else {
-        sprintf(buf, "result count = %d", fe->size());
+        sprintf(buf, "result count = %zd", fe->size());
         LOG(buf);
         for (int i = 0; i < fe->size(); i++) {
           bool b =
@@ -1063,7 +1063,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client2OpTest)
       if (vec == nullptr) {
         ASSERT(false, "functionResult is nullptr");
       } else {
-        sprintf(buf, "result count = %d", vec->size());
+        sprintf(buf, "result count = %zd", vec->size());
         LOG(buf);
         for (int i = 0; i < vec->size(); i++) {
           bool b =
@@ -1083,7 +1083,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client2OpTest)
       if (vecs == nullptr) {
         ASSERT(false, "functionResult is nullptr");
       } else {
-        sprintf(buf, "result count = %d", vecs->size());
+        sprintf(buf, "result count = %zd", vecs->size());
         LOG(buf);
         for (int i = 0; i < vecs->size(); i++) {
           bool b =

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientPoolExecuteFunctionPrSHOP.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientPoolExecuteFunctionPrSHOP.cpp b/src/cppcache/integration-test/testThinClientPoolExecuteFunctionPrSHOP.cpp
index 164308f..307ec1b 100644
--- a/src/cppcache/integration-test/testThinClientPoolExecuteFunctionPrSHOP.cpp
+++ b/src/cppcache/integration-test/testThinClientPoolExecuteFunctionPrSHOP.cpp
@@ -285,7 +285,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
       if (executeFunctionResult == nullptr) {
         ASSERT(false, "echo String : executeFunctionResult is nullptr");
       } else {
-        sprintf(buf, "echo String : result count = %d",
+        sprintf(buf, "echo String : result count = %zd",
                 executeFunctionResult->size());
         LOG(buf);
         if (auto csp = std::dynamic_pointer_cast<CacheableString>(
@@ -309,7 +309,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
       if (executeFunctionResult == nullptr) {
         ASSERT(false, "echo String : executeFunctionResult is nullptr");
       } else {
-        sprintf(buf, "echo String : result count = %d",
+        sprintf(buf, "echo String : result count = %zd",
                 executeFunctionResult->size());
         LOG(buf);
         const char* str = std::dynamic_pointer_cast<CacheableString>(
@@ -326,7 +326,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
       if (executeFunctionResult == nullptr) {
         ASSERT(false, "echo Boolean: executeFunctionResult is nullptr");
       } else {
-        sprintf(buf, "echo Boolean: result count = %d",
+        sprintf(buf, "echo Boolean: result count = %zd",
                 executeFunctionResult->size());
         LOG(buf);
         bool b = std::dynamic_pointer_cast<CacheableBoolean>(
@@ -363,7 +363,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "Region get: result count = %d", resultList->size());
+        sprintf(buf, "Region get: result count = %zd", resultList->size());
         LOG(buf);
         ASSERT(resultList->size() == 34,
                "region get: resultList count is not 34");
@@ -412,10 +412,10 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
              item++) {
           resultList->push_back(executeFunctionResult->operator[](item));
         }
-        sprintf(buf, "Region get new collector: result list count = %d",
+        sprintf(buf, "Region get new collector: result list count = %zd",
                 resultList->size());
         LOG(buf);
-        sprintf(buf, "Region get new collector: result count = %d",
+        sprintf(buf, "Region get new collector: result count = %zd",
                 executeFunctionResult->size());
         LOG(buf);
         ASSERT(
@@ -455,7 +455,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
       if (executeFunctionResult == nullptr) {
         ASSERT(false, "get executeFunctionResult is nullptr");
       } else {
-        sprintf(buf, "echo String : result count = %d",
+        sprintf(buf, "echo String : result count = %zd",
                 executeFunctionResult->size());
         LOGINFO(buf);
         resultList->clear();
@@ -470,7 +470,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "get result count = %d", resultList->size());
+        sprintf(buf, "get result count = %zd", resultList->size());
         LOGINFO(buf);
         ASSERT(resultList->size() == 34,
                "get executeFunctionResult count is not 34");
@@ -646,7 +646,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "get result count = %d", resultList->size());
+        sprintf(buf, "get result count = %zd", resultList->size());
         LOG(buf);
         ASSERT(resultList->size() == 17,
                "get executeFunctionResult count is not 17");
@@ -868,9 +868,9 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "get result count = %d", resultList->size());
+        sprintf(buf, "get result count = %zd", resultList->size());
         LOG(buf);
-        printf("resultlist size: %d", resultList->size());
+        printf("resultlist size: %zd", resultList->size());
         ASSERT(resultList->size() == 51,
                "get executeFunctionResult on all servers count is not 51");
         for (int32_t i = 0; i < resultList->size(); i++) {
@@ -1020,7 +1020,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
         if (executeFunctionResult2 == nullptr) {
           ASSERT(false, "executeFunctionResult2 is nullptr");
         } else {
-          sprintf(buf, "executeFunctionResult2 count = %d",
+          sprintf(buf, "executeFunctionResult2 count = %zd",
                   executeFunctionResult2->size());
           LOGINFO(buf);
           ASSERT(1 == executeFunctionResult2->size(),
@@ -1043,7 +1043,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
         if (functionResult == nullptr) {
           ASSERT(false, "functionResult is nullptr");
         } else {
-          sprintf(buf, "result count = %d", functionResult->size());
+          sprintf(buf, "result count = %zd", functionResult->size());
           LOGINFO(buf);
           ASSERT(1 == functionResult->size(),
                  "functionResult->size() is not 1");
@@ -1069,7 +1069,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
       if (fe == nullptr) {
         ASSERT(false, "functionResult is nullptr");
       } else {
-        sprintf(buf, "result count = %d", fe->size());
+        sprintf(buf, "result count = %zd", fe->size());
         LOG(buf);
         // ASSERT(2  == fe->size(), "FunctionResult->size() is not 2");
         for (int i = 0; i < fe->size(); i++) {
@@ -1091,7 +1091,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
       if (vec == nullptr) {
         ASSERT(false, "functionResult is nullptr");
       } else {
-        sprintf(buf, "result count = %d", vec->size());
+        sprintf(buf, "result count = %zd", vec->size());
         LOG(buf);
         ASSERT(1 == vec->size(), "FunctionResult->size() is not 1");
         for (int i = 0; i < vec->size(); i++) {
@@ -1112,7 +1112,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
       if (vecs == nullptr) {
         ASSERT(false, "functionResult is nullptr");
       } else {
-        sprintf(buf, "result count = %d", vecs->size());
+        sprintf(buf, "result count = %zd", vecs->size());
         LOG(buf);
         ASSERT(3 == vecs->size(), "FunctionResult->size() is not 3");
         for (int i = 0; i < vecs->size(); i++) {

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientPoolExecuteFunctionThrowsException.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientPoolExecuteFunctionThrowsException.cpp b/src/cppcache/integration-test/testThinClientPoolExecuteFunctionThrowsException.cpp
index fa5fc77..64d5811 100644
--- a/src/cppcache/integration-test/testThinClientPoolExecuteFunctionThrowsException.cpp
+++ b/src/cppcache/integration-test/testThinClientPoolExecuteFunctionThrowsException.cpp
@@ -160,7 +160,7 @@ class MyResultCollector : public ResultCollector {
   uint32_t m_addResultCount;
   uint32_t m_getResultCount;
 };
-typedef SharedPtr<MyResultCollector> MyResultCollectorPtr;
+typedef std::shared_ptr<MyResultCollector> MyResultCollectorPtr;
 
 DUNIT_TASK_DEFINITION(LOCATOR1, StartLocator1)
   {

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientPoolExecuteHAFunction.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientPoolExecuteHAFunction.cpp b/src/cppcache/integration-test/testThinClientPoolExecuteHAFunction.cpp
index 1c5a41a..baf1703 100644
--- a/src/cppcache/integration-test/testThinClientPoolExecuteHAFunction.cpp
+++ b/src/cppcache/integration-test/testThinClientPoolExecuteHAFunction.cpp
@@ -214,7 +214,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
       if (executeFunctionResult == nullptr) {
         ASSERT(false, "get executeFunctionResult is nullptr");
       } else {
-        sprintf(buf, "echo String : result count = %d",
+        sprintf(buf, "echo String : result count = %zd",
                 executeFunctionResult->size());
         LOG(buf);
         resultList->clear();
@@ -229,7 +229,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "get result count = %d", resultList->size());
+        sprintf(buf, "get result count = %zd", resultList->size());
         LOG(buf);
         ASSERT(resultList->size() == 17,
                "get executeFunctionResult count is not 17");
@@ -258,7 +258,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
       if (executeFunctionResult == nullptr) {
         ASSERT(false, "get executeFunctionResult is nullptr");
       } else {
-        sprintf(buf, "echo String : result count = %d",
+        sprintf(buf, "echo String : result count = %zd",
                 executeFunctionResult->size());
         LOG(buf);
         resultList->clear();
@@ -273,7 +273,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "get result count = %d", resultList->size());
+        sprintf(buf, "get result count = %zd", resultList->size());
         LOG(buf);
         ASSERT(resultList->size() == 17,
                "get executeFunctionResult count is not 17");
@@ -342,7 +342,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OnServerHATest)
       if (executeFunctionResult == nullptr) {
         ASSERT(false, "get executeFunctionResult is nullptr");
       } else {
-        sprintf(buf, "echo String : result count = %d",
+        sprintf(buf, "echo String : result count = %zd",
                 executeFunctionResult->size());
         LOG(buf);
         resultList->clear();
@@ -356,7 +356,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OnServerHATest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "get result count = %d", resultList->size());
+        sprintf(buf, "get result count = %zd", resultList->size());
         LOG(buf);
         ASSERT(resultList->size() == 17,
                "get executeFunctionResult count is not 17");
@@ -381,7 +381,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OnServerHATest)
       if (executeFunctionResult1 == nullptr) {
         ASSERT(false, "get executeFunctionResult1 is nullptr");
       } else {
-        sprintf(buf, "echo String : result count = %d",
+        sprintf(buf, "echo String : result count = %zd",
                 executeFunctionResult1->size());
         LOG(buf);
         resultList->clear();
@@ -395,7 +395,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OnServerHATest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "get result count = %d", resultList->size());
+        sprintf(buf, "get result count = %zd", resultList->size());
         LOG(buf);
         ASSERT(resultList->size() == 17,
                "get executeFunctionResult1 count is not 17");

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientPoolExecuteHAFunctionPrSHOP.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientPoolExecuteHAFunctionPrSHOP.cpp b/src/cppcache/integration-test/testThinClientPoolExecuteHAFunctionPrSHOP.cpp
index d012ac9..14a274a 100644
--- a/src/cppcache/integration-test/testThinClientPoolExecuteHAFunctionPrSHOP.cpp
+++ b/src/cppcache/integration-test/testThinClientPoolExecuteHAFunctionPrSHOP.cpp
@@ -213,7 +213,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
       if (executeFunctionResult == nullptr) {
         ASSERT(false, "get executeFunctionResult is nullptr");
       } else {
-        sprintf(buf, "echo String : result count = %d",
+        sprintf(buf, "echo String : result count = %zd",
                 executeFunctionResult->size());
         LOG(buf);
         resultList->clear();
@@ -228,7 +228,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OpTest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "get result count = %d", resultList->size());
+        sprintf(buf, "get result count = %zd", resultList->size());
         LOG(buf);
         ASSERT(resultList->size() == 17,
                "get executeFunctionResult count is not 17");
@@ -294,7 +294,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OnServerHATest)
       if (executeFunctionResult == nullptr) {
         ASSERT(false, "get executeFunctionResult is nullptr");
       } else {
-        sprintf(buf, "echo String : result count = %d",
+        sprintf(buf, "echo String : result count = %zd",
                 executeFunctionResult->size());
         LOG(buf);
         resultList->clear();
@@ -308,7 +308,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OnServerHATest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "get result count = %d", resultList->size());
+        sprintf(buf, "get result count = %zd", resultList->size());
         LOG(buf);
         ASSERT(resultList->size() == 17,
                "get executeFunctionResult count is not 17");
@@ -333,7 +333,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OnServerHATest)
       if (executeFunctionResult1 == nullptr) {
         ASSERT(false, "get executeFunctionResult1 is nullptr");
       } else {
-        sprintf(buf, "echo String : result count = %d",
+        sprintf(buf, "echo String : result count = %zd",
                 executeFunctionResult1->size());
         LOG(buf);
         resultList->clear();
@@ -347,7 +347,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, Client1OnServerHATest)
             resultList->push_back(arrayList->operator[](pos));
           }
         }
-        sprintf(buf, "get result count = %d", resultList->size());
+        sprintf(buf, "get result count = %zd", resultList->size());
         LOG(buf);
         ASSERT(resultList->size() == 17,
                "get executeFunctionResult1 count is not 17");

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientRemoteQueryRS.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientRemoteQueryRS.cpp b/src/cppcache/integration-test/testThinClientRemoteQueryRS.cpp
index d8e1db2..788214a 100644
--- a/src/cppcache/integration-test/testThinClientRemoteQueryRS.cpp
+++ b/src/cppcache/integration-test/testThinClientRemoteQueryRS.cpp
@@ -199,13 +199,13 @@ DUNIT_TASK_DEFINITION(CLIENT1, StepFour)
           SerializablePtr ser = (*rsptr)[rows];
           if (std::dynamic_pointer_cast<Portfolio>(ser)) {
             PortfolioPtr portfolio =
-                std::static_pointer_cast<GF_UNWRAP_SP(PortfolioPtr)>(ser);
+                std::static_pointer_cast<Portfolio>(ser);
             printf(
                 "   query idx %d pulled portfolio object ID %d, pkid  :: %s\n",
                 i, portfolio->getID(), portfolio->getPkid()->asChar());
           } else if (std::dynamic_pointer_cast<Position>(ser)) {
             PositionPtr position =
-                std::static_pointer_cast<GF_UNWRAP_SP(PositionPtr)>(ser);
+                std::static_pointer_cast<Position>(ser);
             printf(
                 "   query idx %d pulled position object secId %s, shares  :: "
                 "%d\n",
@@ -224,14 +224,14 @@ DUNIT_TASK_DEFINITION(CLIENT1, StepFour)
           SerializablePtr pdxser = (*rsptr)[rows];
           if (std::dynamic_pointer_cast<PortfolioPdx>(pdxser)) {
             PortfolioPdxPtr portfoliopdx =
-                std::static_pointer_cast<GF_UNWRAP_SP(PortfolioPdxPtr)>(pdxser);
+                std::static_pointer_cast<PortfolioPdx>(pdxser);
             printf(
                 "   query idx %d pulled portfolioPdx object ID %d, pkid %s  :: "
                 "\n",
                 i, portfoliopdx->getID(), portfoliopdx->getPkid());
           } else if (std::dynamic_pointer_cast<PositionPdx>(pdxser)) {
             PositionPdxPtr positionpdx =
-                std::static_pointer_cast<GF_UNWRAP_SP(PositionPdxPtr)>(pdxser);
+                std::static_pointer_cast<PositionPdx>(pdxser);
             printf(
                 "   query idx %d pulled positionPdx object secId %s, shares %d "
                 " "
@@ -315,14 +315,14 @@ DUNIT_TASK_DEFINITION(CLIENT1, StepFive)
             SerializablePtr ser = (*rsptr)[rows];
             if (std::dynamic_pointer_cast<Portfolio>(ser)) {
               PortfolioPtr portfolio =
-                  std::static_pointer_cast<GF_UNWRAP_SP(PortfolioPtr)>(ser);
+                  std::static_pointer_cast<Portfolio>(ser);
               printf(
                   "   query idx %d pulled portfolio object ID %d, pkid  :: "
                   "%s\n",
                   i, portfolio->getID(), portfolio->getPkid()->asChar());
             } else if (std::dynamic_pointer_cast<Position>(ser)) {
               PositionPtr position =
-                  std::static_pointer_cast<GF_UNWRAP_SP(PositionPtr)>(ser);
+                  std::static_pointer_cast<Position>(ser);
               printf(
                   "   query idx %d pulled position object secId %s, shares  :: "
                   "%d\n",
@@ -341,7 +341,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, StepFive)
             SerializablePtr pdxser = (*rsptr)[rows];
             if (std::dynamic_pointer_cast<PortfolioPdx>(pdxser)) {
               PortfolioPdxPtr portfoliopdx =
-                  std::static_pointer_cast<GF_UNWRAP_SP(PortfolioPdxPtr)>(
+                  std::static_pointer_cast<PortfolioPdx>(
                       pdxser);
               printf(
                   "   query idx %d pulled portfolioPdx object ID %d, pkid %s  "
@@ -350,7 +350,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, StepFive)
                   i, portfoliopdx->getID(), portfoliopdx->getPkid());
             } else if (std::dynamic_pointer_cast<PositionPdx>(pdxser)) {
               PositionPdxPtr positionpdx =
-                  std::static_pointer_cast<GF_UNWRAP_SP(PositionPdxPtr)>(
+                  std::static_pointer_cast<PositionPdx>(
                       pdxser);
               printf(
                   "   query idx %d pulled positionPdx object secId %s, shares "
@@ -442,13 +442,13 @@ DUNIT_TASK_DEFINITION(CLIENT1, StepSix)
             SerializablePtr ser = (*rsptr)[rows];
             if (std::dynamic_pointer_cast<Portfolio>(ser)) {
               PortfolioPtr portfolio =
-                  std::static_pointer_cast<GF_UNWRAP_SP(PortfolioPtr)>(ser);
+                  std::static_pointer_cast<Portfolio>(ser);
               printf(
                   "   query idx %d pulled portfolio object ID %d, pkid %s : \n",
                   i, portfolio->getID(), portfolio->getPkid()->asChar());
             } else if (std::dynamic_pointer_cast<Position>(ser)) {
               PositionPtr position =
-                  std::static_pointer_cast<GF_UNWRAP_SP(PositionPtr)>(ser);
+                  std::static_pointer_cast<Position>(ser);
               printf(
                   "   query idx %d pulled position object secId %s, shares %d  "
                   ": "
@@ -468,7 +468,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, StepSix)
             SerializablePtr ser = (*rsptr)[rows];
             if (std::dynamic_pointer_cast<PortfolioPdx>(ser)) {
               PortfolioPdxPtr portfoliopdx =
-                  std::static_pointer_cast<GF_UNWRAP_SP(PortfolioPdxPtr)>(ser);
+                  std::static_pointer_cast<PortfolioPdx>(ser);
               printf(
                   "   query idx %d pulled portfolioPdx object ID %d, pkid %s  "
                   ": "
@@ -476,7 +476,7 @@ DUNIT_TASK_DEFINITION(CLIENT1, StepSix)
                   i, portfoliopdx->getID(), portfoliopdx->getPkid());
             } else if (std::dynamic_pointer_cast<PositionPdx>(ser)) {
               PositionPdxPtr positionpdx =
-                  std::static_pointer_cast<GF_UNWRAP_SP(PositionPdxPtr)>(ser);
+                  std::static_pointer_cast<PositionPdx>(ser);
               printf(
                   "   query idx %d pulled positionPdx object secId %s, shares "
                   "%d "

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testThinClientRemoteQuerySS.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testThinClientRemoteQuerySS.cpp b/src/cppcache/integration-test/testThinClientRemoteQuerySS.cpp
index 77ca605..70b1e83 100644
--- a/src/cppcache/integration-test/testThinClientRemoteQuerySS.cpp
+++ b/src/cppcache/integration-test/testThinClientRemoteQuerySS.cpp
@@ -116,7 +116,7 @@ void _printFields(CacheablePtr field, Struct* ssptr, int32_t& fields) {
                      std::dynamic_pointer_cast<CacheableHashMap>(field)) {
         int index = 0;
         for (const auto& iter : *map) {
-          printf("   hashMap %d of %d ... \n", ++index, map->size());
+          printf("   hashMap %d of %zd ... \n", ++index, map->size());
           _printFields(iter.first, ssptr, fields);
           _printFields(iter.second, ssptr, fields);
         }

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/integration-test/testXmlCacheCreationWithOverFlow.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/integration-test/testXmlCacheCreationWithOverFlow.cpp b/src/cppcache/integration-test/testXmlCacheCreationWithOverFlow.cpp
index e02db11..28eb479 100644
--- a/src/cppcache/integration-test/testXmlCacheCreationWithOverFlow.cpp
+++ b/src/cppcache/integration-test/testXmlCacheCreationWithOverFlow.cpp
@@ -19,11 +19,12 @@
 
 #include <geode/GeodeCppCache.hpp>
 
-#include "fw_helper.hpp"
 #include <string>
+#include <iostream>
+
+#include "fw_helper.hpp"
 
 using namespace apache::geode::client;
-using namespace test;
 
 int testXmlCacheCreationWithOverflow() {
   char* host_name = (char*)"XML_CACHE_CREATION_TEST";
@@ -35,7 +36,7 @@ int testXmlCacheCreationWithOverflow() {
   char* path = ACE_OS::getenv("TESTSRC");
   std::string directory(path);
 
-  cout << "create DistributedSytem with name=" << host_name << endl;
+  std::cout << "create DistributedSytem with name=" << host_name << std::endl;
   try {
     cacheFactory = CacheFactory::createCacheFactory();
   } catch (Exception& ex) {
@@ -44,9 +45,9 @@ int testXmlCacheCreationWithOverflow() {
     return -1;
   }
 
-  cout << "Create cache with the configurations provided in "
+  std::cout << "Create cache with the configurations provided in "
           "valid_overflowAttr.xml"
-       << endl;
+       << std::endl;
 
   try {
     std::string filePath = directory + "/non-existent.xml";
@@ -63,17 +64,17 @@ int testXmlCacheCreationWithOverflow() {
   /// return 0;
   try {
     std::string filePath = directory + "/valid_overflowAttr.xml";
-    cout << "getPdxIgnoreUnreadFields should return true.1" << endl;
+    std::cout << "getPdxIgnoreUnreadFields should return true.1" << std::endl;
     cptr = cacheFactory->set("cache-xml-file", filePath.c_str())->create();
     if (cptr->getPdxIgnoreUnreadFields() != false) {
-      cout << "getPdxIgnoreUnreadFields should return true." << endl;
+      std::cout << "getPdxIgnoreUnreadFields should return true." << std::endl;
       return -1;
     } else {
-      cout << "getPdxIgnoreUnreadFields returned true." << endl;
+      std::cout << "getPdxIgnoreUnreadFields returned true." << std::endl;
     }
     // return 0;
   } catch (Exception& ex) {
-    cout << "getPdxIgnoreUnreadFields should return true2." << endl;
+    std::cout << "getPdxIgnoreUnreadFields should return true2." << std::endl;
     ex.showMessage();
     ex.printStackTrace();
     return -1;
@@ -83,42 +84,42 @@ int testXmlCacheCreationWithOverflow() {
   }
 
   VectorOfRegion vrp;
-  cout << "Test if number of root regions are correct" << endl;
+  std::cout << "Test if number of root regions are correct" << std::endl;
   cptr->rootRegions(vrp);
-  cout << "  vrp.size=" << vrp.size() << endl;
+  std::cout << "  vrp.size=" << vrp.size() << std::endl;
 
   if (vrp.size() != totalRootRegions) {
-    cout << "Number of root regions does not match" << endl;
+    std::cout << "Number of root regions does not match" << std::endl;
     return -1;
   }
 
-  cout << "Root regions in Cache :" << endl;
+  std::cout << "Root regions in Cache :" << std::endl;
   for (int32_t i = 0; i < vrp.size(); i++) {
-    cout << "vc[" << i << "].m_reaPtr=" << vrp.at(i).get() << endl;
-    cout << "vc[" << i << "]=" << vrp.at(i)->getName() << endl;
+    std::cout << "vc[" << i << "].m_reaPtr=" << vrp.at(i).get() << std::endl;
+    std::cout << "vc[" << i << "]=" << vrp.at(i)->getName() << std::endl;
   }
   RegionPtr regPtr1 = vrp.at(0);
 
   uint32_t i ATTR_UNUSED = 0;
   VectorOfRegion vr;
-  cout << "Test if the number of sub regions with the root region Root1 are "
+  std::cout << "Test if the number of sub regions with the root region Root1 are "
           "correct"
-       << endl;
+       << std::endl;
   regPtr1->subregions(true, vr);
-  cout << "  vr.size=" << vr.size() << endl;
+  std::cout << "  vr.size=" << vr.size() << std::endl;
   if (vr.size() != totalSubRegionsRoot1) {
-    cout << "Number of Subregions does not match" << endl;
+    std::cout << "Number of Subregions does not match" << std::endl;
     return -1;
   }
 
-  cout << "get subregions from the root region :" << vrp.at(0)->getName()
-       << endl;
+  std::cout << "get subregions from the root region :" << vrp.at(0)->getName()
+       << std::endl;
   for (int32_t i = 0; i < vr.size(); i++) {
-    cout << "vc[" << i << "].m_reaPtr=" << vr.at(i).get() << endl;
-    cout << "vc[" << i << "]=" << vr.at(i)->getName() << endl;
+    std::cout << "vc[" << i << "].m_reaPtr=" << vr.at(i).get() << std::endl;
+    std::cout << "vc[" << i << "]=" << vr.at(i)->getName() << std::endl;
   }
 
-  cout << "Test if the nesting of regions is correct" << endl;
+  std::cout << "Test if the nesting of regions is correct" << std::endl;
   const char* parentName;
   const char* childName;
   RegionPtr regPtr2 = vrp.at(1);
@@ -132,58 +133,58 @@ int testXmlCacheCreationWithOverflow() {
     parentName = (x.get())->getName();
     if (strcmp(childName, "SubSubRegion221") == 0) {
       if (strcmp(parentName, "SubRegion22") != 0) {
-        cout << "Incorrect parent: tree structure not formed correctly" << endl;
+        std::cout << "Incorrect parent: tree structure not formed correctly" << std::endl;
         return -1;
       }
     }
   }
-  cout << "****Correct region tree structure created from valid_cache.xml****"
-       << endl;
+  std::cout << "****Correct region tree structure created from valid_cache.xml****"
+       << std::endl;
 
   vr.clear();
   vrp.clear();
 
-  cout << "Test the attributes of region" << endl;
+  std::cout << "Test the attributes of region" << std::endl;
 
   RegionAttributesPtr raPtr = regPtr1->getAttributes();
   RegionAttributes* regAttr = raPtr.get();
-  cout << "Attributes of root region Root1 are : " << endl;
+  std::cout << "Attributes of root region Root1 are : " << std::endl;
 
   bool cachingEnabled = regAttr->getCachingEnabled();
-  cout << "Caching-enabled :true" << endl;
+  std::cout << "Caching-enabled :true" << std::endl;
   if (!cachingEnabled) {
     return -1;
   }
   int lruEL = regAttr->getLruEntriesLimit();
-  cout << "lru-entries-limit : 35" << endl;
+  std::cout << "lru-entries-limit : 35" << std::endl;
   if (lruEL != 35) {
     return -1;
   }
   int concurrency = regAttr->getConcurrencyLevel();
-  cout << "concurrency-level : 10" << endl;
+  std::cout << "concurrency-level : 10" << std::endl;
   if (concurrency != 10) {
     return -1;
   }
   int initialCapacity = regAttr->getInitialCapacity();
-  cout << "initial-capacity : 25" << endl;
+  std::cout << "initial-capacity : 25" << std::endl;
   if (initialCapacity != 25) {
     return -1;
   }
   int regionIdleTO = regAttr->getRegionIdleTimeout();
-  cout << "RegionIdleTimeout:20 " << endl;
+  std::cout << "RegionIdleTimeout:20 " << std::endl;
   if (regionIdleTO != 20) {
     return -1;
   }
 
   ExpirationAction::Action action1 = regAttr->getRegionIdleTimeoutAction();
-  cout << "RegionIdleTimeoutAction : Destroy" << endl;
+  std::cout << "RegionIdleTimeoutAction : Destroy" << std::endl;
   if (action1 != ExpirationAction::DESTROY) {
     return -1;
   }
   const DiskPolicyType::PolicyType type = regAttr->getDiskPolicy();
-  cout << "DiskPolicy : overflows" << endl;
+  std::cout << "DiskPolicy : overflows" << std::endl;
   if (type != DiskPolicyType::OVERFLOWS) {
-    cout << " diskpolicy is not overflows " << endl;
+    std::cout << " diskpolicy is not overflows " << std::endl;
     return -1;
   }
 
@@ -191,37 +192,36 @@ int testXmlCacheCreationWithOverflow() {
   const char* libFun = regAttr->getPersistenceFactory();
   printf(" persistence library1 = %s\n", lib);
   printf(" persistence function1 = %s\n", libFun);
-  cout << "persistence library = " << regAttr->getPersistenceLibrary() << endl;
-  cout << "persistence function = " << regAttr->getPersistenceFactory() << endl;
+  std::cout << "persistence library = " << regAttr->getPersistenceLibrary() << std::endl;
+  std::cout << "persistence function = " << regAttr->getPersistenceFactory() << std::endl;
   PropertiesPtr pconfig = regAttr->getPersistenceProperties();
   if (pconfig != nullptr) {
-    cout << " persistence property is not null" << endl;
-    cout << " persistencedir = "
-         << pconfig->find("PersistenceDirectory")->asChar() << endl;
-    cout << " pagesize = " << pconfig->find("PageSize")->asChar() << endl;
-    cout << " maxpagecount = " << pconfig->find("MaxPageCount")->asChar()
-         << endl;
+    std::cout << " persistence property is not null" << std::endl;
+    std::cout << " persistencedir = "
+         << pconfig->find("PersistenceDirectory")->asChar() << std::endl;
+    std::cout << " pagesize = " << pconfig->find("PageSize")->asChar() << std::endl;
+    std::cout << " maxpagecount = " << pconfig->find("MaxPageCount")->asChar()
+         << std::endl;
   }
-  cout << "****Attributes of Root1 are correctly set****" << endl;
+  std::cout << "****Attributes of Root1 are correctly set****" << std::endl;
 
   RegionAttributesPtr raPtr2 = regPtr2->getAttributes();
   const char* lib2 = raPtr2->getPersistenceLibrary();
   const char* libFun2 = raPtr2->getPersistenceFactory();
   printf(" persistence library2 = %s\n", lib2);
   printf(" persistence function2 = %s\n", libFun2);
-  cout << "persistence library = " << raPtr2->getPersistenceLibrary() << endl;
-  cout << "persistence function = " << raPtr2->getPersistenceFactory()
-       << endl;
+  std::cout << "persistence library = " << raPtr2->getPersistenceLibrary() << std::endl;
+  std::cout << "persistence function = " << raPtr2->getPersistenceFactory() << std::endl;
   PropertiesPtr pconfig2 = raPtr2->getPersistenceProperties();
   if (pconfig2 != nullptr) {
-    cout << " persistence property is not null for Root2" << endl;
-    cout << " persistencedir2 = "
-         << pconfig2->find("PersistenceDirectory")->asChar() << endl;
-    cout << " pagesize2 = " << pconfig->find("PageSize")->asChar() << endl;
-    cout << " maxpagecount2 = " << pconfig->find("MaxPageCount")->asChar()
-         << endl;
+    std::cout << " persistence property is not null for Root2" << std::endl;
+    std::cout << " persistencedir2 = "
+         << pconfig2->find("PersistenceDirectory")->asChar() << std::endl;
+    std::cout << " pagesize2 = " << pconfig->find("PageSize")->asChar() << std::endl;
+    std::cout << " maxpagecount2 = " << pconfig->find("MaxPageCount")->asChar()
+         << std::endl;
   }
-  cout << "Destroy region" << endl;
+  std::cout << "Destroy region" << std::endl;
   try {
     regPtr1->localDestroyRegion();
     regPtr2->localDestroyRegion();
@@ -240,66 +240,66 @@ int testXmlCacheCreationWithOverflow() {
   }
   ////////////////////////////testing of cache.xml completed///////////////////
 
-  cout << "Create cache with the configurations provided in the "
+  std::cout << "Create cache with the configurations provided in the "
           "invalid_overflowAttr1.xml."
-       << endl;
-  cout << "This is a well-formed xml....attributes not provided for "
+       << std::endl;
+  std::cout << "This is a well-formed xml....attributes not provided for "
           "persistence manager. exception should be thrown"
-       << endl;
+       << std::endl;
 
   try {
     std::string filePath = directory + "/invalid_overflowAttr1.xml";
     cptr = cacheFactory->set("cache-xml-file", filePath.c_str())->create();
     return -1;
   } catch (Exception& ex) {
-    cout << endl;
+    std::cout << std::endl;
     ex.showMessage();
     ex.printStackTrace();
   }
 
   ///////////////testing of invalid_cache1.xml completed///////////////////
 
-  cout << "Create cache with the configurations provided in the "
+  std::cout << "Create cache with the configurations provided in the "
           "invalid_overflowAttr2.xml."
-       << endl;
-  cout << " This is a well-formed xml....attribute values is not provided for "
+       << std::endl;
+  std::cout << " This is a well-formed xml....attribute values is not provided for "
           "persistence library name......should throw an exception"
-       << endl;
+       << std::endl;
 
   try {
     std::string filePath = directory + "/invalid_overflowAttr2.xml";
     cptr = cacheFactory->set("cache-xml-file", filePath.c_str())->create();
     return -1;
   } catch (CacheXmlException& ex) {
-    cout << endl;
+    std::cout << std::endl;
     ex.showMessage();
     ex.printStackTrace();
   }
 
   ///////////////testing of invalid_cache2.xml completed///////////////////
 
-  cout << "Create cache with the configurations provided in the "
+  std::cout << "Create cache with the configurations provided in the "
           "invalid_overflowAttr3.xml."
-       << endl;
+       << std::endl;
 
-  cout << "This is a well-formed xml....but region-attributes for persistence "
+  std::cout << "This is a well-formed xml....but region-attributes for persistence "
           "invalid......should throw an exception"
-       << endl;
+       << std::endl;
 
   try {
     std::string filePath = directory + "/invalid_overflowAttr3.xml";
     cptr = cacheFactory->set("cache-xml-file", filePath.c_str())->create();
     return -1;
   } catch (Exception& ex) {
-    cout << endl;
+    std::cout << std::endl;
     ex.showMessage();
     ex.printStackTrace();
   }
 
   ///////////////testing of invalid_cache3.xml completed///////////////////
-  cout << "disconnecting..." << endl;
+  std::cout << "disconnecting..." << std::endl;
   try {
-    cout << "just before disconnecting..." << endl;
+    std::cout << "just before disconnecting..." << std::endl;
     if (cptr != nullptr && !cptr->isClosed()) {
       cptr->close();
       cptr = nullptr;
@@ -309,8 +309,8 @@ int testXmlCacheCreationWithOverflow() {
     ex.printStackTrace();
     return -1;
   }
-  cout << "done with test" << endl;
-  cout << "Test successful!" << endl;
+  std::cout << "done with test" << std::endl;
+  std::cout << "Test successful!" << std::endl;
   return 0;
 }
 


[2/9] geode-native git commit: GEODE-2741: Removes last of SharedPtr/SharedBase.

Posted by jb...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ProxyRemoteQueryService.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ProxyRemoteQueryService.hpp b/src/cppcache/src/ProxyRemoteQueryService.hpp
index dcc36b6..e1c1f40 100644
--- a/src/cppcache/src/ProxyRemoteQueryService.hpp
+++ b/src/cppcache/src/ProxyRemoteQueryService.hpp
@@ -20,7 +20,7 @@
  * limitations under the License.
  */
 #include <geode/geode_globals.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 #include "CqService.hpp"
 #include "UserAttributes.hpp"
 #include <geode/QueryService.hpp>
@@ -68,7 +68,7 @@ class CPPCACHE_EXPORT ProxyRemoteQueryService : public QueryService {
   friend class ProxyCache;
 };
 
-typedef SharedPtr<ProxyRemoteQueryService> ProxyRemoteQueryServicePtr;
+typedef std::shared_ptr<ProxyRemoteQueryService> ProxyRemoteQueryServicePtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PutAllPartialResult.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PutAllPartialResult.hpp b/src/cppcache/src/PutAllPartialResult.hpp
index 91854a5..f0ad50f 100644
--- a/src/cppcache/src/PutAllPartialResult.hpp
+++ b/src/cppcache/src/PutAllPartialResult.hpp
@@ -29,7 +29,7 @@ namespace apache {
 namespace geode {
 namespace client {
 class PutAllPartialResult;
-typedef SharedPtr<PutAllPartialResult> PutAllPartialResultPtr;
+typedef std::shared_ptr<PutAllPartialResult> PutAllPartialResultPtr;
 
 class PutAllPartialResult : public Serializable {
  private:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PutAllPartialResultServerException.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PutAllPartialResultServerException.hpp b/src/cppcache/src/PutAllPartialResultServerException.hpp
index 5989bb4..1457408 100644
--- a/src/cppcache/src/PutAllPartialResultServerException.hpp
+++ b/src/cppcache/src/PutAllPartialResultServerException.hpp
@@ -30,7 +30,7 @@ namespace geode {
 namespace client {
 
 class PutAllPartialResultServerException;
-typedef SharedPtr<PutAllPartialResultServerException>
+typedef std::shared_ptr<PutAllPartialResultServerException>
     PutAllPartialResultServerExceptionPtr;
 
 /**
@@ -68,37 +68,37 @@ class CPPCACHE_EXPORT PutAllPartialResultServerException : public Serializable {
   CacheableStringPtr getMessage();
 
   /**
-  * @brief destructor
-  */
+   * @brief destructor
+   */
   virtual ~PutAllPartialResultServerException() {}
 
   /**
-  * @brief constructors
-  */
+   * @brief constructors
+   */
   PutAllPartialResultServerException(CacheableStringPtr msg);
 
   /**
-  *@brief serialize this object
-  * @throws IllegalStateException If this api is called from User code.
-  **/
+   *@brief serialize this object
+   * @throws IllegalStateException If this api is called from User code.
+   **/
   virtual void toData(DataOutput& output) const;
 
   /**
-  *@brief deserialize this object, typical implementation should return
-  * the 'this' pointer.
-  * @throws IllegalStateException If this api is called from User code.
-  **/
+   *@brief deserialize this object, typical implementation should return
+   * the 'this' pointer.
+   * @throws IllegalStateException If this api is called from User code.
+   **/
   virtual Serializable* fromData(DataInput& input);
 
   /**
-  *@brief Return the classId of the instance being serialized.
-  * This is used by deserialization to determine what instance
-  * type to create and deserialize into.
-  *
-  * The classId must be unique within an application suite.
-  * Using a negative value may result in undefined behavior.
-  * @throws IllegalStateException If this api is called from User code.
-  */
+   *@brief Return the classId of the instance being serialized.
+   * This is used by deserialization to determine what instance
+   * type to create and deserialize into.
+   *
+   * The classId must be unique within an application suite.
+   * Using a negative value may result in undefined behavior.
+   * @throws IllegalStateException If this api is called from User code.
+   */
   virtual int32_t classId() const;
 
   /**
@@ -109,7 +109,7 @@ class CPPCACHE_EXPORT PutAllPartialResultServerException : public Serializable {
    * cache memory utilization.
    * Note that you must implement this only if you use the HeapLRU feature.
    * @throws IllegalStateException If this api is called from User code.
- */
+   */
   virtual uint32_t objectSize() const;
 
   /**
@@ -123,9 +123,9 @@ class CPPCACHE_EXPORT PutAllPartialResultServerException : public Serializable {
   virtual int8_t typeId() const;
 
   /**
-  *@brief return as CacheableStringPtr the Exception name returned from geode
-  *sendException api.
-  **/
+   *@brief return as CacheableStringPtr the Exception name returned from geode
+   *sendException api.
+   **/
   CacheableStringPtr getName() {
     const char* msg = "PutAllPartialResultServerException";
     CacheableStringPtr str = CacheableString::create(msg);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/QueueConnectionResponse.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/QueueConnectionResponse.hpp b/src/cppcache/src/QueueConnectionResponse.hpp
index d46a3a3..4023c18 100644
--- a/src/cppcache/src/QueueConnectionResponse.hpp
+++ b/src/cppcache/src/QueueConnectionResponse.hpp
@@ -48,7 +48,7 @@ class QueueConnectionResponse : public ServerLocationResponse {
   std::list<ServerLocation> m_list;
   bool m_durableQueueFound;
 };
-typedef SharedPtr<QueueConnectionResponse> QueueConnectionResponsePtr;
+typedef std::shared_ptr<QueueConnectionResponse> QueueConnectionResponsePtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/RegionCommit.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/RegionCommit.hpp b/src/cppcache/src/RegionCommit.hpp
index 2de98b3..9458bee 100644
--- a/src/cppcache/src/RegionCommit.hpp
+++ b/src/cppcache/src/RegionCommit.hpp
@@ -27,9 +27,7 @@
  */
 
 #include <geode/geode_types.hpp>
-#include <geode/SharedBase.hpp>
 #include <geode/DataInput.hpp>
-#include <geode/VectorOfSharedBase.hpp>
 #include <geode/CacheableString.hpp>
 #include <geode/Cache.hpp>
 #include <vector>
@@ -41,7 +39,7 @@ namespace client {
 
 _GF_PTR_DEF_(RegionCommit, RegionCommitPtr);
 
-class RegionCommit : public apache::geode::client::SharedBase {
+class RegionCommit {
  public:
   RegionCommit(){};
   virtual ~RegionCommit(){};
@@ -56,7 +54,7 @@ class RegionCommit : public apache::geode::client::SharedBase {
  private:
   CacheableStringPtr m_regionPath;
   CacheableStringPtr m_parentRegionPath;
-  VectorOfSharedBase m_farSideEntryOps;
+  std::vector< std::shared_ptr<FarSideEntryOp> > m_farSideEntryOps;
 };
 }  // namespace client
 }  // namespace geode

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/RegionConfig.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/RegionConfig.hpp b/src/cppcache/src/RegionConfig.hpp
index 090a355..bbf6fb5 100644
--- a/src/cppcache/src/RegionConfig.hpp
+++ b/src/cppcache/src/RegionConfig.hpp
@@ -27,7 +27,7 @@
 //
 //////////////////////////////////////////////////////////////////////
 
-#include <geode/SharedPtr.hpp>
+#include <memory>
 
 #include <string>
 #include <geode/Properties.hpp>
@@ -38,9 +38,9 @@ namespace geode {
 namespace client {
 
 class RegionConfig;
-typedef SharedPtr<RegionConfig> RegionConfigPtr;
+typedef std::shared_ptr<RegionConfig> RegionConfigPtr;
 
-class CPPCACHE_EXPORT RegionConfig : virtual public SharedBase {
+class CPPCACHE_EXPORT RegionConfig {
  public:
   RegionConfig(const std::string& s, const std::string& c);
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/RegionInternal.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/RegionInternal.hpp b/src/cppcache/src/RegionInternal.hpp
index bf5a5ee..1b8c639 100644
--- a/src/cppcache/src/RegionInternal.hpp
+++ b/src/cppcache/src/RegionInternal.hpp
@@ -112,9 +112,9 @@ class CacheEventFlags {
 };
 
 class TombstoneList;
-typedef SharedPtr<TombstoneList> TombstoneListPtr;
+typedef std::shared_ptr<TombstoneList> TombstoneListPtr;
 class VersionTag;
-typedef SharedPtr<VersionTag> VersionTagPtr;
+typedef std::shared_ptr<VersionTag> VersionTagPtr;
 _GF_PTR_DEF_(MapEntryImpl, MapEntryImplPtr);
 /**
  * @class RegionInternal RegionInternal.hpp
@@ -292,7 +292,7 @@ class RegionInternal : public Region {
   RegionInternal& operator=(const RegionInternal&);
 };
 
-typedef SharedPtr<RegionInternal> RegionInternalPtr;
+typedef std::shared_ptr<RegionInternal> RegionInternalPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/RemoteQuery.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/RemoteQuery.hpp b/src/cppcache/src/RemoteQuery.hpp
index 3a44ce3..3140163 100644
--- a/src/cppcache/src/RemoteQuery.hpp
+++ b/src/cppcache/src/RemoteQuery.hpp
@@ -23,7 +23,7 @@
 #include <geode/geode_globals.hpp>
 #include <geode/geode_types.hpp>
 #include <geode/ExceptionTypes.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 
 #include <geode/Query.hpp>
 #include <geode/SelectResults.hpp>
@@ -80,7 +80,7 @@ class CPPCACHE_EXPORT RemoteQuery : public Query {
   bool isCompiled();
 };
 
-typedef SharedPtr<RemoteQuery> RemoteQueryPtr;
+typedef std::shared_ptr<RemoteQuery> RemoteQueryPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/RemoteQueryService.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/RemoteQueryService.hpp b/src/cppcache/src/RemoteQueryService.hpp
index c5bf8fb..ec9567d 100644
--- a/src/cppcache/src/RemoteQueryService.hpp
+++ b/src/cppcache/src/RemoteQueryService.hpp
@@ -20,7 +20,7 @@
  * limitations under the License.
  */
 #include <geode/geode_globals.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 #include "CqService.hpp"
 
 #include <geode/QueryService.hpp>
@@ -87,7 +87,7 @@ class CPPCACHE_EXPORT RemoteQueryService
   CqPoolsConnected m_CqPoolsConnected;
 };
 
-typedef SharedPtr<RemoteQueryService> RemoteQueryServicePtr;
+typedef std::shared_ptr<RemoteQueryService> RemoteQueryServicePtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/SharedPtr.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/SharedPtr.cpp b/src/cppcache/src/SharedPtr.cpp
deleted file mode 100644
index 5df113c..0000000
--- a/src/cppcache/src/SharedPtr.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include <geode/SharedPtr.hpp>
-#include <geode/ExceptionTypes.hpp>
-#include <Utils.hpp>
-
-#include <string>
-
-using namespace apache::geode::client;
-
-void SPEHelper::throwNullPointerException(const char* ptrtype) {
-  throw NullPointerException(Utils::demangleTypeName(ptrtype)->asChar(),
-                             nullptr, true);
-}
-
-void SPEHelper::throwClassCastException(const char* msg, const char* fromType,
-                                        const char* toType) {
-  std::string exMsg(msg);
-  exMsg +=
-      ((std::string) " from '" + Utils::demangleTypeName(fromType)->asChar() +
-       "' to '" + Utils::demangleTypeName(toType)->asChar() + "'.");
-  throw ClassCastException(exMsg.c_str());
-}

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/StackTrace.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/StackTrace.hpp b/src/cppcache/src/StackTrace.hpp
index 6e2e147..7aa5155 100644
--- a/src/cppcache/src/StackTrace.hpp
+++ b/src/cppcache/src/StackTrace.hpp
@@ -23,7 +23,7 @@
 #define GF_TRACE_LEN 25
 
 #include "StackFrame.hpp"
-#include <geode/SharedPtr.hpp>
+#include <memory>
 #include <string>
 #include <list>
 
@@ -32,9 +32,9 @@ namespace geode {
 namespace client {
 
 class StackTrace;
-typedef SharedPtr<StackTrace> StackTracePtr;
+typedef std::shared_ptr<StackTrace> StackTracePtr;
 #ifdef _WINDOWS
-class StackTrace : public SharedBase {
+class StackTrace {
  public:
   StackTrace();
   virtual ~StackTrace();
@@ -48,7 +48,7 @@ class StackTrace : public SharedBase {
   std::list<std::string> m_frames;
 };
 #else
-class StackTrace : public SharedBase {
+class StackTrace {
   StackFrame m_frames[GF_TRACE_LEN];
   int m_size;
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/TXCommitMessage.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/TXCommitMessage.cpp b/src/cppcache/src/TXCommitMessage.cpp
index cdea056..211450f 100644
--- a/src/cppcache/src/TXCommitMessage.cpp
+++ b/src/cppcache/src/TXCommitMessage.cpp
@@ -162,37 +162,13 @@ int8_t TXCommitMessage::typeId() const {
 Serializable* TXCommitMessage::create() { return new TXCommitMessage(); }
 
 void TXCommitMessage::apply(Cache* cache) {
-  for (VectorOfSharedBase::Iterator iter = m_regions.begin();
+  for (std::vector<RegionCommitPtr>::iterator iter = m_regions.begin();
        m_regions.end() != iter; iter++) {
-    RegionCommitPtr regionCommit =
-        std::static_pointer_cast<GF_UNWRAP_SP(RegionCommitPtr)>(*iter);
+    RegionCommitPtr regionCommit = std::static_pointer_cast<RegionCommit>(*iter);
     regionCommit->apply(cache);
   }
 }
-/*
-VectorOfEntryEvent TXCommitMessage::getEvents(Cache* cache)
-{
-        VectorOfEntryEvent events;
-        std::vector<FarSideEntryOpPtr> ops;
-        for(VectorOfSharedBase::Iterator iter = m_regions.begin();
-m_regions.end() != iter; iter++)
-        {
-                RegionCommitPtr regionCommit =
-std::static_pointer_cast<GF_UNWRAP_SP(RegionCommitPtr)>(*iter);
-                regionCommit->fillEvents(cache, ops);
-        }
-
-        std::sort(ops.begin(), ops.end(), FarSideEntryOp::cmp);
-
-        for(std::vector<FarSideEntryOpPtr>::iterator iter = ops.begin();
-ops.end() != iter; iter++)
-        {
-                events.push_back((*iter)->getEntryEvent(cache));
-        }
-
-        return events;
-}
-*/
+
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/TXCommitMessage.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/TXCommitMessage.hpp b/src/cppcache/src/TXCommitMessage.hpp
index 0a183c6..eb1b89b 100644
--- a/src/cppcache/src/TXCommitMessage.hpp
+++ b/src/cppcache/src/TXCommitMessage.hpp
@@ -19,18 +19,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-/*
- * TXCommitMessage.hpp
- *
- *  Created on: 21-Feb-2011
- *      Author: ankurs
- */
 
 #include <geode/geode_globals.hpp>
 #include <geode/geode_types.hpp>
 #include <geode/DataInput.hpp>
 #include "RegionCommit.hpp"
-#include <geode/VectorOfSharedBase.hpp>
 
 namespace apache {
 namespace geode {
@@ -55,7 +48,7 @@ class TXCommitMessage : public apache::geode::client::Cacheable {
   // UNUSED int32_t m_processorId;
   bool isAckRequired();
 
-  VectorOfSharedBase m_regions;
+  std::vector<RegionCommitPtr> m_regions;
 };
 }  // namespace client
 }  // namespace geode

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/TXEntryState.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/TXEntryState.hpp b/src/cppcache/src/TXEntryState.hpp
index 8e7f36b..702e7c5 100644
--- a/src/cppcache/src/TXEntryState.hpp
+++ b/src/cppcache/src/TXEntryState.hpp
@@ -34,7 +34,7 @@ namespace apache {
 namespace geode {
 namespace client {
 
-class TXEntryState : public apache::geode::client::SharedBase {
+class TXEntryState {
  public:
   TXEntryState();
   virtual ~TXEntryState();

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/TcrChunkedContext.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/TcrChunkedContext.hpp b/src/cppcache/src/TcrChunkedContext.hpp
index 94a4e15..c07c22c 100644
--- a/src/cppcache/src/TcrChunkedContext.hpp
+++ b/src/cppcache/src/TcrChunkedContext.hpp
@@ -41,7 +41,7 @@ namespace client {
  * Base class for holding chunked results, processing a chunk
  * and signalling end of chunks using semaphore.
  */
-class TcrChunkedResult : public SharedBase {
+class TcrChunkedResult {
  private:
   ACE_Semaphore* m_finalizeSema;
   ExceptionPtr m_ex;
@@ -62,7 +62,7 @@ class TcrChunkedResult : public SharedBase {
         m_inSameThread(false),
         appDomainContext(createAppDomainContext()),
         m_dsmemId(0) {}
-
+  virtual ~TcrChunkedResult() {}
   void setFinalizeSemaphore(ACE_Semaphore* finalizeSema) {
     m_finalizeSema = finalizeSema;
   }
@@ -124,7 +124,7 @@ class TcrChunkedResult : public SharedBase {
   inline ExceptionPtr& getException() { return m_ex; }
 };
 
-typedef SharedPtr<TcrChunkedResult> TcrChunkedResultPtr;
+typedef std::shared_ptr<TcrChunkedResult> TcrChunkedResultPtr;
 
 /**
  * Holds the context for a chunk including the chunk bytes, length and the

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ThinClientCacheDistributionManager.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ThinClientCacheDistributionManager.hpp b/src/cppcache/src/ThinClientCacheDistributionManager.hpp
index 15c7491..1d859a9 100644
--- a/src/cppcache/src/ThinClientCacheDistributionManager.hpp
+++ b/src/cppcache/src/ThinClientCacheDistributionManager.hpp
@@ -21,7 +21,7 @@
  */
 
 #include <geode/geode_globals.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 #include "ThinClientDistributionManager.hpp"
 
 namespace apache {
@@ -34,8 +34,7 @@ class TcrMessage;
 class TcrConnection;
 
 class CPPCACHE_EXPORT ThinClientCacheDistributionManager
-    : public ThinClientDistributionManager,
-      public SharedBase {
+    : public ThinClientDistributionManager {
  public:
   ThinClientCacheDistributionManager(TcrConnectionManager& connManager);
   ~ThinClientCacheDistributionManager(){};
@@ -60,7 +59,7 @@ class CPPCACHE_EXPORT ThinClientCacheDistributionManager
       const ThinClientCacheDistributionManager&);
 };
 
-typedef SharedPtr<ThinClientCacheDistributionManager>
+typedef std::shared_ptr<ThinClientCacheDistributionManager>
     ThinClientCacheDistributionManagerPtr;
 }  // namespace client
 }  // namespace geode

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ThinClientPoolDM.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ThinClientPoolDM.hpp b/src/cppcache/src/ThinClientPoolDM.hpp
index 0fb8a52..cc5d41e 100644
--- a/src/cppcache/src/ThinClientPoolDM.hpp
+++ b/src/cppcache/src/ThinClientPoolDM.hpp
@@ -432,7 +432,7 @@ class ThinClientPoolDM
   int m_primaryServerQueueSize;
 };
 
-typedef SharedPtr<ThinClientPoolDM> ThinClientPoolDMPtr;
+typedef std::shared_ptr<ThinClientPoolDM> ThinClientPoolDMPtr;
 class FunctionExecution : public PooledWork<GfErrType> {
   ThinClientPoolDM* m_poolDM;
   TcrEndpoint* m_ep;

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ThinClientPoolHADM.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ThinClientPoolHADM.hpp b/src/cppcache/src/ThinClientPoolHADM.hpp
index a286d3e..9783293 100644
--- a/src/cppcache/src/ThinClientPoolHADM.hpp
+++ b/src/cppcache/src/ThinClientPoolHADM.hpp
@@ -144,7 +144,7 @@ class ThinClientPoolHADM : public ThinClientPoolDM {
   friend class ThinClientRedundancyManager;
   static const char* NC_Redundancy;
 };
-typedef SharedPtr<ThinClientPoolHADM> ThinClientPoolHADMPtr;
+typedef std::shared_ptr<ThinClientPoolHADM> ThinClientPoolHADMPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ThinClientPoolStickyDM.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ThinClientPoolStickyDM.hpp b/src/cppcache/src/ThinClientPoolStickyDM.hpp
index 5fbd4d2..7ad228b 100644
--- a/src/cppcache/src/ThinClientPoolStickyDM.hpp
+++ b/src/cppcache/src/ThinClientPoolStickyDM.hpp
@@ -52,7 +52,7 @@ class ThinClientPoolStickyDM : public ThinClientPoolDM {
 
   // virtual void cleanStickyConnections(volatile bool& isRunning);
 };
-typedef SharedPtr<ThinClientPoolStickyDM> ThinClientPoolStickyDMPtr;
+typedef std::shared_ptr<ThinClientPoolStickyDM> ThinClientPoolStickyDMPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ThinClientPoolStickyHADM.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ThinClientPoolStickyHADM.hpp b/src/cppcache/src/ThinClientPoolStickyHADM.hpp
index e6c25ad..40c1694 100644
--- a/src/cppcache/src/ThinClientPoolStickyHADM.hpp
+++ b/src/cppcache/src/ThinClientPoolStickyHADM.hpp
@@ -53,7 +53,7 @@ isTransaction = false );
   // virtual void cleanStickyConnections(volatile bool& isRunning);
   // ThinClientStickyManager* m_manager;
 };
-typedef SharedPtr<ThinClientPoolStickyHADM> ThinClientPoolStickyHADMPtr;
+typedef std::shared_ptr<ThinClientPoolStickyHADM> ThinClientPoolStickyHADMPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ThinClientRegion.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ThinClientRegion.cpp b/src/cppcache/src/ThinClientRegion.cpp
index 9b15e6e..b7a2dcb 100644
--- a/src/cppcache/src/ThinClientRegion.cpp
+++ b/src/cppcache/src/ThinClientRegion.cpp
@@ -2034,7 +2034,7 @@ uint32_t ThinClientRegion::size_remote() {
   switch (reply.getMessageType()) {
     case TcrMessage::RESPONSE: {
       CacheableInt32Ptr size =
-          std::static_pointer_cast<GF_UNWRAP_SP(CacheableInt32Ptr)>(
+          std::static_pointer_cast<CacheableInt32>(
               reply.getValue());
       return size->value();
       // LOGINFO("Map is written into remote server at region %s",

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ThinClientRegion.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ThinClientRegion.hpp b/src/cppcache/src/ThinClientRegion.hpp
index d9ca46c..e52845e 100644
--- a/src/cppcache/src/ThinClientRegion.hpp
+++ b/src/cppcache/src/ThinClientRegion.hpp
@@ -370,7 +370,7 @@ class ChunkedInterestResponse : public TcrChunkedResult {
   virtual void reset();
 };
 
-typedef SharedPtr<ChunkedInterestResponse> ChunkedInterestResponsePtr;
+typedef std::shared_ptr<ChunkedInterestResponse> ChunkedInterestResponsePtr;
 
 /**
  * Handle each chunk of the chunked query response.
@@ -410,7 +410,7 @@ class ChunkedQueryResponse : public TcrChunkedResult {
   void readObjectPartList(DataInput& input, bool isResultSet);
 };
 
-typedef SharedPtr<ChunkedQueryResponse> ChunkedQueryResponsePtr;
+typedef std::shared_ptr<ChunkedQueryResponse> ChunkedQueryResponsePtr;
 /**
  * Handle each chunk of the chunked function execution response.
  *
@@ -458,7 +458,7 @@ class ChunkedFunctionExecutionResponse : public TcrChunkedResult {
                            uint8_t isLastChunkWithSecurity);
   virtual void reset();
 };
-typedef SharedPtr<ChunkedFunctionExecutionResponse>
+typedef std::shared_ptr<ChunkedFunctionExecutionResponse>
     ChunkedFunctionExecutionResponsePtr;
 
 /**
@@ -518,7 +518,7 @@ class ChunkedGetAllResponse : public TcrChunkedResult {
   ACE_Recursive_Thread_Mutex& getResponseLock() { return m_responseLock; }
 };
 
-typedef SharedPtr<ChunkedGetAllResponse> ChunkedGetAllResponsePtr;
+typedef std::shared_ptr<ChunkedGetAllResponse> ChunkedGetAllResponsePtr;
 
 /**
  * Handle each chunk of the chunked putAll response.
@@ -550,7 +550,7 @@ class ChunkedPutAllResponse : public TcrChunkedResult {
   ACE_Recursive_Thread_Mutex& getResponseLock() { return m_responseLock; }
 };
 
-typedef SharedPtr<ChunkedPutAllResponse> ChunkedPutAllResponsePtr;
+typedef std::shared_ptr<ChunkedPutAllResponse> ChunkedPutAllResponsePtr;
 
 /**
  * Handle each chunk of the chunked removeAll response.
@@ -582,7 +582,7 @@ class ChunkedRemoveAllResponse : public TcrChunkedResult {
   ACE_Recursive_Thread_Mutex& getResponseLock() { return m_responseLock; }
 };
 
-typedef SharedPtr<ChunkedRemoveAllResponse> ChunkedRemoveAllResponsePtr;
+typedef std::shared_ptr<ChunkedRemoveAllResponse> ChunkedRemoveAllResponsePtr;
 
 /**
  * Handle each chunk of the chunked interest registration response.
@@ -613,7 +613,7 @@ class ChunkedKeySetResponse : public TcrChunkedResult {
   virtual void reset();
 };
 
-typedef SharedPtr<ChunkedKeySetResponse> ChunkedKeySetResponsePtr;
+typedef std::shared_ptr<ChunkedKeySetResponse> ChunkedKeySetResponsePtr;
 
 class ChunkedDurableCQListResponse : public TcrChunkedResult {
  private:
@@ -636,7 +636,8 @@ class ChunkedDurableCQListResponse : public TcrChunkedResult {
   virtual void reset();
 };
 
-typedef SharedPtr<ChunkedDurableCQListResponse> ChunkedDurableCQListResponsePtr;
+typedef std::shared_ptr<ChunkedDurableCQListResponse>
+    ChunkedDurableCQListResponsePtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/TombstoneList.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/TombstoneList.hpp b/src/cppcache/src/TombstoneList.hpp
index 98ed643..66260c1 100644
--- a/src/cppcache/src/TombstoneList.hpp
+++ b/src/cppcache/src/TombstoneList.hpp
@@ -26,7 +26,7 @@
 #include <ace/Recursive_Thread_Mutex.h>
 #include <ace/Guard_T.h>
 
-#include <geode/SharedPtr.hpp>
+#include <memory>
 #include <geode/CacheableBuiltins.hpp>
 #include <geode/utils.hpp>
 
@@ -37,7 +37,7 @@ namespace geode {
 namespace client {
 class MapSegment;
 class TombstoneExpiryHandler;
-class TombstoneEntry : public SharedBase {
+class TombstoneEntry {
  public:
   TombstoneEntry(const MapEntryImplPtr& entry, int64_t tombstoneCreationTime)
       : m_entry(entry),
@@ -68,9 +68,9 @@ class TombstoneEntry : public SharedBase {
   ExpiryTaskManager::id_type m_expiryTaskId;
   TombstoneExpiryHandler* m_handler;
 };
-typedef SharedPtr<TombstoneEntry> TombstoneEntryPtr;
+typedef std::shared_ptr<TombstoneEntry> TombstoneEntryPtr;
 
-class TombstoneList : public SharedBase {
+class TombstoneList {
  public:
   TombstoneList(MapSegment* mapSegment) { m_mapSegment = mapSegment; }
   virtual ~TombstoneList() { cleanUp(); }
@@ -105,7 +105,7 @@ class TombstoneList : public SharedBase {
   MapSegment* m_mapSegment;
   friend class TombstoneExpiryHandler;
 };
-typedef SharedPtr<TombstoneList> TombstoneListPtr;
+typedef std::shared_ptr<TombstoneList> TombstoneListPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/TransactionalOperation.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/TransactionalOperation.cpp b/src/cppcache/src/TransactionalOperation.cpp
index ffebeaf..15ade7c 100644
--- a/src/cppcache/src/TransactionalOperation.cpp
+++ b/src/cppcache/src/TransactionalOperation.cpp
@@ -68,12 +68,10 @@ CacheablePtr TransactionalOperation::replay(Cache* cache) {
       } else {
         execution = FunctionService::onRegion(cache->getRegion(m_regionName));
       }
-      // TODO shared_ptr no clear path between types.
       result = std::dynamic_pointer_cast<Cacheable>(
           execution->withArgs(m_arguments->at(0))
               ->withFilter(
                   std::static_pointer_cast<CacheableVector>(m_arguments->at(1)))
-              // TODO shared_ptr - no path between types?
               ->withCollector(std::dynamic_pointer_cast<ResultCollector>(
                   m_arguments->at(2)))
               ->execute(
@@ -91,12 +89,9 @@ CacheablePtr TransactionalOperation::replay(Cache* cache) {
     case GF_GET_ALL:
       cache->getRegion(m_regionName)
           ->getAll(
-              // TODO shared_ptr - no path between types?
               *std::dynamic_pointer_cast<VectorOfCacheableKey>(
                   m_arguments->at(0)),
-              // TODO shared_ptr - no path between types?
               std::dynamic_pointer_cast<HashMapOfCacheable>(m_arguments->at(1)),
-              // TODO shared_ptr - no path between types?
               std::dynamic_pointer_cast<HashMapOfException>(m_arguments->at(2)),
               std::static_pointer_cast<CacheableBoolean>(m_arguments->at(3))
                   ->value());
@@ -109,9 +104,7 @@ CacheablePtr TransactionalOperation::replay(Cache* cache) {
           ->remove(m_key, m_arguments->at(0), m_arguments->at(1));
       break;
     case GF_KEY_SET:
-      cache
-          ->getRegion(m_regionName)
-          // TODO shared_ptr - no path between types?
+      cache->getRegion(m_regionName)
           ->serverKeys(*std::dynamic_pointer_cast<VectorOfCacheableKey>(
               m_arguments->at(0)));
       break;
@@ -124,9 +117,7 @@ CacheablePtr TransactionalOperation::replay(Cache* cache) {
           ->put(m_key, m_arguments->at(0), m_arguments->at(1));
       break;
     case GF_PUT_ALL:
-      cache
-          ->getRegion(m_regionName)
-          // TODO shared_ptr - no path between types?
+      cache->getRegion(m_regionName)
           ->putAll(*std::dynamic_pointer_cast<HashMapOfCacheable>(
                        m_arguments->at(0)),
                    std::static_pointer_cast<CacheableInt32>(m_arguments->at(1))

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/TransactionalOperation.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/TransactionalOperation.hpp b/src/cppcache/src/TransactionalOperation.hpp
index b9df719..3fd9a1e 100644
--- a/src/cppcache/src/TransactionalOperation.hpp
+++ b/src/cppcache/src/TransactionalOperation.hpp
@@ -54,7 +54,7 @@ enum ServerRegionOperation {
 
 _GF_PTR_DEF_(TransactionalOperation, TransactionalOperationPtr);
 
-class TransactionalOperation : public apache::geode::client::SharedBase {
+class TransactionalOperation {
  public:
   TransactionalOperation(ServerRegionOperation op, const char* regionName,
                          CacheableKeyPtr key, VectorOfCacheablePtr arguments);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/UserAttributes.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/UserAttributes.hpp b/src/cppcache/src/UserAttributes.hpp
index 7193cee..3ddfd2a 100644
--- a/src/cppcache/src/UserAttributes.hpp
+++ b/src/cppcache/src/UserAttributes.hpp
@@ -31,7 +31,7 @@ namespace apache {
 namespace geode {
 namespace client {
 class ProxyCache;
-typedef SharedPtr<ProxyCache> ProxyCachePtr;
+typedef std::shared_ptr<ProxyCache> ProxyCachePtr;
 class ThinClientPoolDM;
 class UserConnectionAttributes {
  public:
@@ -69,7 +69,7 @@ class UserConnectionAttributes {
   // UserConnectionAttributes & operator =(const UserConnectionAttributes &);
 };
 
-class CPPCACHE_EXPORT UserAttributes : public SharedBase {
+class CPPCACHE_EXPORT UserAttributes {
   // TODO: need to add lock here so that user should not be authenticated at two
   // servers
  public:
@@ -120,7 +120,7 @@ class CPPCACHE_EXPORT UserAttributes : public SharedBase {
   UserAttributes& operator=(const UserAttributes&);
 };
 
-typedef SharedPtr<UserAttributes> UserAttributesPtr;
+typedef std::shared_ptr<UserAttributes> UserAttributesPtr;
 
 class TSSUserAttributesWrapper {
  private:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/Utils.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/Utils.cpp b/src/cppcache/src/Utils.cpp
index b7bb14f..f6f4e61 100644
--- a/src/cppcache/src/Utils.cpp
+++ b/src/cppcache/src/Utils.cpp
@@ -15,40 +15,18 @@
  * limitations under the License.
  */
 
-#include "Utils.hpp"
-#include "ace/OS.h"
-#include "NanoTimer.hpp"
-#include <ace/Recursive_Thread_Mutex.h>
-#include <ace/INET_Addr.h>
 #include <cstdio>
 
-using namespace apache::geode::client;
-
-#ifdef _WIN32
-
-pNew Utils::s_pNew = nullptr;
-pDelete Utils::s_pDelete = nullptr;
-bool Utils::s_setNewAndDelete = false;
-
-void* operator new(size_t size) {
-  if (!Utils::s_pNew) {
-    apache::geode::client::setDefaultNewAndDelete();
-  }
-  void* ret = Utils::s_pNew(size);
-  if (ret == nullptr) {
-    throw apache::geode::client::OutOfMemoryException(
-        "Out of memory while executing operator new");
-  }
-  return ret;
-}
-
-void operator delete(void* p) { Utils::s_pDelete(p); }
-
-void* operator new[](size_t size) { return operator new(size); }
+#include <ace/OS.h>
+#include <ace/Recursive_Thread_Mutex.h>
+#include <ace/INET_Addr.h>
 
-void operator delete[](void* p) { operator delete(p); }
+#include "Utils.hpp"
+#include "NanoTimer.hpp"
 
-#endif  // _WIN32
+namespace apache {
+namespace geode {
+namespace client {
 
 int RandGen::operator()(size_t max) {
   unsigned int seed = static_cast<unsigned int>(NanoTimer::now());
@@ -104,59 +82,6 @@ void Utils::parseEndpointString(const char* endpoints, std::string& host,
   port = atoi(endpointsStr.c_str());
 }
 
-/*
-std::string
-Utils::convertHostToCanonicalForm(const char* endpoint)
-{
-  ACE_INET_Addr aia;
-  char canonical[MAXHOSTNAMELEN + 11] = {0};
-
-  if ( endpoint == nullptr ||
-       strlen(endpoint) == 0 ) {
-    LOGERROR("Cannot convert empty endpoint to canonical form");
-    return "";
-  }
-
-  // first convert the incoming endpoint string to an inet addr
-
-  if (aia.string_to_addr(endpoint) != 0) {
-    LOGERROR("Could not convert endpoint [%s] to inet addr", endpoint);
-    return endpoint;
-  }
-
-  // if its a loopback address, try to get our hostname
-
-  if (aia.is_loopback()) {
-    int port = atoi(strchr(endpoint, ':') + 1);
-    if (ACE_OS::hostname(canonical, MAXHOSTNAMELEN) == 0) {
-      struct hostent * host;
-      if ( (host = ACE_OS::gethostbyname(canonical)) != nullptr ) {
-        if (h_errno != 0) {
-          return endpoint;
-        }
-        sprintf(canonical, "%s:%d", host->h_name, port);
-        if (aia.string_to_addr(canonical) != 0) {
-          LOGERROR("Could not convert canonical endpoint [%s] to inet addr",
-canonical);
-          return endpoint;
-        }
-      }
-    }
-  }
-
-  // convert first to FQDN host name, failing which try IP number
-
-  if ( aia.addr_to_string(canonical, MAXHOSTNAMELEN + 10, 0) != 0 &&
-       aia.addr_to_string(canonical, MAXHOSTNAMELEN + 10, 1) != 0 ) {
-    LOGERROR("Could not convert [%s] from inet addr to canonical form",
-endpoint);
-    return endpoint;
-  }
-
-  return canonical;
-}
-*/
-
 std::string Utils::convertHostToCanonicalForm(const char* endpoints) {
   if (endpoints == nullptr) return nullptr;
   std::string hostString("");
@@ -287,3 +212,7 @@ int32_t Utils::logWideString(char* buf, size_t maxLen, const wchar_t* wStr) {
     return ACE_OS::snprintf(buf, maxLen, "null");
   }
 }
+
+}  // namespace client
+}  // namespace geode
+}  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/Utils.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/Utils.hpp b/src/cppcache/src/Utils.hpp
index 392bd6d..16904ca 100644
--- a/src/cppcache/src/Utils.hpp
+++ b/src/cppcache/src/Utils.hpp
@@ -1,8 +1,3 @@
-#pragma once
-
-#ifndef GEODE_UTILS_H_
-#define GEODE_UTILS_H_
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,6 +15,11 @@
  * limitations under the License.
  */
 
+#pragma once
+
+#ifndef GEODE_INTERNAL_UTILS_H_
+#define GEODE_INTERNAL_UTILS_H_
+
 /**
  * @file
  */
@@ -53,12 +53,6 @@ class CPPCACHE_EXPORT Utils {
    *
    */
  public:
-#ifdef _WIN32
-  static pNew s_pNew;
-  static pDelete s_pDelete;
-  static bool s_setNewAndDelete;
-#endif
-
   /**
    * Get the value of an environment variable.
    * On windows the maximum length of value supported is 8191.
@@ -225,4 +219,4 @@ class RandGen {
 }  // namespace geode
 }  // namespace apache
 
-#endif  // GEODE_UTILS_H_
+#endif  // GEODE_INTERNAL_UTILS_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/VectorOfSharedBase.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/VectorOfSharedBase.cpp b/src/cppcache/src/VectorOfSharedBase.cpp
deleted file mode 100644
index dbc6df7..0000000
--- a/src/cppcache/src/VectorOfSharedBase.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <geode/geode_globals.hpp>
-#include <geode/ExceptionTypes.hpp>
-#include <geode/VectorOfSharedBase.hpp>
-
-#include <vector>
-#include <stdexcept>
-
-namespace apache {
-namespace geode {
-namespace client {
-
-// Iterator methods
-
-VectorOfSharedBase::Iterator::Iterator(const VofSBPIterator& iter) {
-  m_iter = new VofSBPIterator(iter);
-}
-
-VectorOfSharedBase::Iterator::Iterator(
-    const VectorOfSharedBase::Iterator& other) {
-  m_iter = new VofSBPIterator(*(other.m_iter));
-}
-
-const SharedBasePtr VectorOfSharedBase::Iterator::operator*() const {
-  return *(*m_iter);
-}
-
-VectorOfSharedBase::Iterator& VectorOfSharedBase::Iterator::operator++() {
-  ++(*m_iter);
-  return *this;
-}
-
-void VectorOfSharedBase::Iterator::operator++(int) { ++(*m_iter); }
-
-bool VectorOfSharedBase::Iterator::operator==(
-    const VectorOfSharedBase::Iterator& other) const {
-  return (*m_iter == *other.m_iter);
-}
-
-bool VectorOfSharedBase::Iterator::operator!=(
-    const VectorOfSharedBase::Iterator& other) const {
-  return (*m_iter != *other.m_iter);
-}
-
-VectorOfSharedBase::Iterator::~Iterator() { delete m_iter; }
-
-// Vector methods
-
-/** return the size of the vector. */
-int32_t VectorOfSharedBase::size() const {
-  return static_cast<int32_t>(m_stdvector->size());
-}
-
-/** return the largest possible size of the vector. */
-int32_t VectorOfSharedBase::max_size() const {
-  return static_cast<int32_t>(m_stdvector->max_size());
-}
-
-/** return the number of elements allocated for this vector. */
-int32_t VectorOfSharedBase::capacity() const {
-  return static_cast<int32_t>(m_stdvector->capacity());
-}
-
-/** return true if the vector's size is 0. */
-bool VectorOfSharedBase::empty() const { return m_stdvector->empty(); }
-
-/** Return the n'th element */
-SharedBasePtr& VectorOfSharedBase::operator[](int32_t n) {
-  return m_stdvector->operator[](n);
-}
-
-/** Return the n'th element */
-const SharedBasePtr& VectorOfSharedBase::operator[](int32_t n) const {
-  return m_stdvector->operator[](n);
-}
-
-/** Return the n'th element with bounds checkin. */
-SharedBasePtr& VectorOfSharedBase::at(int32_t n) {
-  try {
-    return m_stdvector->at(n);
-  } catch (const std::out_of_range& ex) {
-    throw apache::geode::client::OutOfRangeException(ex.what());
-  }
-}
-
-/** Return the n'th element with bounds checkin. */
-SharedBasePtr& VectorOfSharedBase::at(int32_t n) const {
-  try {
-    return m_stdvector->at(n);
-  } catch (const std::out_of_range& ex) {
-    throw apache::geode::client::OutOfRangeException(ex.what());
-  }
-}
-
-/** Get an iterator pointing to the start of vector. */
-VectorOfSharedBase::Iterator VectorOfSharedBase::begin() const {
-  return Iterator(m_stdvector->begin());
-}
-
-/** Get an iterator pointing to the end of vector. */
-VectorOfSharedBase::Iterator VectorOfSharedBase::end() const {
-  return Iterator(m_stdvector->end());
-}
-
-/** Create an empty vector. */
-VectorOfSharedBase::VectorOfSharedBase() : m_stdvector(nullptr) {
-  m_stdvector = new VofSBP();
-}
-
-/** Create a vector with n elements allocated */
-VectorOfSharedBase::VectorOfSharedBase(int32_t n) : m_stdvector(nullptr) {
-  m_stdvector = new VofSBP(n);
-}
-
-/** Create a vector with n copies of t */
-VectorOfSharedBase::VectorOfSharedBase(int32_t n, const SharedBasePtr& t)
-    : m_stdvector(nullptr) {
-  m_stdvector = new VofSBP(n, t);
-}
-
-/** copy constructor */
-VectorOfSharedBase::VectorOfSharedBase(const VectorOfSharedBase& other)
-    : m_stdvector(nullptr) {
-  m_stdvector = new VofSBP(*(other.m_stdvector));
-}
-
-/** destructor, sets all SharedPtr elements to nullptr */
-VectorOfSharedBase::~VectorOfSharedBase() {
-  m_stdvector->clear();
-  delete m_stdvector;
-}
-
-/** assignment operator */
-VectorOfSharedBase& VectorOfSharedBase::operator=(
-    const VectorOfSharedBase& other) {
-  *m_stdvector = *(other.m_stdvector);
-  return *this;
-}
-
-/** reallocate a vector to hold n elements. */
-void VectorOfSharedBase::reserve(int32_t n) { m_stdvector->reserve(n); }
-
-/** returns the first element. */
-SharedBasePtr& VectorOfSharedBase::front() { return m_stdvector->front(); }
-
-/** returns the first element. */
-const SharedBasePtr& VectorOfSharedBase::front() const {
-  return m_stdvector->front();
-}
-
-/** returns the last element. */
-SharedBasePtr& VectorOfSharedBase::back() { return m_stdvector->back(); }
-
-/** returns the last element. */
-const SharedBasePtr& VectorOfSharedBase::back() const {
-  return m_stdvector->back();
-}
-
-/** insert a new element at the end. */
-void VectorOfSharedBase::push_back(const SharedBasePtr& e) {
-  m_stdvector->push_back(e);
-}
-
-/** removes the last element. */
-void VectorOfSharedBase::pop_back() { m_stdvector->pop_back(); }
-
-/** swaps the contents of two vectors. */
-void VectorOfSharedBase::swap(VectorOfSharedBase& other) {
-  m_stdvector->swap(*(other.m_stdvector));
-}
-
-/** erases all elements. */
-void VectorOfSharedBase::clear() { m_stdvector->clear(); }
-
-/** inserts or erases elements at the end such that size becomes n.
- *  Not to be confused with reserve which simply allocates the space,
- *  resize fills the space with active elements. */
-void VectorOfSharedBase::resize(int32_t n, const SharedBasePtr& t) {
-  m_stdvector->resize(n, t);
-}
-
-void VectorOfSharedBase::insert(int32_t index, const SharedBasePtr& t) {
-  if (index < static_cast<int32_t>(m_stdvector->size())) {
-    m_stdvector->insert(m_stdvector->begin() + index, t);
-  }
-}
-
-void VectorOfSharedBase::erase(int32_t index) {
-  if (index < static_cast<int32_t>(m_stdvector->size())) {
-    m_stdvector->erase(m_stdvector->begin() + index);
-  }
-}
-}  // namespace client
-}  // namespace geode
-}  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/VersionStamp.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/VersionStamp.hpp b/src/cppcache/src/VersionStamp.hpp
index 6855c00..6a58269 100644
--- a/src/cppcache/src/VersionStamp.hpp
+++ b/src/cppcache/src/VersionStamp.hpp
@@ -21,7 +21,7 @@
  */
 
 #include <geode/geode_globals.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 #include "ClientProxyMembershipID.hpp"
 #include "VersionTag.hpp"
 
@@ -84,7 +84,7 @@ class CPPCACHE_EXPORT VersionStamp {
                                   const int64_t tagVersion,
                                   const VersionTagPtr& tag) const;
 };
-typedef SharedPtr<VersionStamp> VersionStampPtr;
+typedef std::shared_ptr<VersionStamp> VersionStampPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/VersionedCacheableObjectPartList.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/VersionedCacheableObjectPartList.hpp b/src/cppcache/src/VersionedCacheableObjectPartList.hpp
index a4ed6f0..91b7f3c 100644
--- a/src/cppcache/src/VersionedCacheableObjectPartList.hpp
+++ b/src/cppcache/src/VersionedCacheableObjectPartList.hpp
@@ -56,7 +56,7 @@ class ThinClientRegion;
  */
 
 class VersionedCacheableObjectPartList;
-typedef SharedPtr<VersionedCacheableObjectPartList>
+typedef std::shared_ptr<VersionedCacheableObjectPartList>
     VersionedCacheableObjectPartListPtr;
 
 class VersionedCacheableObjectPartList : public CacheableObjectPartList {

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/dllmain.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/dllmain.cpp b/src/cppcache/src/dllmain.cpp
index 9cd30a6..13d62b8 100644
--- a/src/cppcache/src/dllmain.cpp
+++ b/src/cppcache/src/dllmain.cpp
@@ -100,25 +100,3 @@ void DllMainGetPath(char *result, int maxLen) {
 #endif /* WIN32 */
 
 } /* extern "C" */
-
-#ifdef _WIN32
-
-namespace apache {
-namespace geode {
-namespace client {
-void CPPCACHE_EXPORT setNewAndDelete(pNew pn, pDelete pd) {
-  Utils::s_pNew = pn;
-  Utils::s_pDelete = pd;
-  Utils::s_setNewAndDelete = true;
-}
-
-void setDefaultNewAndDelete() {
-  Utils::s_pNew = (pNew)&malloc;      // operator new;
-  Utils::s_pDelete = (pDelete)&free;  // operator delete;
-}
-
-}  // namespace client
-}  // namespace geode
-}  // namespace apache
-
-#endif  // _WIN32

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/statistics/AtomicStatisticsImpl.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/statistics/AtomicStatisticsImpl.cpp b/src/cppcache/src/statistics/AtomicStatisticsImpl.cpp
index 0d6c6e0..710b584 100644
--- a/src/cppcache/src/statistics/AtomicStatisticsImpl.cpp
+++ b/src/cppcache/src/statistics/AtomicStatisticsImpl.cpp
@@ -176,18 +176,7 @@ void AtomicStatisticsImpl::_setInt(int32_t offset, int32_t value) {
 void AtomicStatisticsImpl::_setLong(int32_t offset, int64_t value) {
   if (offset >= statsType->getLongStatCount()) {
     char s[128] = {'\0'};
-    /* adongre  - Coverity II
-     * CID 29273: Calling risky function (SECURE_CODING)[VERY RISKY]. Using
-     * "sprintf" can cause a
-     * buffer overflow when done incorrectly. Because sprintf() assumes an
-     * arbitrarily long string,
-     * callers must be careful not to overflow the actual space of the
-     * destination.
-     * Use snprintf() instead, or correct precision specifiers.
-     * Fix : using ACE_OS::snprintf
-     */
-    // sprintf(s, "setLong:The id (%d) of the Statistic Descriptor is not valid
-    // ", offset);
+
     ACE_OS::snprintf(
         s, 128, "setLong:The id (%d) of the Statistic Descriptor is not valid ",
         offset);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/statistics/AtomicStatisticsImpl.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/statistics/AtomicStatisticsImpl.hpp b/src/cppcache/src/statistics/AtomicStatisticsImpl.hpp
index 6ea6fbd..93a1a9c 100644
--- a/src/cppcache/src/statistics/AtomicStatisticsImpl.hpp
+++ b/src/cppcache/src/statistics/AtomicStatisticsImpl.hpp
@@ -46,21 +46,6 @@ namespace statistics {
  *
  */
 
-/* adongre
- * CID 28732: Other violation (MISSING_COPY)
- * Class "apache::geode::statistics::AtomicStatisticsImpl" owns resources that
- * are
- * managed
- * in its constructor and destructor but has no user-written copy constructor.
- *
- * CID 28718: Other violation (MISSING_ASSIGN)
- * Class "apache::geode::statistics::AtomicStatisticsImpl" owns resources that
- * are
- * managed in its constructor and destructor but has no user-written assignment
- * operator.
- *
- * FIX : Make the class non-copyable
- */
 class AtomicStatisticsImpl : public Statistics, private NonCopyable {
  private:
   /**********varbs originally kept in statisticsimpl class*****************/

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/test/AutoDeleteTest.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/test/AutoDeleteTest.cpp b/src/cppcache/test/AutoDeleteTest.cpp
index a7ad195..21258f6 100644
--- a/src/cppcache/test/AutoDeleteTest.cpp
+++ b/src/cppcache/test/AutoDeleteTest.cpp
@@ -17,13 +17,12 @@
 
 #include <gtest/gtest.h>
 
-#include <geode/SharedBase.hpp>
 #include <AutoDelete.hpp>
 
 using namespace apache::geode::client;
 
 namespace {
-class TestSharedBase : public SharedBase {
+class TestSharedBase {
  public:
   explicit TestSharedBase(bool& destructed) : m_destructed(destructed) {
     // NOP

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/test/DataInputTest.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/test/DataInputTest.cpp b/src/cppcache/test/DataInputTest.cpp
index 8c8913c..90727fa 100644
--- a/src/cppcache/test/DataInputTest.cpp
+++ b/src/cppcache/test/DataInputTest.cpp
@@ -25,7 +25,7 @@
 
 #include <geode/DataInput.hpp>
 #include <geode/DataOutput.hpp>
-#include <geode/SharedPtr.hpp>
+#include <memory>
 #include "ByteArrayFixture.hpp"
 
 using namespace apache::geode::client;
@@ -119,7 +119,7 @@ class TestDataInput {
   }
 
   template <class PTR>
-  void readObject(SharedPtr<PTR> &ptr,
+  void readObject(std::shared_ptr<PTR> &ptr,
                   bool throwOnError = DINP_THROWONERROR_DEFAULT) {
     m_dataInput.readObject(ptr, throwOnError);
   }

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/test/DataOutputTest.cpp
----------------------------------------------------------------------
diff --git a/src/cppcache/test/DataOutputTest.cpp b/src/cppcache/test/DataOutputTest.cpp
index 214ec93..a3af420 100644
--- a/src/cppcache/test/DataOutputTest.cpp
+++ b/src/cppcache/test/DataOutputTest.cpp
@@ -280,7 +280,7 @@ TEST_F(DataOutputTest, TestEncodedLengthWide) {
 
 TEST_F(DataOutputTest, TestWriteObjectSharedPtr) {
   TestDataOutput dataOutput;
-  SharedPtr<CacheableString> objptr =
+  std::shared_ptr<CacheableString> objptr =
       CacheableString::create("You had me at meat tornado.");
   dataOutput.writeObject(objptr);
   EXPECT_BYTEARRAY_EQ(

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/quickstart/cpp/Delta.cpp
----------------------------------------------------------------------
diff --git a/src/quickstart/cpp/Delta.cpp b/src/quickstart/cpp/Delta.cpp
index d31885f..dba53a0 100644
--- a/src/quickstart/cpp/Delta.cpp
+++ b/src/quickstart/cpp/Delta.cpp
@@ -42,7 +42,7 @@
 using namespace apache::geode::client;
 
 // The Delta QuickStart example.
-typedef SharedPtr<DeltaExample> DeltaExamplePtr;
+typedef std::shared_ptr<DeltaExample> DeltaExamplePtr;
 int main(int argc, char** argv) {
   try {
     // Create a Geode Cache.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/quickstart/cpp/queryobjects/Portfolio.hpp
----------------------------------------------------------------------
diff --git a/src/quickstart/cpp/queryobjects/Portfolio.hpp b/src/quickstart/cpp/queryobjects/Portfolio.hpp
index a0a46d5..c6f14a0 100644
--- a/src/quickstart/cpp/queryobjects/Portfolio.hpp
+++ b/src/quickstart/cpp/queryobjects/Portfolio.hpp
@@ -125,6 +125,6 @@ class TESTOBJECT_EXPORT Portfolio : public Serializable {
   CacheableStringPtr toString() const;
 };
 
-typedef SharedPtr<Portfolio> PortfolioPtr;
-}
+typedef std::shared_ptr<Portfolio> PortfolioPtr;
+}  // namespace testobject
 #endif

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/quickstart/cpp/queryobjects/PortfolioPdx.hpp
----------------------------------------------------------------------
diff --git a/src/quickstart/cpp/queryobjects/PortfolioPdx.hpp b/src/quickstart/cpp/queryobjects/PortfolioPdx.hpp
index e82e8cb..d48c318 100644
--- a/src/quickstart/cpp/queryobjects/PortfolioPdx.hpp
+++ b/src/quickstart/cpp/queryobjects/PortfolioPdx.hpp
@@ -102,6 +102,6 @@ class TESTOBJECT_EXPORT PortfolioPdx : public PdxSerializable {
   CacheableStringPtr toString() const;
 };
 
-typedef SharedPtr<PortfolioPdx> PortfolioPdxPtr;
-}
+typedef std::shared_ptr<PortfolioPdx> PortfolioPdxPtr;
+}  // namespace testobject
 #endif

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/quickstart/cpp/queryobjects/PortfolioPdxAuto.hpp
----------------------------------------------------------------------
diff --git a/src/quickstart/cpp/queryobjects/PortfolioPdxAuto.hpp b/src/quickstart/cpp/queryobjects/PortfolioPdxAuto.hpp
index 44decf9..603c71a 100644
--- a/src/quickstart/cpp/queryobjects/PortfolioPdxAuto.hpp
+++ b/src/quickstart/cpp/queryobjects/PortfolioPdxAuto.hpp
@@ -106,6 +106,6 @@ class PortfolioPdxAuto : public apache::geode::client::PdxSerializable {
   CacheableStringPtr toString() const;
 };
 
-typedef SharedPtr<PortfolioPdxAuto> PortfolioPdxPtr;
+typedef std::shared_ptr<PortfolioPdxAuto> PortfolioPdxPtr;
 }
 #endif

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/quickstart/cpp/queryobjects/Position.hpp
----------------------------------------------------------------------
diff --git a/src/quickstart/cpp/queryobjects/Position.hpp b/src/quickstart/cpp/queryobjects/Position.hpp
index b36486c..aac3c93 100644
--- a/src/quickstart/cpp/queryobjects/Position.hpp
+++ b/src/quickstart/cpp/queryobjects/Position.hpp
@@ -94,6 +94,6 @@ class TESTOBJECT_EXPORT Position : public apache::geode::client::Serializable {
   void init();
 };
 
-typedef apache::geode::client::SharedPtr<Position> PositionPtr;
-}
+typedef std::shared_ptr<Position> PositionPtr;
+}  // namespace testobject
 #endif

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/quickstart/cpp/queryobjects/PositionPdx.hpp
----------------------------------------------------------------------
diff --git a/src/quickstart/cpp/queryobjects/PositionPdx.hpp b/src/quickstart/cpp/queryobjects/PositionPdx.hpp
index 44be09f..9b371e9 100644
--- a/src/quickstart/cpp/queryobjects/PositionPdx.hpp
+++ b/src/quickstart/cpp/queryobjects/PositionPdx.hpp
@@ -99,6 +99,6 @@ class TESTOBJECT_EXPORT PositionPdx
   void init();
 };
 
-typedef apache::geode::client::SharedPtr<PositionPdx> PositionPdxPtr;
-}
+typedef std::shared_ptr<PositionPdx> PositionPdxPtr;
+}  // namespace testobject
 #endif

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/quickstart/cpp/queryobjects/PositionPdxAuto.hpp
----------------------------------------------------------------------
diff --git a/src/quickstart/cpp/queryobjects/PositionPdxAuto.hpp b/src/quickstart/cpp/queryobjects/PositionPdxAuto.hpp
index 50d592d..29e7f9d 100644
--- a/src/quickstart/cpp/queryobjects/PositionPdxAuto.hpp
+++ b/src/quickstart/cpp/queryobjects/PositionPdxAuto.hpp
@@ -100,6 +100,6 @@ class PositionPdxAuto : public apache::geode::client::PdxSerializable {
   void init();
 };
 
-typedef apache::geode::client::SharedPtr<PositionPdxAuto> PositionPdxPtr;
+typedef std::shared_ptr<PositionPdxAuto> PositionPdxPtr;
 }
 #endif

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/fwklib/FrameworkTest.cpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/fwklib/FrameworkTest.cpp b/src/tests/cpp/fwklib/FrameworkTest.cpp
index 1bb3b4e..83a7948 100644
--- a/src/tests/cpp/fwklib/FrameworkTest.cpp
+++ b/src/tests/cpp/fwklib/FrameworkTest.cpp
@@ -33,9 +33,6 @@ SpinLock FrameworkTest::m_lck;
 // ----------------------------------------------------------------------------
 
 FrameworkTest::FrameworkTest(const char* initArgs) {
-#ifdef WIN32
-  setNewAndDelete();
-#endif
   txManager = nullptr;
   // parse args into variables,
   char xml[4096];   // xml file name
@@ -225,12 +222,6 @@ const FwkPool* FrameworkTest::getPoolSnippet(const std::string& name) const {
 
 void FrameworkTest::cacheInitialize(PropertiesPtr& props,
                                     const CacheAttributesPtr& cAttrs) {
-#ifdef WIN32
-  if (!m_doneSetNewAndDelete) {
-    FWKEXCEPTION("SetNewAndDelete() not called via initArgs ctor");
-  }
-#endif
-
   CacheFactoryPtr cacheFactory;
   try {
     std::string name = getStringValue("systemName");

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/fwklib/FrameworkTest.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/fwklib/FrameworkTest.hpp b/src/tests/cpp/fwklib/FrameworkTest.hpp
index d57c3e4..5856eee 100644
--- a/src/tests/cpp/fwklib/FrameworkTest.hpp
+++ b/src/tests/cpp/fwklib/FrameworkTest.hpp
@@ -1,8 +1,3 @@
-#pragma once
-
-#ifndef GEODE_FWKLIB_FRAMEWORKTEST_H_
-#define GEODE_FWKLIB_FRAMEWORKTEST_H_
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,12 +15,17 @@
  * limitations under the License.
  */
 
+#pragma once
+
+#ifndef GEODE_FWKLIB_FRAMEWORKTEST_H_
+#define GEODE_FWKLIB_FRAMEWORKTEST_H_
+
+#include <string>
+
 #include "fwklib/TimeSync.hpp"
 #include "fwklib/ClientTask.hpp"
 #include "fwklib/FwkBBClient.hpp"
 
-#include <string>
-
 namespace apache {
 namespace geode {
 namespace client {
@@ -48,24 +48,7 @@ class FrameworkTest  // Base class all test classes written for xml testing
   CacheTransactionManagerPtr txManager;
   static SpinLock m_lck;
 
-#ifdef _WIN32
-  bool m_doneSetNewAndDelete;
-
-  void setNewAndDelete() {
-    char* envsetting = ACE_OS::getenv("BUG481");
-    if (envsetting != NULL && strlen(envsetting) > 0) {
-      apache::geode::client::setNewAndDelete(&operator new, & operator delete);
-      FWKINFO("setNewAndDelete() was called");
-    }
-    m_doneSetNewAndDelete = true;
-  }
-#endif
-
  public:
-#ifdef _WIN32
-  FrameworkTest() : m_doneSetNewAndDelete(false) {}
-#endif
-
   FrameworkTest(const char* initArgs);
   ~FrameworkTest();
 
@@ -163,113 +146,113 @@ class FrameworkTest  // Base class all test classes written for xml testing
   }
 
   /** @brief dump all data
-    * @param sResult result of dump
-    * @retval true = Success, false = Failed
-    */
+   * @param sResult result of dump
+   * @retval true = Success, false = Failed
+   */
   inline std::string bbDump() const { return m_bbc->dump(); }
 
   /** @brief dump BB data
-    * @param pszBBName name of BB
-    * @param sResult result of dump
-    * @retval true = Success, false = Failed
-    */
+   * @param pszBBName name of BB
+   * @param sResult result of dump
+   * @retval true = Success, false = Failed
+   */
   inline std::string bbDump(const std::string& bb) const {
     return m_bbc->dump(bb);
   }
 
   /** @brief clear BB data
-    * @param pszBBName name of BB
-    * @retval true = Success, false = Failed
-    */
+   * @param pszBBName name of BB
+   * @retval true = Success, false = Failed
+   */
   inline void bbClear(const std::string& bb) const { m_bbc->clear(bb); }
 
   /** @brief get BB key value
-    * @param bb name of BB
-    * @param key name of key in BB
-    * @retval value from BB
-    */
+   * @param bb name of BB
+   * @param key name of key in BB
+   * @retval value from BB
+   */
   inline std::string bbGetString(const std::string& bb,
                                  const std::string& key) const {
     return m_bbc->getString(bb, key);
   }
 
   /** @brief get BB counter value
-    * @param bb name of BB
-    * @param cntr name of counter
-    * @retval value from BB
-    */
+   * @param bb name of BB
+   * @param cntr name of counter
+   * @retval value from BB
+   */
   inline int64_t bbGet(const std::string& bb, const std::string& cntr) const {
     return m_bbc->get(bb, cntr);
   }
 
   /** @brief set BB key value
-    * @param bb name of BB
-    * @param key name of key in BB
-    * @param val value to set
-    */
+   * @param bb name of BB
+   * @param key name of key in BB
+   * @param val value to set
+   */
   inline void bbSet(const std::string& bb, const std::string& key,
                     const std::string& val) const {
     m_bbc->set(bb, key, val);
   }
 
   /** @brief set BB counter value
-    * @param bb name of BB
-    * @param cntr name of counter
-    * @param val value to set
-    */
+   * @param bb name of BB
+   * @param cntr name of counter
+   * @param val value to set
+   */
   inline void bbSet(const std::string& bb, const std::string& cntr,
                     const int64_t val) const {
     m_bbc->set(bb, cntr, val);
   }
 
   /** @brief add BB counter value
-    * @param bb name of BB
-    * @param cntr name of counter
-    * @param val value to add to counter
-    * @retval value of after add
-    */
+   * @param bb name of BB
+   * @param cntr name of counter
+   * @param val value to add to counter
+   * @retval value of after add
+   */
   inline int64_t bbAdd(const std::string& bb, const std::string& cntr,
                        const int64_t val) const {
     return m_bbc->add(bb, cntr, val);
   }
 
   /** @brief increment BB counter value by 1
-    * @param bb name of BB
-    * @param cntr name of counter
-    * @retval value after increment
-    */
+   * @param bb name of BB
+   * @param cntr name of counter
+   * @retval value after increment
+   */
   inline int64_t bbIncrement(const std::string& bb,
                              const std::string& cntr) const {
     return m_bbc->increment(bb, cntr);
   }
 
   /** @brief decrement BB counter value by 1
-    * @param bb name of BB
-    * @param cntr name of counter
-    * @retval value after decrement
-    */
+   * @param bb name of BB
+   * @param cntr name of counter
+   * @retval value after decrement
+   */
   inline int64_t bbDecrement(const std::string& bb,
                              const std::string& cntr) const {
     return m_bbc->decrement(bb, cntr);
   }
 
   /** @brief setIfGreater BB counter value is greater
-    * @param bb name of BB
-    * @param cntr name of counter
-    * @param val value to set
-    * @retval value after setIfGreater
-    */
+   * @param bb name of BB
+   * @param cntr name of counter
+   * @param val value to set
+   * @retval value after setIfGreater
+   */
   inline int64_t bbSetIfGreater(const std::string& bb, const std::string& cntr,
                                 const int64_t val) const {
     return m_bbc->setIfGreater(bb, cntr, val);
   }
 
   /** @brief setIfLess BB counter value is less
-    * @param bb name of BB
-    * @param cntr name of counter
-    * @param val value to set
-    * @retval value after setIfLess
-    */
+   * @param bb name of BB
+   * @param cntr name of counter
+   * @param val value to set
+   * @retval value after setIfLess
+   */
   inline int64_t bbSetIfLess(const std::string& bb, const std::string& cntr,
                              const int64_t val) const {
     return m_bbc->setIfLess(bb, cntr, val);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/fwklib/QueryHelper.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/fwklib/QueryHelper.hpp b/src/tests/cpp/fwklib/QueryHelper.hpp
index 8127973..ecf6c1c 100644
--- a/src/tests/cpp/fwklib/QueryHelper.hpp
+++ b/src/tests/cpp/fwklib/QueryHelper.hpp
@@ -1018,7 +1018,7 @@ bool QueryHelper::verifyRS(SelectResultsPtr& resultSet, int expectedRows) {
     return false;
   }
 
-  ResultSetPtr rsptr = std::static_pointer_cast<GF_UNWRAP_SP(ResultSetPtr)>(resultSet);
+  ResultSetPtr rsptr = std::static_pointer_cast<ResultSet>(resultSet);
 
   int foundRows = 0;
 
@@ -1048,7 +1048,7 @@ bool QueryHelper::verifySS(SelectResultsPtr& structSet, int expectedRows,
     return false;
   }
 
-  StructSetPtr ssptr = std::static_pointer_cast<GF_UNWRAP_SP(StructSetPtr)>(structSet);
+  StructSetPtr ssptr = std::static_pointer_cast<StructSet>(structSet);
 
   int foundRows = 0;
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/security/CredentialGenerator.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/security/CredentialGenerator.hpp b/src/tests/cpp/security/CredentialGenerator.hpp
index de77aaf..b0f5042 100644
--- a/src/tests/cpp/security/CredentialGenerator.hpp
+++ b/src/tests/cpp/security/CredentialGenerator.hpp
@@ -21,18 +21,17 @@
  */
 
 /**
-  * @file    CredentialGenerator.hpp
-  * @since   1.0
-  * @version 1.0
-  * @see
-  *
-  */
+ * @file    CredentialGenerator.hpp
+ * @since   1.0
+ * @version 1.0
+ * @see
+ *
+ */
 
 // ----------------------------------------------------------------------------
 
 // ----------------------------------------------------------------------------
 
-#include <geode/SharedBase.hpp>
 #include <geode/Properties.hpp>
 
 #ifndef __COMPILE_DUNIT_
@@ -59,7 +58,7 @@ namespace testframework {
 namespace security {
 
 class CredentialGenerator;
-typedef SharedPtr<CredentialGenerator> CredentialGeneratorPtr;
+typedef std::shared_ptr<CredentialGenerator> CredentialGeneratorPtr;
 
 /**
  * @class CredentialGenerator CredentialGenerator.hpp
@@ -85,7 +84,7 @@ typedef SharedPtr<CredentialGenerator> CredentialGeneratorPtr;
  *   str = cg->getServerCmdParams(":authenticator:authorizer");
  *
  */
-class CredentialGenerator : public SharedBase {
+class CredentialGenerator {
  public:
   typedef std::map<std::string, CredentialGeneratorPtr> registeredClassMap;
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/security/XmlAuthzCredentialGenerator.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/security/XmlAuthzCredentialGenerator.hpp b/src/tests/cpp/security/XmlAuthzCredentialGenerator.hpp
index 57cab72..73dd576 100644
--- a/src/tests/cpp/security/XmlAuthzCredentialGenerator.hpp
+++ b/src/tests/cpp/security/XmlAuthzCredentialGenerator.hpp
@@ -20,7 +20,6 @@
  * limitations under the License.
  */
 
-#include <geode/SharedBase.hpp>
 #include <geode/Properties.hpp>
 
 #include "typedefs.hpp"
@@ -50,9 +49,10 @@ const stringList::value_type QRArr[] = {"Portfolios", "Positions"};
 const char* PRiUsnm = "%s%d";
 
 class XmlAuthzCredentialGenerator;
-typedef SharedPtr<XmlAuthzCredentialGenerator> XmlAuthzCredentialGeneratorPtr;
+typedef std::shared_ptr<XmlAuthzCredentialGenerator>
+    XmlAuthzCredentialGeneratorPtr;
 
-class XmlAuthzCredentialGenerator : public SharedBase {
+class XmlAuthzCredentialGenerator {
  private:
   ID m_id;
   opCodeList* m_opCode;

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/BatchObject.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/BatchObject.hpp b/src/tests/cpp/testobject/BatchObject.hpp
index fb65401..96e819b 100644
--- a/src/tests/cpp/testobject/BatchObject.hpp
+++ b/src/tests/cpp/testobject/BatchObject.hpp
@@ -88,7 +88,7 @@ class TESTOBJECT_EXPORT BatchObject : public TimestampedObject {
   }
 };
 
-typedef apache::geode::client::SharedPtr<BatchObject> BatchObjectPtr;
+typedef std::shared_ptr<BatchObject> BatchObjectPtr;
 }  // namespace testobject
 
 #endif  // GEODE_TESTOBJECT_BATCHOBJECT_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/DeltaFastAssetAccount.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/DeltaFastAssetAccount.hpp b/src/tests/cpp/testobject/DeltaFastAssetAccount.hpp
index e5979d2..e08e6b3 100644
--- a/src/tests/cpp/testobject/DeltaFastAssetAccount.hpp
+++ b/src/tests/cpp/testobject/DeltaFastAssetAccount.hpp
@@ -46,8 +46,7 @@ using namespace apache::geode::client;
 using namespace testframework;
 namespace testobject {
 class DeltaFastAssetAccount;
-typedef apache::geode::client::SharedPtr<DeltaFastAssetAccount>
-    DeltaFastAssetAccountPtr;
+typedef std::shared_ptr<DeltaFastAssetAccount> DeltaFastAssetAccountPtr;
 class TESTOBJECT_EXPORT DeltaFastAssetAccount : public Cacheable, public Delta {
  private:
   bool encodeTimestamp;

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/DeltaPSTObject.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/DeltaPSTObject.hpp b/src/tests/cpp/testobject/DeltaPSTObject.hpp
index 1e742ee..b06cee3 100644
--- a/src/tests/cpp/testobject/DeltaPSTObject.hpp
+++ b/src/tests/cpp/testobject/DeltaPSTObject.hpp
@@ -96,7 +96,7 @@ class TESTOBJECT_EXPORT DeltaPSTObject : public Cacheable, public Delta {
 
   static Serializable* createDeserializable() { return new DeltaPSTObject(); }
 };
-typedef apache::geode::client::SharedPtr<DeltaPSTObject> DeltaPSTObjectPtr;
+typedef std::shared_ptr<DeltaPSTObject> DeltaPSTObjectPtr;
 }  // namespace testobject
 
 #endif  // GEODE_TESTOBJECT_DELTAPSTOBJECT_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/DeltaTestImpl.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/DeltaTestImpl.hpp b/src/tests/cpp/testobject/DeltaTestImpl.hpp
index a8b4f29..ee4ebed 100644
--- a/src/tests/cpp/testobject/DeltaTestImpl.hpp
+++ b/src/tests/cpp/testobject/DeltaTestImpl.hpp
@@ -48,7 +48,7 @@ using namespace apache::geode::client;
 
 namespace testobject {
 class DeltaTestImpl;
-typedef SharedPtr<DeltaTestImpl> DeltaTestImplPtr;
+typedef std::shared_ptr<DeltaTestImpl> DeltaTestImplPtr;
 class TESTOBJECT_EXPORT DeltaTestImpl : public Cacheable, public Delta {
  private:
   static uint8_t INT_MASK;

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/DeltaTestObj.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/DeltaTestObj.hpp b/src/tests/cpp/testobject/DeltaTestObj.hpp
index 79f44d2..4030dff 100644
--- a/src/tests/cpp/testobject/DeltaTestObj.hpp
+++ b/src/tests/cpp/testobject/DeltaTestObj.hpp
@@ -95,7 +95,7 @@ class TESTOBJECT_EXPORT DeltaTestObj : public DeltaTestImpl {
   }
 };
 
-typedef apache::geode::client::SharedPtr<DeltaTestObj> DeltaTestObjPtr;
-}
+typedef std::shared_ptr<DeltaTestObj> DeltaTestObjPtr;
+}  // namespace testobject
 
 #endif  // GEODE_TESTOBJECT_DELTATESTOBJ_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/EqStruct.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/EqStruct.hpp b/src/tests/cpp/testobject/EqStruct.hpp
index c7ef273..19cef03 100644
--- a/src/tests/cpp/testobject/EqStruct.hpp
+++ b/src/tests/cpp/testobject/EqStruct.hpp
@@ -149,7 +149,7 @@ class TESTOBJECT_EXPORT EqStruct : public TimestampedObject {
   }
 };
 
-typedef apache::geode::client::SharedPtr<EqStruct> EqStructPtr;
+typedef std::shared_ptr<EqStruct> EqStructPtr;
 }  // namespace testobject
 
 #endif  // GEODE_TESTOBJECT_EQSTRUCT_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/FastAsset.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/FastAsset.hpp b/src/tests/cpp/testobject/FastAsset.hpp
index 0b929b4..6890943 100644
--- a/src/tests/cpp/testobject/FastAsset.hpp
+++ b/src/tests/cpp/testobject/FastAsset.hpp
@@ -47,7 +47,7 @@ using namespace apache::geode::client;
 using namespace testframework;
 namespace testobject {
 class FastAsset;
-typedef apache::geode::client::SharedPtr<FastAsset> FastAssetPtr;
+typedef std::shared_ptr<FastAsset> FastAssetPtr;
 
 class TESTOBJECT_EXPORT FastAsset : public TimestampedObject {
  private:
@@ -113,7 +113,7 @@ class TESTOBJECT_EXPORT FastAsset : public TimestampedObject {
   }
 };
 
-// typedef apache::geode::client::SharedPtr<FastAsset> FastAssetPtr;
+// typedef std::shared_ptr<FastAsset> FastAssetPtr;
 }  // namespace testobject
 
 #endif  // GEODE_TESTOBJECT_FASTASSET_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/FastAssetAccount.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/FastAssetAccount.hpp b/src/tests/cpp/testobject/FastAssetAccount.hpp
index 1127341..2e0376c 100644
--- a/src/tests/cpp/testobject/FastAssetAccount.hpp
+++ b/src/tests/cpp/testobject/FastAssetAccount.hpp
@@ -120,7 +120,7 @@ class TESTOBJECT_EXPORT FastAssetAccount : public TimestampedObject {
   }
 };
 
-typedef apache::geode::client::SharedPtr<FastAssetAccount> FastAssetAccountPtr;
+typedef std::shared_ptr<FastAssetAccount> FastAssetAccountPtr;
 }  // namespace testobject
 
 #endif  // GEODE_TESTOBJECT_FASTASSETACCOUNT_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/InvalidPdxUsage.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/InvalidPdxUsage.hpp b/src/tests/cpp/testobject/InvalidPdxUsage.hpp
index e2b9c48..130d9ad 100644
--- a/src/tests/cpp/testobject/InvalidPdxUsage.hpp
+++ b/src/tests/cpp/testobject/InvalidPdxUsage.hpp
@@ -145,7 +145,7 @@ class TESTOBJECT_EXPORT CharTypesWithInvalidUsage : public PdxSerializable {
     return new CharTypesWithInvalidUsage();
   }
 };
-typedef SharedPtr<CharTypesWithInvalidUsage> CharTypesWithInvalidUsagePtr;
+typedef std::shared_ptr<CharTypesWithInvalidUsage> CharTypesWithInvalidUsagePtr;
 
 class TESTOBJECT_EXPORT AddressWithInvalidAPIUsage : public PdxSerializable {
  private:
@@ -221,7 +221,8 @@ class TESTOBJECT_EXPORT AddressWithInvalidAPIUsage : public PdxSerializable {
 
   const char* getCity() { return _city; }
 };
-typedef SharedPtr<AddressWithInvalidAPIUsage> AddressWithInvalidAPIUsagePtr;
+typedef std::shared_ptr<AddressWithInvalidAPIUsage>
+    AddressWithInvalidAPIUsagePtr;
 
 enum pdxEnumTestWithInvalidAPIUsage { mypdx1, mypdx2, mypdx3 };
 
@@ -686,7 +687,7 @@ class TESTOBJECT_EXPORT InvalidPdxUsage : public PdxSerializable {
   bool generic2DCompare(T1** value1, T2** value2, int length,
                         int* arrLengths) const;
 };
-typedef SharedPtr<PdxTests::InvalidPdxUsage> InvalidPdxUsagePtr;
+typedef std::shared_ptr<PdxTests::InvalidPdxUsage> InvalidPdxUsagePtr;
 }  // namespace PdxTests
 
 #endif  // GEODE_TESTOBJECT_INVALIDPDXUSAGE_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/NestedPdxObject.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/NestedPdxObject.hpp b/src/tests/cpp/testobject/NestedPdxObject.hpp
index 2ab02ca..c77dd05 100644
--- a/src/tests/cpp/testobject/NestedPdxObject.hpp
+++ b/src/tests/cpp/testobject/NestedPdxObject.hpp
@@ -20,9 +20,9 @@
  * limitations under the License.
  */
 /*
-* NestedPdxObject.hpp
-*
-*/
+ * NestedPdxObject.hpp
+ *
+ */
 
 #include <geode/PdxSerializable.hpp>
 #include <geode/GeodeCppCache.hpp>
@@ -90,7 +90,7 @@ class TESTOBJECT_EXPORT ChildPdx : public PdxSerializable {
 
   bool equals(ChildPdx& other) const;
 };
-typedef SharedPtr<ChildPdx> ChildPdxPtr;
+typedef std::shared_ptr<ChildPdx> ChildPdxPtr;
 
 class TESTOBJECT_EXPORT ParentPdx : public PdxSerializable {
  private:
@@ -201,7 +201,7 @@ class TESTOBJECT_EXPORT ParentPdx : public PdxSerializable {
 
   bool equals(ParentPdx& other, bool isPdxReadSerialized) const;
 };
-typedef SharedPtr<ParentPdx> ParentPdxPtr;
+typedef std::shared_ptr<ParentPdx> ParentPdxPtr;
 
 enum enumQuerytest { id1, id2, id3 };
 
@@ -267,7 +267,7 @@ class TESTOBJECT_EXPORT PdxEnumTestClass : public PdxSerializable {
     return new PdxEnumTestClass();
   }
 };
-typedef SharedPtr<PdxEnumTestClass> PdxEnumTestClassPtr;
+typedef std::shared_ptr<PdxEnumTestClass> PdxEnumTestClassPtr;
 
 class TESTOBJECT_EXPORT SerializePdx : public PdxSerializable {
  private:
@@ -338,7 +338,7 @@ class TESTOBJECT_EXPORT SerializePdx : public PdxSerializable {
     return true;
   }
 };
-typedef SharedPtr<SerializePdx> SerializePdxPtr;
+typedef std::shared_ptr<SerializePdx> SerializePdxPtr;
 }  // namespace testobject
 
 #endif  // GEODE_TESTOBJECT_NESTEDPDXOBJECT_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/PSTObject.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/PSTObject.hpp b/src/tests/cpp/testobject/PSTObject.hpp
index cdeac83..ccd74f2 100644
--- a/src/tests/cpp/testobject/PSTObject.hpp
+++ b/src/tests/cpp/testobject/PSTObject.hpp
@@ -87,7 +87,7 @@ class TESTOBJECT_EXPORT PSTObject : public TimestampedObject {
   }
 };
 
-typedef apache::geode::client::SharedPtr<PSTObject> PSTObjectPtr;
+typedef std::shared_ptr<PSTObject> PSTObjectPtr;
 }  // namespace testobject
 
 #endif  // GEODE_TESTOBJECT_PSTOBJECT_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/PdxClassV1.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/PdxClassV1.hpp b/src/tests/cpp/testobject/PdxClassV1.hpp
index e30414b..e24a65e 100644
--- a/src/tests/cpp/testobject/PdxClassV1.hpp
+++ b/src/tests/cpp/testobject/PdxClassV1.hpp
@@ -83,7 +83,7 @@ class TESTOBJECT_EXPORT PdxType1V1 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxType1V1(); }
 };
-typedef SharedPtr<PdxType1V1> PdxType1V1Ptr;
+typedef std::shared_ptr<PdxType1V1> PdxType1V1Ptr;
 
 /************************************************************
  *  PdxType2V1
@@ -122,7 +122,7 @@ class TESTOBJECT_EXPORT PdxType2V1 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxType2V1(); }
 };
-typedef SharedPtr<PdxType2V1> PdxType2V1Ptr;
+typedef std::shared_ptr<PdxType2V1> PdxType2V1Ptr;
 
 /************************************************************
  *  PdxType3V1
@@ -166,7 +166,7 @@ class TESTOBJECT_EXPORT PdxType3V1 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxType3V1(); }
 };
-typedef SharedPtr<PdxType3V1> PdxType3V1Ptr;
+typedef std::shared_ptr<PdxType3V1> PdxType3V1Ptr;
 
 /************************************************************
  *  PdxTypesV1R1
@@ -205,7 +205,7 @@ class TESTOBJECT_EXPORT PdxTypesV1R1 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypesV1R1(); }
 };
-typedef SharedPtr<PdxTypesV1R1> PdxTypesV1R1Ptr;
+typedef std::shared_ptr<PdxTypesV1R1> PdxTypesV1R1Ptr;
 
 /************************************************************
  *  PdxTypesV1R2
@@ -244,7 +244,7 @@ class TESTOBJECT_EXPORT PdxTypesV1R2 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypesV1R2(); }
 };
-typedef SharedPtr<PdxTypesV1R2> PdxTypesV1R2Ptr;
+typedef std::shared_ptr<PdxTypesV1R2> PdxTypesV1R2Ptr;
 
 /************************************************************
  *  PdxTypesIgnoreUnreadFieldsV1
@@ -287,7 +287,8 @@ class TESTOBJECT_EXPORT PdxTypesIgnoreUnreadFieldsV1 : public PdxSerializable {
     return new PdxTypesIgnoreUnreadFieldsV1();
   }
 };
-typedef SharedPtr<PdxTypesIgnoreUnreadFieldsV1> PdxTypesIgnoreUnreadFieldsV1Ptr;
+typedef std::shared_ptr<PdxTypesIgnoreUnreadFieldsV1>
+    PdxTypesIgnoreUnreadFieldsV1Ptr;
 
 /************************************************************
  *  PdxVersionedV1
@@ -348,7 +349,7 @@ class TESTOBJECT_EXPORT PdxVersionedV1 : public PdxSerializable {
     return new PdxVersionedV1();
   }
 };
-typedef SharedPtr<PdxVersionedV1> PdxVersionedV1Ptr;
+typedef std::shared_ptr<PdxVersionedV1> PdxVersionedV1Ptr;
 
 /************************************************************
  *  TestKey

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/PdxClassV2.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/PdxClassV2.hpp b/src/tests/cpp/testobject/PdxClassV2.hpp
index 81b303b..3760ead 100644
--- a/src/tests/cpp/testobject/PdxClassV2.hpp
+++ b/src/tests/cpp/testobject/PdxClassV2.hpp
@@ -86,7 +86,7 @@ class TESTOBJECT_EXPORT PdxTypes1V2 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypes1V2(); }
 };
-typedef SharedPtr<PdxTypes1V2> PdxTypes1V2Ptr;
+typedef std::shared_ptr<PdxTypes1V2> PdxTypes1V2Ptr;
 
 /************************************************************
  *  PdxTypes2V2
@@ -129,7 +129,7 @@ class TESTOBJECT_EXPORT PdxTypes2V2 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypes2V2(); }
 };
-typedef SharedPtr<PdxTypes2V2> PdxTypes2V2Ptr;
+typedef std::shared_ptr<PdxTypes2V2> PdxTypes2V2Ptr;
 
 /************************************************************
  *  PdxTypes3V2
@@ -173,7 +173,7 @@ class TESTOBJECT_EXPORT PdxTypes3V2 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypes3V2(); }
 };
-typedef SharedPtr<PdxTypes3V2> PdxTypes3V2Ptr;
+typedef std::shared_ptr<PdxTypes3V2> PdxTypes3V2Ptr;
 
 /************************************************************
  *  PdxTypesR1V2
@@ -218,7 +218,7 @@ class TESTOBJECT_EXPORT PdxTypesR1V2 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypesR1V2(); }
 };
-typedef SharedPtr<PdxTypesR1V2> PdxTypesR1V2Ptr;
+typedef std::shared_ptr<PdxTypesR1V2> PdxTypesR1V2Ptr;
 
 /************************************************************
  *  PdxTypesR2V2
@@ -263,7 +263,7 @@ class TESTOBJECT_EXPORT PdxTypesR2V2 : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new PdxTypesR2V2(); }
 };
-typedef SharedPtr<PdxTypesR2V2> PdxTypesR2V2Ptr;
+typedef std::shared_ptr<PdxTypesR2V2> PdxTypesR2V2Ptr;
 
 /************************************************************
  *  PdxTypesIgnoreUnreadFieldsV2
@@ -312,7 +312,8 @@ class TESTOBJECT_EXPORT PdxTypesIgnoreUnreadFieldsV2 : public PdxSerializable {
     return new PdxTypesIgnoreUnreadFieldsV2();
   }
 };
-typedef SharedPtr<PdxTypesIgnoreUnreadFieldsV2> PdxTypesIgnoreUnreadFieldsV2Ptr;
+typedef std::shared_ptr<PdxTypesIgnoreUnreadFieldsV2>
+    PdxTypesIgnoreUnreadFieldsV2Ptr;
 
 /************************************************************
  *  PdxVersionedV2
@@ -374,7 +375,7 @@ class TESTOBJECT_EXPORT PdxVersionedV2 : public PdxSerializable {
     return new PdxVersionedV2();
   }
 };
-typedef SharedPtr<PdxVersionedV2> PdxVersionedV2Ptr;
+typedef std::shared_ptr<PdxVersionedV2> PdxVersionedV2Ptr;
 
 /************************************************************
  *  TestKey

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/PdxType.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/PdxType.hpp b/src/tests/cpp/testobject/PdxType.hpp
index ae24060..59963ec 100644
--- a/src/tests/cpp/testobject/PdxType.hpp
+++ b/src/tests/cpp/testobject/PdxType.hpp
@@ -80,7 +80,7 @@ class TESTOBJECT_EXPORT Parent : public GrandParent {
 };
 
 class Child;
-typedef SharedPtr<Child> ChildPtr;
+typedef std::shared_ptr<Child> ChildPtr;
 
 class TESTOBJECT_EXPORT Child : public Parent, public PdxSerializable {
  private:
@@ -242,7 +242,7 @@ class TESTOBJECT_EXPORT CharTypes : public PdxSerializable {
 
   static PdxSerializable* createDeserializable() { return new CharTypes(); }
 };
-typedef SharedPtr<CharTypes> CharTypesPtr;
+typedef std::shared_ptr<CharTypes> CharTypesPtr;
 
 /**********/
 class TESTOBJECT_EXPORT Address : public PdxSerializable {
@@ -322,7 +322,7 @@ class TESTOBJECT_EXPORT Address : public PdxSerializable {
     return str;
   }*/
 };
-typedef SharedPtr<Address> AddressPtr;
+typedef std::shared_ptr<Address> AddressPtr;
 enum pdxEnumTest { pdx1, pdx2, pdx3 };
 class TESTOBJECT_EXPORT PdxType : public PdxSerializable {
  private:
@@ -797,7 +797,7 @@ class TESTOBJECT_EXPORT PdxType : public PdxSerializable {
   bool generic2DCompare(T1** value1, T2** value2, int length,
                         int* arrLengths) const;
 };
-typedef SharedPtr<PdxTests::PdxType> PdxTypePtr;
+typedef std::shared_ptr<PdxTests::PdxType> PdxTypePtr;
 }  // namespace PdxTests
 
 #endif  // GEODE_TESTOBJECT_PDXTYPE_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/PdxVersioned1.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/PdxVersioned1.hpp b/src/tests/cpp/testobject/PdxVersioned1.hpp
index cbbb3b6..d16653a 100644
--- a/src/tests/cpp/testobject/PdxVersioned1.hpp
+++ b/src/tests/cpp/testobject/PdxVersioned1.hpp
@@ -254,7 +254,7 @@ class TESTOBJECT_EXPORT PdxVersioned1 : public PdxSerializable {
   bool generic2DCompare(T1** value1, T2** value2, int length,
                         int* arrLengths) const;
 };
-typedef SharedPtr<PdxTests::PdxVersioned1> PdxVersioned1Ptr;
+typedef std::shared_ptr<PdxTests::PdxVersioned1> PdxVersioned1Ptr;
 }  // namespace PdxTests
 
 #endif  // GEODE_TESTOBJECT_PDXVERSIONED1_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/PdxVersioned2.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/PdxVersioned2.hpp b/src/tests/cpp/testobject/PdxVersioned2.hpp
index f53cd52..18843d7 100644
--- a/src/tests/cpp/testobject/PdxVersioned2.hpp
+++ b/src/tests/cpp/testobject/PdxVersioned2.hpp
@@ -257,7 +257,7 @@ class TESTOBJECT_EXPORT PdxVersioned2 : public PdxSerializable {
   bool generic2DCompare(T1** value1, T2** value2, int length,
                         int* arrLengths) const;
 };
-typedef SharedPtr<PdxTests::PdxVersioned2> PdxVersioned2Ptr;
+typedef std::shared_ptr<PdxTests::PdxVersioned2> PdxVersioned2Ptr;
 }  // namespace PdxTests
 
 #endif  // GEODE_TESTOBJECT_PDXVERSIONED2_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/Portfolio.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/Portfolio.hpp b/src/tests/cpp/testobject/Portfolio.hpp
index 92cdaba..d147cfb 100644
--- a/src/tests/cpp/testobject/Portfolio.hpp
+++ b/src/tests/cpp/testobject/Portfolio.hpp
@@ -128,7 +128,7 @@ class TESTOBJECT_EXPORT Portfolio : public Serializable {
   CacheableStringPtr toString() const;
 };
 
-typedef SharedPtr<Portfolio> PortfolioPtr;
+typedef std::shared_ptr<Portfolio> PortfolioPtr;
 }  // namespace testobject
 
 #endif  // GEODE_TESTOBJECT_PORTFOLIO_H_

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/tests/cpp/testobject/PortfolioPdx.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cpp/testobject/PortfolioPdx.hpp b/src/tests/cpp/testobject/PortfolioPdx.hpp
index a4cc600..75d1483 100644
--- a/src/tests/cpp/testobject/PortfolioPdx.hpp
+++ b/src/tests/cpp/testobject/PortfolioPdx.hpp
@@ -105,7 +105,7 @@ class TESTOBJECT_EXPORT PortfolioPdx : public PdxSerializable {
   CacheableStringPtr toString() const;
 };
 
-typedef SharedPtr<PortfolioPdx> PortfolioPdxPtr;
+typedef std::shared_ptr<PortfolioPdx> PortfolioPdxPtr;
 }  // namespace testobject
 
 #endif  // GEODE_TESTOBJECT_PORTFOLIOPDX_H_


[5/9] geode-native git commit: GEODE-2741: Removes last of SharedPtr/SharedBase.

Posted by jb...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PdxInstanceImpl.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PdxInstanceImpl.hpp b/src/cppcache/src/PdxInstanceImpl.hpp
index 751d8c9..825c89a 100644
--- a/src/cppcache/src/PdxInstanceImpl.hpp
+++ b/src/cppcache/src/PdxInstanceImpl.hpp
@@ -38,917 +38,918 @@ typedef std::map<std::string, CacheablePtr> FieldVsValues;
 class CPPCACHE_EXPORT PdxInstanceImpl : public WritablePdxInstance {
  public:
   /**
-  * @brief destructor
-  */
+   * @brief destructor
+   */
   virtual ~PdxInstanceImpl();
 
   /**
-  * Deserializes and returns the domain object that this instance represents.
-  * For deserialization C++ Native Client requires the domain class to be
-  * registered.
-  * @return the deserialized domain object.
-  *
-  * @see Serializable::registerPdxType
-  */
+   * Deserializes and returns the domain object that this instance represents.
+   * For deserialization C++ Native Client requires the domain class to be
+   * registered.
+   * @return the deserialized domain object.
+   *
+   * @see Serializable::registerPdxType
+   */
   virtual PdxSerializablePtr getObject();
 
   /**
-  * Checks if the named field exists and returns the result.
-  * This can be useful when writing code that handles more than one version of
-  * a PDX class.
-  * @param fieldname the name of the field to check
-  * @return <code>true</code> if the named field exists; otherwise
-  * <code>false</code>
-  */
+   * Checks if the named field exists and returns the result.
+   * This can be useful when writing code that handles more than one version of
+   * a PDX class.
+   * @param fieldname the name of the field to check
+   * @return <code>true</code> if the named field exists; otherwise
+   * <code>false</code>
+   */
   virtual bool hasField(const char* fieldname);
 
   /**
-  * Reads the named field and set its value in bool type out param.
-  * bool type is corresponding to java boolean type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with bool type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in bool type out param.
+   * bool type is corresponding to java boolean type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with bool type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, bool& value) const;
 
   /**
-  * Reads the named field and set its value in signed char type out param.
-  * signed char type is corresponding to java byte type.
-  * For C++ on Windows and Linux, signed char type is corresponding to int8_t
-  * type.
-  * However C++ users on Solaris should always use this api after casting int8_t
-  * to signed char.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with signed char type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in signed char type out param.
+   * signed char type is corresponding to java byte type.
+   * For C++ on Windows and Linux, signed char type is corresponding to int8_t
+   * type.
+   * However C++ users on Solaris should always use this api after casting
+   * int8_t to signed char.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with signed char type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, signed char& value) const;
 
   /**
-  * Reads the named field and set its value in unsigned char type out param.
-  * unsigned char type is corresponding to java byte type.
-  * For C++ on Windows and Linux, unsigned char type is corresponding to int8_t
-  * type.
-  * However C++ users on Solaris should always use this api after casting int8_t
-  * to unsigned char.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with unsigned char type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in unsigned char type out param.
+   * unsigned char type is corresponding to java byte type.
+   * For C++ on Windows and Linux, unsigned char type is corresponding to int8_t
+   * type.
+   * However C++ users on Solaris should always use this api after casting
+   * int8_t to unsigned char.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with unsigned char type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, unsigned char& value) const;
 
   /**
-  * Reads the named field and set its value in int16_t type out param.
-  * int16_t type is corresponding to java short type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with int16_t type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in int16_t type out param.
+   * int16_t type is corresponding to java short type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with int16_t type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, int16_t& value) const;
 
   /**
-  * Reads the named field and set its value in int32_t type out param.
-  * int32_t type is corresponding to java int type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with int32_t type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  */
+   * Reads the named field and set its value in int32_t type out param.
+   * int32_t type is corresponding to java int type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with int32_t type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   */
   virtual void getField(const char* fieldname, int32_t& value) const;
 
   /**
-  * Reads the named field and set its value in int64_t type out param.
-  * int64_t type is corresponding to java long type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with int64_t type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in int64_t type out param.
+   * int64_t type is corresponding to java long type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with int64_t type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, int64_t& value) const;
 
   /**
-  * Reads the named field and set its value in float type out param.
-  * float type is corresponding to java float type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with float type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in float type out param.
+   * float type is corresponding to java float type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with float type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, float& value) const;
 
   /**
-  * Reads the named field and set its value in double type out param.
-  * double type is corresponding to java double type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with double type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in double type out param.
+   * double type is corresponding to java double type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with double type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, double& value) const;
 
   /**
-  * Reads the named field and set its value in wchar_t type out param.
-  * wchar_t type is corresponding to java char type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with wchar_t type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in wchar_t type out param.
+   * wchar_t type is corresponding to java char type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with wchar_t type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldName, wchar_t& value) const;
 
   /**
-  * Reads the named field and set its value in char type out param.
-  * char type is corresponding to java char type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with char type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in char type out param.
+   * char type is corresponding to java char type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with char type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldName, char& value) const;
 
   /**
-  * Reads the named field and set its value in bool array type out param.
-  * bool* type is corresponding to java boolean[] type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with bool array type.
-  * @param length length is set with number of bool elements.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in bool array type out param.
+   * bool* type is corresponding to java boolean[] type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with bool array type.
+   * @param length length is set with number of bool elements.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, bool** value,
                         int32_t& length) const;
 
   /**
-  * Reads the named field and set its value in signed char array type out param.
-  * signed char* type is corresponding to java byte[] type.
-  * For C++ on Windows and Linux, signed char* type is corresponding to int8_t*
-  * type.
-  * However C++ users on Solaris should always use this api after casting
-  * int8_t* to signed char*.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with signed char array type.
-  * @param length length is set with number of signed char elements.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in signed char array type out
+   * param. signed char* type is corresponding to java byte[] type. For C++ on
+   * Windows and Linux, signed char* type is corresponding to int8_t* type.
+   * However C++ users on Solaris should always use this api after casting
+   * int8_t* to signed char*.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with signed char array type.
+   * @param length length is set with number of signed char elements.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, signed char** value,
                         int32_t& length) const;
 
   /**
-  * Reads the named field and set its value in unsigned char array type out
-  * param.
-  * unsigned char* type is corresponding to java byte[] type.
-  * For C++ on Windows and Linux, unsigned char* type is corresponding to
-  * int8_t* type.
-  * However C++ users on Solaris should always use this api after casting
-  * int8_t* to unsigned char*.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with unsigned char array type.
-  * @param length length is set with number of unsigned char elements.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in unsigned char array type out
+   * param.
+   * unsigned char* type is corresponding to java byte[] type.
+   * For C++ on Windows and Linux, unsigned char* type is corresponding to
+   * int8_t* type.
+   * However C++ users on Solaris should always use this api after casting
+   * int8_t* to unsigned char*.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with unsigned char array type.
+   * @param length length is set with number of unsigned char elements.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, unsigned char** value,
                         int32_t& length) const;
 
   /**
-  * Reads the named field and set its value in int16_t array type out param.
-  * int16_t* type is corresponding to java short[] type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with int16_t array type.
-  * @param length length is set with number of int16_t elements.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in int16_t array type out param.
+   * int16_t* type is corresponding to java short[] type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with int16_t array type.
+   * @param length length is set with number of int16_t elements.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, int16_t** value,
                         int32_t& length) const;
 
   /**
-  * Reads the named field and set its value in int32_t array type out param.
-  * int32_t* type is corresponding to java int[] type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with int32_t array type.
-  * @param length length is set with number of int32_t elements.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in int32_t array type out param.
+   * int32_t* type is corresponding to java int[] type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with int32_t array type.
+   * @param length length is set with number of int32_t elements.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, int32_t** value,
                         int32_t& length) const;
 
   /**
-  * Reads the named field and set its value in int64_t array type out param.
-  * int64_t* type is corresponding to java long[] type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with int64_t array type.
-  * @param length length is set with number of int64_t elements.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in int64_t array type out param.
+   * int64_t* type is corresponding to java long[] type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with int64_t array type.
+   * @param length length is set with number of int64_t elements.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, int64_t** value,
                         int32_t& length) const;
 
   /**
-  * Reads the named field and set its value in float array type out param.
-  * float* type is corresponding to java float[] type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with float array type.
-  * @param length length is set with number of float elements.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in float array type out param.
+   * float* type is corresponding to java float[] type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with float array type.
+   * @param length length is set with number of float elements.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, float** value,
                         int32_t& length) const;
 
   /**
-  * Reads the named field and set its value in double array type out param.
-  * double* type is corresponding to java double[] type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with double array type.
-  * @param length length is set with number of double elements.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in double array type out param.
+   * double* type is corresponding to java double[] type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with double array type.
+   * @param length length is set with number of double elements.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, double** value,
                         int32_t& length) const;
 
   // charArray
   /**
-  * Reads the named field and set its value in wchar_t array type out param.
-  * wchar_t* type is corresponding to java String type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with wchar_t array type.
-  * @param length length is set with number of wchar_t* elements.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in wchar_t array type out param.
+   * wchar_t* type is corresponding to java String type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with wchar_t array type.
+   * @param length length is set with number of wchar_t* elements.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldName, wchar_t** value,
                         int32_t& length) const;
 
   /**
-  * Reads the named field and set its value in char array type out param.
-  * char* type is corresponding to java String type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with char array type.
-  * @param length length is set with number of char* elements.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in char array type out param.
+   * char* type is corresponding to java String type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with char array type.
+   * @param length length is set with number of char* elements.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldName, char** value,
                         int32_t& length) const;
 
   // String
   /**
-  * Reads the named field and set its value in wchar_t* type out param.
-  * wchar_t* type is corresponding to java String type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with wchar_t type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in wchar_t* type out param.
+   * wchar_t* type is corresponding to java String type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with wchar_t type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, wchar_t** value) const;
 
   /**
-  * Reads the named field and set its value in char* type out param.
-  * char* type is corresponding to java String type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with char* type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in char* type out param.
+   * char* type is corresponding to java String type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with char* type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, char** value) const;
 
   // StringArray
   /**
-  * Reads the named field and set its value in wchar_t* array type out param.
-  * wchar_t** type is corresponding to java String[] type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with wchar_t* array type.
-  * @param length length is set with number of wchar_t** elements.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in wchar_t* array type out param.
+   * wchar_t** type is corresponding to java String[] type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with wchar_t* array type.
+   * @param length length is set with number of wchar_t** elements.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, wchar_t*** value,
                         int32_t& length) const;
 
   /**
-  * Reads the named field and set its value in char* array type out param.
-  * char** type is corresponding to java String[] type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with char* array type.
-  * @param length length is set with number of char** elements.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in char* array type out param.
+   * char** type is corresponding to java String[] type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with char* array type.
+   * @param length length is set with number of char** elements.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, char*** value,
                         int32_t& length) const;
 
   /**
-  * Reads the named field and set its value in CacheableDatePtr type out param.
-  * CacheableDatePtr type is corresponding to java Java.util.date type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with CacheableDatePtr type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in CacheableDatePtr type out param.
+   * CacheableDatePtr type is corresponding to java Java.util.date type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with CacheableDatePtr type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, CacheableDatePtr& value) const;
 
   /**
-  * Reads the named field and set its value in array of byte arrays type out
-  * param.
-  * int8_t** type is corresponding to java byte[][] type.
-  * @param fieldname name of the field to read.
-  * @param value value of the field to be set with array of byte arrays type.
-  * @param arrayLength arrayLength is set to the number of byte arrays.
-  * @param elementLength elementLength is set to individual byte array lengths.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in array of byte arrays type out
+   * param.
+   * int8_t** type is corresponding to java byte[][] type.
+   * @param fieldname name of the field to read.
+   * @param value value of the field to be set with array of byte arrays type.
+   * @param arrayLength arrayLength is set to the number of byte arrays.
+   * @param elementLength elementLength is set to individual byte array lengths.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldName, int8_t*** value,
                         int32_t& arrayLength, int32_t*& elementLength) const;
 
   /**
-  * Reads the named field and set its value in CacheablePtr type out param.
-  * CacheablePtr type is corresponding to java object type.
-  * @param fieldname name of the field to read
-  * @param value value of the field to be set with CacheablePtr type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  * For deserialization C++ Native Client requires the domain class to be
-  * registered.
-  *
-  * @see Serializable::registerPdxType
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in CacheablePtr type out param.
+   * CacheablePtr type is corresponding to java object type.
+   * @param fieldname name of the field to read
+   * @param value value of the field to be set with CacheablePtr type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   * For deserialization C++ Native Client requires the domain class to be
+   * registered.
+   *
+   * @see Serializable::registerPdxType
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname, CacheablePtr& value) const;
 
   /**
-  * Reads the named field and set its value in CacheableObjectArrayPtr type out
-  * param.
-  * For deserialization C++ Native Client requires the domain class to be
-  * registered.
-  * CacheableObjectArrayPtr type is corresponding to java Object[] type.
-  * @param fieldname name of the field to read.
-  * @param value value of the field to be set with CacheableObjectArrayPtr type.
-  * @throws IllegalStateException if PdxInstance doesn't has the named field.
-  *
-  * @see Serializable::registerPdxType
-  * @see PdxInstance#hasField
-  */
+   * Reads the named field and set its value in CacheableObjectArrayPtr type out
+   * param.
+   * For deserialization C++ Native Client requires the domain class to be
+   * registered.
+   * CacheableObjectArrayPtr type is corresponding to java Object[] type.
+   * @param fieldname name of the field to read.
+   * @param value value of the field to be set with CacheableObjectArrayPtr
+   * type.
+   * @throws IllegalStateException if PdxInstance doesn't has the named field.
+   *
+   * @see Serializable::registerPdxType
+   * @see PdxInstance#hasField
+   */
   virtual void getField(const char* fieldname,
                         CacheableObjectArrayPtr& value) const;
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * bool type is corresponding to java boolean type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type bool
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * bool type is corresponding to java boolean type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type bool
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, bool value);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * signed char type is corresponding to java byte type.
-  * For C++ on Windows and Linux, signed char type is corresponding to int8_t
-  * type.
-  * However C++ users on Solaris should always use this api after casting int8_t
-  * to signed char.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type signed char
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * signed char type is corresponding to java byte type.
+   * For C++ on Windows and Linux, signed char type is corresponding to int8_t
+   * type.
+   * However C++ users on Solaris should always use this api after casting
+   * int8_t to signed char.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type signed char
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, signed char value);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * unsigned char type is corresponding to java byte type.
-  * For C++ on Windows and Linux, unsigned char type is corresponding to int8_t
-  * type.
-  * However C++ users on Solaris should always use this api after casting int8_t
-  * to unsigned char.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type unsigned char
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * unsigned char type is corresponding to java byte type.
+   * For C++ on Windows and Linux, unsigned char type is corresponding to int8_t
+   * type.
+   * However C++ users on Solaris should always use this api after casting
+   * int8_t to unsigned char.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type unsigned char
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, unsigned char value);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * int16_t type is corresponding to java short type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type int16_t
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * int16_t type is corresponding to java short type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type int16_t
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, int16_t value);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * int32_t type is corresponding to java int type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type int32_t
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * int32_t type is corresponding to java int type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type int32_t
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, int32_t value);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * int64_t type is corresponding to java long type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type int64_t
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * int64_t type is corresponding to java long type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type int64_t
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, int64_t value);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * float type is corresponding to java float type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type float
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * float type is corresponding to java float type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type float
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, float value);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * double type is corresponding to java double type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type double
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * double type is corresponding to java double type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type double
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, double value);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * wchar_t type is corresponding to java char type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type wchar_t
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * wchar_t type is corresponding to java char type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type wchar_t
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, wchar_t value);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * char type is corresponding to java char type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type char
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * char type is corresponding to java char type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type char
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, char value);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * CacheableDatePtr type is corresponding to java Java.util.date type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type CacheableDatePtr
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * CacheableDatePtr type is corresponding to java Java.util.date type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type CacheableDatePtr
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, CacheableDatePtr value);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * bool* type is corresponding to java boolean[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type bool array
-  * @param length
-  *          The number of elements in bool array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * bool* type is corresponding to java boolean[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type bool array
+   * @param length
+   *          The number of elements in bool array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, bool* value, int32_t length);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * signed char* type is corresponding to java byte[] type.
-  * For C++ on Windows and Linux, signed char* type is corresponding to int8_t*
-  * type.
-  * However C++ users on Solaris should always use this api after casting
-  * int8_t* to signed char*.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type signed char array
-  * @param length
-  *          The number of elements in signed char array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * signed char* type is corresponding to java byte[] type.
+   * For C++ on Windows and Linux, signed char* type is corresponding to int8_t*
+   * type.
+   * However C++ users on Solaris should always use this api after casting
+   * int8_t* to signed char*.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type signed char array
+   * @param length
+   *          The number of elements in signed char array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, signed char* value,
                         int32_t length);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * unsigned char* type is corresponding to java byte[] type.
-  * For C++ on Windows and Linux, unsigned char* type is corresponding to
-  * int8_t* type.
-  * However C++ users on Solaris should always use this api after casting
-  * int8_t* to unsigned char*.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type unsigned char array
-  * @param length
-  *          The number of elements in unsigned char array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * unsigned char* type is corresponding to java byte[] type.
+   * For C++ on Windows and Linux, unsigned char* type is corresponding to
+   * int8_t* type.
+   * However C++ users on Solaris should always use this api after casting
+   * int8_t* to unsigned char*.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type unsigned char array
+   * @param length
+   *          The number of elements in unsigned char array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, unsigned char* value,
                         int32_t length);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * int16_t* type is corresponding to java short[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type int16_t array
-  * @param length
-  *          The number of elements in int16_t array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * int16_t* type is corresponding to java short[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type int16_t array
+   * @param length
+   *          The number of elements in int16_t array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, int16_t* value, int32_t length);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * int32_t* type is corresponding to java int[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type int32_t array
-  * @param length
-  *          The number of elements in int32_t array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * int32_t* type is corresponding to java int[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type int32_t array
+   * @param length
+   *          The number of elements in int32_t array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, int32_t* value, int32_t length);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * int64_t* type is corresponding to java long[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type int64_t array
-  * @param length
-  *          The number of elements in int64_t array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * int64_t* type is corresponding to java long[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type int64_t array
+   * @param length
+   *          The number of elements in int64_t array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, int64_t* value, int32_t length);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * float* type is corresponding to java float[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type float array
-  * @param length
-  *          The number of elements in float array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * float* type is corresponding to java float[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type float array
+   * @param length
+   *          The number of elements in float array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, float* value, int32_t length);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * double* type is corresponding to java double[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type double array
-  * @param length
-  *          The number of elements in double array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * double* type is corresponding to java double[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type double array
+   * @param length
+   *          The number of elements in double array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, double* value, int32_t length);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * wchar_t* type is corresponding to java String type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type wchar_t*
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * wchar_t* type is corresponding to java String type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type wchar_t*
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, const wchar_t* value);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * char* type is corresponding to java String type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type char*
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * char* type is corresponding to java String type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type char*
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, const char* value);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * wchar_t* type is corresponding to java char[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type wchar_t array
-  * @param length
-  *          The number of elements in wchar_t array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * wchar_t* type is corresponding to java char[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type wchar_t array
+   * @param length
+   *          The number of elements in wchar_t array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, wchar_t* value, int32_t length);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * char* type is corresponding to java char[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type char array
-  * @param length
-  *          The number of elements in char array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * char* type is corresponding to java char[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type char array
+   * @param length
+   *          The number of elements in char array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, char* value, int32_t length);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * wchar_t** type is corresponding to java String[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type wchar_t* array
-  * @param length
-  *          The number of elements in WCString array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * wchar_t** type is corresponding to java String[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type wchar_t* array
+   * @param length
+   *          The number of elements in WCString array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, wchar_t** value, int32_t length);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * char** type is corresponding to java String[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type char* array
-  * @param length
-  *          The number of elements in CString array type.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * char** type is corresponding to java String[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type char* array
+   * @param length
+   *          The number of elements in CString array type.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, char** value, int32_t length);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * int8_t** type is corresponding to java byte[][] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type array of byte arrays
-  * @param arrayLength
-  *          The number of byte arrays.
-  * @param elementLength
-  *          The lengths of individual byte arrays.
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * int8_t** type is corresponding to java byte[][] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type array of byte arrays
+   * @param arrayLength
+   *          The number of byte arrays.
+   * @param elementLength
+   *          The lengths of individual byte arrays.
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, int8_t** value,
                         int32_t arrayLength, int32_t* elementLength);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  *  So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  *
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be assigned to the field of type CacheablePtr
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   *  So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   *
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be assigned to the field of type CacheablePtr
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, CacheablePtr value);
 
   /**
-  * Set the existing named field to the given value.
-  * The setField method has copy-on-write semantics.
-  * So for the modifications to be stored in the cache the WritablePdxInstance
-  * must be put into a region after setField has been called one or more times.
-  * CacheableObjectArrayPtr type is corresponding to java Object[] type.
-  * @param fieldName
-  *          name of the field whose value will be set
-  * @param value
-  *          value that will be set to the field of type CacheableObjectArrayPtr
-  * @throws IllegalStateException if the named field does not exist
-  * or if the type of the value is not compatible with the field.
-  */
+   * Set the existing named field to the given value.
+   * The setField method has copy-on-write semantics.
+   * So for the modifications to be stored in the cache the WritablePdxInstance
+   * must be put into a region after setField has been called one or more times.
+   * CacheableObjectArrayPtr type is corresponding to java Object[] type.
+   * @param fieldName
+   *          name of the field whose value will be set
+   * @param value
+   *          value that will be set to the field of type
+   * CacheableObjectArrayPtr
+   * @throws IllegalStateException if the named field does not exist
+   * or if the type of the value is not compatible with the field.
+   */
   virtual void setField(const char* fieldName, CacheableObjectArrayPtr value);
 
   /**
-  * Checks if the named field was {@link PdxWriter#markIdentityField}marked as
-  * an identity field.
-  * Note that if no fields have been marked then all the fields are used as
-  * identity fields even though
-  * this method will return <code>false</code> since none of them have been
-  * <em>marked</em>.
-  * @param fieldname the name of the field to check
-  * @return <code>true</code> if the named field exists and was marked as an
-  * identify field; otherwise <code>false</code>
-  */
+   * Checks if the named field was {@link PdxWriter#markIdentityField}marked as
+   * an identity field.
+   * Note that if no fields have been marked then all the fields are used as
+   * identity fields even though
+   * this method will return <code>false</code> since none of them have been
+   * <em>marked</em>.
+   * @param fieldname the name of the field to check
+   * @return <code>true</code> if the named field exists and was marked as an
+   * identify field; otherwise <code>false</code>
+   */
   virtual bool isIdentityField(const char* fieldname);
 
   /**
-  * Creates and returns a {@link WritablePdxInstance} whose initial
-  * values are those of this PdxInstance.
-  * This call returns a copy of the current field values so modifications
-  * made to the returned value will not modify this PdxInstance.
-  * @return a {@link WritablePdxInstance}
-  */
+   * Creates and returns a {@link WritablePdxInstance} whose initial
+   * values are those of this PdxInstance.
+   * This call returns a copy of the current field values so modifications
+   * made to the returned value will not modify this PdxInstance.
+   * @return a {@link WritablePdxInstance}
+   */
   virtual WritablePdxInstancePtr createWriter();
 
   /**
-  * Generates a hashcode based on the identity fields of
-  * this PdxInstance.
-  * <p>If a PdxInstance has marked identity fields using {@link
-  * PdxWriter#markIdentityField}
-  * then only the marked identity fields are its identity fields.
-  * Otherwise all its fields are identity fields.
-  * </p>
-  * For deserialization C++ Native Client requires the domain class to be
-  * registered.
-  * If the field is an array then all array
-  * elements are used for hashcode computation.
-  * Otherwise the raw bytes of its value are used to compute the hash code.
-  * @throws IllegalStateException if the field contains an element that is not
-  * of CacheableKey derived type.
-  *
-  * @see Serializable::registerPdxType
-  */
+   * Generates a hashcode based on the identity fields of
+   * this PdxInstance.
+   * <p>If a PdxInstance has marked identity fields using {@link
+   * PdxWriter#markIdentityField}
+   * then only the marked identity fields are its identity fields.
+   * Otherwise all its fields are identity fields.
+   * </p>
+   * For deserialization C++ Native Client requires the domain class to be
+   * registered.
+   * If the field is an array then all array
+   * elements are used for hashcode computation.
+   * Otherwise the raw bytes of its value are used to compute the hash code.
+   * @throws IllegalStateException if the field contains an element that is not
+   * of CacheableKey derived type.
+   *
+   * @see Serializable::registerPdxType
+   */
   virtual int32_t hashcode() const;
 
   /**
-  * Prints out all of the identity fields of this PdxInstance.
-  * <p>If a PdxInstance has marked identity fields using {@link
-  * PdxWriter#markIdentityField}
-  * then only the marked identity fields are its identity fields.
-  * Otherwise all its fields are identity fields</p>.
-  * For deserialization C++ Native Client requires the domain class to be
-  * registered.
-  *
-  * @see Serializable::registerPdxType
-  */
+   * Prints out all of the identity fields of this PdxInstance.
+   * <p>If a PdxInstance has marked identity fields using {@link
+   * PdxWriter#markIdentityField}
+   * then only the marked identity fields are its identity fields.
+   * Otherwise all its fields are identity fields</p>.
+   * For deserialization C++ Native Client requires the domain class to be
+   * registered.
+   *
+   * @see Serializable::registerPdxType
+   */
   virtual CacheableStringPtr toString() const;
 
   /**
-  * @brief serialize this object. This is an internal method.
-  */
+   * @brief serialize this object. This is an internal method.
+   */
   virtual void toData(DataOutput& output) const { PdxInstance::toData(output); }
 
   /**
@@ -960,48 +961,47 @@ class CPPCACHE_EXPORT PdxInstanceImpl : public WritablePdxInstance {
   }
 
   /**
-  * Returns true if the given CacheableKey derived object is equals to this
-  * instance.
-  * <p>If <code>other</code> is not a PdxInstance then it is not equal to this
-  * instance.
-  * NOTE: Even if <code>other</code> is the result of calling {@link
-  * #getObject()} it will not
-  * be equal to this instance</p>.
-  * <p>Otherwise equality of two PdxInstances is determined as follows:
-  * <ol>
-  * <li>The domain class name must be equal for both PdxInstances
-  * <li>Each identity field must be equal.
-  * </ol> </p>
-  * If one of the instances does not have a field that the other one does then
-  * equals will assume it
-  * has the field with a default value.
-  * If a PdxInstance has marked identity fields using {@link
-  * PdxWriter#markIdentityField markIdentityField}
-  * then only the marked identity fields are its identity fields.
-  * Otherwise all its fields are identity fields.
-  * <p>An identity field is equal if all the following are true:
-  * <ol>
-  * <li>The field name is equal.
-  * <li>The field type is equal.
-  * <li>The field value is equal.
-  * </ol> </p>
-  * If an identity field is of type derived from <code>Cacheable</code> then it
-  * is deserialized. For deserialization C++ Native Client requires the domain
-  * class to be registered.
-  * If the deserialized object is an array then all array elements
-  * are used to determine equality.
-  * If an identity field is of type <code>CacheableObjectArray</code> then it is
-  * deserialized and all array elements are used to determine equality.
-  * For all other field types the value does not need to be deserialized.
-  * Instead the serialized raw bytes are compared and used to determine
-  * equality.
-  * @param other the other instance to compare to this.
-  * @return <code>true</code> if this instance is equal to <code>other</code>.
-  * @throws IllegalStateException if the field contains an element that is not
-  * of CacheableKey derived type.
-  *
-  * @see Serializable::registerPdxType
-  */
+   * Returns true if the given CacheableKey derived object is equals to this
+   * instance.
+   * <p>If <code>other</code> is not a PdxInstance then it is not equal to this
+   * instance.
+   * NOTE: Even if <code>other</code> is the result of calling {@link
+   * #getObject()} it will not
+   * be equal to this instance</p>.
+   * <p>Otherwise equality of two PdxInstances is determined as follows:
+   * <ol>
+   * <li>The domain class name must be equal for both PdxInstances
+   * <li>Each identity field must be equal.
+   * </ol> </p>
+   * If one of the instances does not have a field that the other one does then
+   * equals will assume it
+   * has the field with a default value.
+   * If a PdxInstance has marked identity fields using {@link
+   * PdxWriter#markIdentityField markIdentityField}
+   * then only the marked identity fields are its identity fields.
+   * Otherwise all its fields are identity fields.
+   * <p>An identity field is equal if all the following are true:
+   * <ol>
+   * <li>The field name is equal.
+   * <li>The field type is equal.
+   * <li>The field value is equal.
+   * </ol> </p>
+   * If an identity field is of type derived from <code>Cacheable</code> then it
+   * is deserialized. For deserialization C++ Native Client requires the domain
+   * class to be registered.
+   * If the deserialized object is an array then all array elements
+   * are used to determine equality.
+   * If an identity field is of type <code>CacheableObjectArray</code> then it
+   * is deserialized and all array elements are used to determine equality. For
+   * all other field types the value does not need to be deserialized. Instead
+   * the serialized raw bytes are compared and used to determine equality.
+   * @param other the other instance to compare to this.
+   * @return <code>true</code> if this instance is equal to <code>other</code>.
+   * @throws IllegalStateException if the field contains an element that is not
+   * of CacheableKey derived type.
+   *
+   * @see Serializable::registerPdxType
+   */
   virtual bool operator==(const CacheableKey& other) const;
 
   /** @return the size of the object in bytes
@@ -1011,9 +1011,9 @@ class CPPCACHE_EXPORT PdxInstanceImpl : public WritablePdxInstance {
   virtual uint32_t objectSize() const;
 
   /**
-  * Return an unmodifiable list of the field names on this PdxInstance.
-  * @return an unmodifiable list of the field names on this PdxInstance
-  */
+   * Return an unmodifiable list of the field names on this PdxInstance.
+   * @return an unmodifiable list of the field names on this PdxInstance
+   */
   virtual CacheableStringArrayPtr getFieldNames();
 
   // From PdxSerializable
@@ -1025,18 +1025,18 @@ class CPPCACHE_EXPORT PdxInstanceImpl : public WritablePdxInstance {
   virtual void toData(PdxWriterPtr output) /*const*/;
 
   /**
-  * @brief Deserialize this object. This is an internal method.
-  * @param PdxReader to Deserialize the PDX object
-  */
+   * @brief Deserialize this object. This is an internal method.
+   * @param PdxReader to Deserialize the PDX object
+   */
   virtual void fromData(PdxReaderPtr input);
 
   /**
-  * Return the full name of the class that this pdx instance represents.
-  * @return the name of the class that this pdx instance represents.
-  * @throws IllegalStateException if the PdxInstance typeid is not defined yet,
-  * to get classname
-  * or if PdxType is not defined for PdxInstance.
-  */
+   * Return the full name of the class that this pdx instance represents.
+   * @return the name of the class that this pdx instance represents.
+   * @throws IllegalStateException if the PdxInstance typeid is not defined yet,
+   * to get classname
+   * or if PdxType is not defined for PdxInstance.
+   */
   virtual const char* getClassName() const;
 
   virtual PdxFieldTypes::PdxFieldType getFieldType(const char* fieldname) const;
@@ -1045,8 +1045,8 @@ class CPPCACHE_EXPORT PdxInstanceImpl : public WritablePdxInstance {
 
  public:
   /**
-  * @brief constructors
-  */
+   * @brief constructors
+   */
   PdxInstanceImpl();
 
   PdxInstanceImpl(uint8_t* buffer, int length, int typeId) {
@@ -1164,7 +1164,7 @@ class CPPCACHE_EXPORT PdxInstanceImpl : public WritablePdxInstance {
   static int8_t m_NULLARRAYDefaultBytes[];
   static PdxFieldTypePtr m_DefaultPdxFieldType;
 };
-typedef SharedPtr<PdxInstanceImpl> PdxInstanceImplPtr;
+typedef std::shared_ptr<PdxInstanceImpl> PdxInstanceImplPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PdxLocalReader.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PdxLocalReader.hpp b/src/cppcache/src/PdxLocalReader.hpp
index 8d9b86d..7f0c724 100644
--- a/src/cppcache/src/PdxLocalReader.hpp
+++ b/src/cppcache/src/PdxLocalReader.hpp
@@ -214,7 +214,7 @@ class PdxLocalReader : public PdxReader {
 
   virtual PdxUnreadFieldsPtr readUnreadFields();
 };
-typedef SharedPtr<PdxLocalReader> PdxLocalReaderPtr;
+typedef std::shared_ptr<PdxLocalReader> PdxLocalReaderPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PdxLocalWriter.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PdxLocalWriter.hpp b/src/cppcache/src/PdxLocalWriter.hpp
index d05e932..230eea3 100644
--- a/src/cppcache/src/PdxLocalWriter.hpp
+++ b/src/cppcache/src/PdxLocalWriter.hpp
@@ -335,7 +335,7 @@ class PdxLocalWriter : public PdxWriter,
 
   inline int32_t getStartPositionOffset() { return m_startPositionOffset; }
 };
-typedef SharedPtr<PdxLocalWriter> PdxLocalWriterPtr;
+typedef std::shared_ptr<PdxLocalWriter> PdxLocalWriterPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PdxReaderWithTypeCollector.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PdxReaderWithTypeCollector.hpp b/src/cppcache/src/PdxReaderWithTypeCollector.hpp
index 834e56d..8d89434 100644
--- a/src/cppcache/src/PdxReaderWithTypeCollector.hpp
+++ b/src/cppcache/src/PdxReaderWithTypeCollector.hpp
@@ -174,7 +174,8 @@ class PdxReaderWithTypeCollector : public PdxLocalReader {
   virtual void readCollection(const char* fieldName,
                               CacheableArrayListPtr& collection);
 };
-typedef SharedPtr<PdxReaderWithTypeCollector> PdxReaderWithTypeCollectorPtr;
+typedef std::shared_ptr<PdxReaderWithTypeCollector>
+    PdxReaderWithTypeCollectorPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PdxRemotePreservedData.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PdxRemotePreservedData.hpp b/src/cppcache/src/PdxRemotePreservedData.hpp
index da15c5a..07d6ac3 100644
--- a/src/cppcache/src/PdxRemotePreservedData.hpp
+++ b/src/cppcache/src/PdxRemotePreservedData.hpp
@@ -27,7 +27,7 @@ namespace apache {
 namespace geode {
 namespace client {
 class PdxRemotePreservedData;
-typedef SharedPtr<PdxRemotePreservedData> PdxRemotePreservedDataPtr;
+typedef std::shared_ptr<PdxRemotePreservedData> PdxRemotePreservedDataPtr;
 
 class PdxRemotePreservedData : public PdxUnreadFields {
  private:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PdxRemoteReader.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PdxRemoteReader.hpp b/src/cppcache/src/PdxRemoteReader.hpp
index 2856f89..b036513 100644
--- a/src/cppcache/src/PdxRemoteReader.hpp
+++ b/src/cppcache/src/PdxRemoteReader.hpp
@@ -209,7 +209,7 @@ class PdxRemoteReader : public PdxLocalReader {
   virtual void readCollection(const char* fieldName,
                               CacheableArrayListPtr& collection);
 };
-typedef SharedPtr<PdxRemoteReader> PdxRemoteReaderPtr;
+typedef std::shared_ptr<PdxRemoteReader> PdxRemoteReaderPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PdxRemoteWriter.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PdxRemoteWriter.hpp b/src/cppcache/src/PdxRemoteWriter.hpp
index 4b6d172..809833b 100644
--- a/src/cppcache/src/PdxRemoteWriter.hpp
+++ b/src/cppcache/src/PdxRemoteWriter.hpp
@@ -236,7 +236,7 @@ class PdxRemoteWriter : public PdxLocalWriter {
                                               int8_t** array, int arrayLength,
                                               int* elementLength);
 };
-typedef SharedPtr<PdxRemoteWriter> PdxRemoteWriterPtr;
+typedef std::shared_ptr<PdxRemoteWriter> PdxRemoteWriterPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PdxType.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PdxType.hpp b/src/cppcache/src/PdxType.hpp
index b14e767..3a90a78 100644
--- a/src/cppcache/src/PdxType.hpp
+++ b/src/cppcache/src/PdxType.hpp
@@ -39,7 +39,7 @@ namespace client {
 
 typedef std::map<std::string, PdxFieldTypePtr> NameVsPdxType;
 class PdxType;
-typedef SharedPtr<PdxType> PdxTypePtr;
+typedef std::shared_ptr<PdxType> PdxTypePtr;
 /* adongre
  * Coverity - II
  * CID 29178: Other violation (MISSING_COPY)

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/PdxWriterWithTypeCollector.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/PdxWriterWithTypeCollector.hpp b/src/cppcache/src/PdxWriterWithTypeCollector.hpp
index a203f51..714f2cb 100644
--- a/src/cppcache/src/PdxWriterWithTypeCollector.hpp
+++ b/src/cppcache/src/PdxWriterWithTypeCollector.hpp
@@ -204,7 +204,7 @@ class PdxWriterWithTypeCollector : public PdxLocalWriter {
    *Write a string array to the PdxWriter.
    *@param fieldName The name of the field associated with the value.
    *@param value The string array value to write
-  */
+   */
   virtual PdxWriterPtr writeStringArray(const char* fieldName, char** array,
                                         int length);
 
@@ -223,7 +223,8 @@ class PdxWriterWithTypeCollector : public PdxLocalWriter {
 
   virtual PdxWriterPtr writeUnreadFields(PdxUnreadFieldsPtr unread);
 };
-typedef SharedPtr<PdxWriterWithTypeCollector> PdxWriterWithTypeCollectorPtr;
+typedef std::shared_ptr<PdxWriterWithTypeCollector>
+    PdxWriterWithTypeCollectorPtr;
 }  // namespace client
 }  // namespace geode
 }  // namespace apache


[9/9] geode-native git commit: GEODE-2741: Removes last of SharedPtr/SharedBase.

Posted by jb...@apache.org.
GEODE-2741: Removes last of SharedPtr/SharedBase.

- Fixes Solaris compilation.
 - Removes template parameter packing.
 - Updates default set of linker libraries.
- Removes UnwrapSharedPtr and things of that nature.
- Removes TypeHelper
- Removes SharedPtr alias.
- Removed custom new/delete operators.
- Fixes std::cout usage.


Project: http://git-wip-us.apache.org/repos/asf/geode-native/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode-native/commit/b1a9af53
Tree: http://git-wip-us.apache.org/repos/asf/geode-native/tree/b1a9af53
Diff: http://git-wip-us.apache.org/repos/asf/geode-native/diff/b1a9af53

Branch: refs/heads/develop
Commit: b1a9af530dee2687fe9c86c184a723ac02204a69
Parents: 3220350
Author: Jacob Barrett <jb...@pivotal.io>
Authored: Sat Jun 10 07:40:41 2017 +0000
Committer: Jacob Barrett <jb...@pivotal.io>
Committed: Thu Jun 22 10:47:05 2017 -0700

----------------------------------------------------------------------
 src/clicache/src/CacheFactory.hpp               |    8 -
 src/clicache/src/impl/AuthenticatedCache.cpp    |    2 +-
 .../include/geode/AttributesFactory.hpp         |    2 +-
 .../include/geode/AttributesMutator.hpp         |    2 +-
 src/cppcache/include/geode/AuthInitialize.hpp   |    3 +-
 src/cppcache/include/geode/Cache.hpp            |    3 +-
 src/cppcache/include/geode/CacheAttributes.hpp  |    2 +-
 src/cppcache/include/geode/CacheFactory.hpp     |    4 +-
 src/cppcache/include/geode/CacheListener.hpp    |   48 +-
 src/cppcache/include/geode/CacheLoader.hpp      |    2 +-
 src/cppcache/include/geode/CacheStatistics.hpp  |    2 +-
 .../include/geode/CacheTransactionManager.hpp   |    3 +-
 src/cppcache/include/geode/CacheWriter.hpp      |    2 +-
 src/cppcache/include/geode/Cacheable.hpp        |    2 +-
 src/cppcache/include/geode/Cacheable.inl        |    2 +-
 .../include/geode/CacheableBuiltins.hpp         |  106 +-
 src/cppcache/include/geode/CacheableKey.hpp     |   19 +-
 src/cppcache/include/geode/CacheableKey.inl     |    2 +-
 src/cppcache/include/geode/CqAttributes.hpp     |    2 +-
 .../include/geode/CqAttributesFactory.hpp       |    2 +-
 .../include/geode/CqAttributesMutator.hpp       |    2 +-
 src/cppcache/include/geode/CqListener.hpp       |    2 +-
 src/cppcache/include/geode/CqQuery.hpp          |    2 +-
 .../include/geode/CqServiceStatistics.hpp       |    2 +-
 src/cppcache/include/geode/CqStatistics.hpp     |    2 +-
 src/cppcache/include/geode/DataInput.hpp        |    2 +-
 src/cppcache/include/geode/DataOutput.hpp       |    2 +-
 .../include/geode/DistributedSystem.hpp         |    2 +-
 src/cppcache/include/geode/EntryEvent.hpp       |    2 +-
 src/cppcache/include/geode/Exception.hpp        |    4 +-
 src/cppcache/include/geode/ExceptionTypes.hpp   |    2 +-
 src/cppcache/include/geode/Execution.hpp        |    4 +-
 src/cppcache/include/geode/FunctionService.hpp  |   84 +-
 src/cppcache/include/geode/GeodeCppCache.hpp    |    2 +-
 src/cppcache/include/geode/HashFunction.hpp     |    2 +-
 .../include/geode/PartitionResolver.hpp         |  105 +-
 .../include/geode/PdxInstanceFactory.hpp        |    2 +-
 src/cppcache/include/geode/PdxReader.hpp        |    4 +-
 src/cppcache/include/geode/PdxSerializable.hpp  |    4 -
 src/cppcache/include/geode/PdxSerializer.hpp    |    2 +-
 src/cppcache/include/geode/PdxUnreadFields.hpp  |    3 +-
 src/cppcache/include/geode/PdxWrapper.hpp       |    4 -
 src/cppcache/include/geode/PdxWriter.hpp        |    4 +-
 .../include/geode/PersistenceManager.hpp        |    2 +-
 src/cppcache/include/geode/Pool.hpp             |    4 +-
 src/cppcache/include/geode/PoolFactory.hpp      |    3 +-
 src/cppcache/include/geode/Query.hpp            |    2 +-
 src/cppcache/include/geode/QueryService.hpp     |    2 +-
 src/cppcache/include/geode/Region.hpp           |    3 +-
 src/cppcache/include/geode/RegionAttributes.hpp |    5 +-
 src/cppcache/include/geode/RegionEntry.hpp      |    2 +-
 src/cppcache/include/geode/RegionFactory.hpp    |    3 +-
 src/cppcache/include/geode/RegionService.hpp    |    2 +-
 src/cppcache/include/geode/ResultCollector.hpp  |   10 +-
 src/cppcache/include/geode/SelectResults.hpp    |    2 +-
 .../include/geode/SelectResultsIterator.hpp     |    2 +-
 src/cppcache/include/geode/Serializable.hpp     |    4 -
 src/cppcache/include/geode/Serializer.hpp       |   75 +-
 src/cppcache/include/geode/SharedBase.hpp       |   54 -
 src/cppcache/include/geode/SharedPtr.hpp        |   38 -
 src/cppcache/include/geode/SharedPtrHelper.hpp  |   86 -
 src/cppcache/include/geode/TransactionId.hpp    |    7 +-
 src/cppcache/include/geode/TypeHelper.hpp       |  155 --
 src/cppcache/include/geode/UserData.hpp         |    2 +-
 .../geode/UserFunctionExecutionException.hpp    |   64 +-
 .../include/geode/VectorOfSharedBase.hpp        |  173 --
 .../include/geode/WritablePdxInstance.hpp       |  785 ++++-----
 src/cppcache/include/geode/geode_base.hpp       |   26 +-
 src/cppcache/include/geode/geode_globals.hpp    |   14 +-
 src/cppcache/include/geode/geode_types.hpp      |    6 +-
 src/cppcache/include/geode/utils.hpp            |    9 +-
 src/cppcache/integration-test/CacheHelper.cpp   |    4 +-
 src/cppcache/integration-test/DeltaEx.hpp       |    2 +-
 src/cppcache/integration-test/QueryHelper.hpp   |    4 +-
 src/cppcache/integration-test/TallyListener.hpp |    2 +-
 src/cppcache/integration-test/TallyLoader.hpp   |    2 +-
 src/cppcache/integration-test/TallyWriter.hpp   |    2 +-
 .../integration-test/ThinClientDistOps.hpp      |    4 +-
 .../integration-test/ThinClientDurable.hpp      |    2 +-
 .../ThinClientDurableFailover.hpp               |    2 +-
 .../ThinClientDurableInterest.hpp               |    2 +-
 .../ThinClientDurableReconnect.hpp              |    2 +-
 .../integration-test/ThinClientGatewayTest.hpp  |    2 +-
 .../integration-test/ThinClientHelper.hpp       |    1 -
 .../ThinClientListenerWriter.hpp                |    3 +-
 .../ThinClientRIwithlocalRegionDestroy.hpp      |    2 +-
 .../ThinClientTransactionsXA.hpp                |    1 -
 src/cppcache/integration-test/fw_dunit.cpp      |   12 -
 src/cppcache/integration-test/fw_dunit.hpp      |    4 +-
 src/cppcache/integration-test/fw_helper.hpp     |    2 -
 src/cppcache/integration-test/no_cout.hpp       |   83 -
 src/cppcache/integration-test/testCache.cpp     |   86 +-
 .../integration-test/testDataOutput.cpp         |   30 +-
 src/cppcache/integration-test/testDunit.cpp     |    4 +-
 .../integration-test/testEntriesMap.cpp         |    9 +-
 .../integration-test/testExpiration.cpp         |    6 +-
 src/cppcache/integration-test/testFWHelper.cpp  |    9 +-
 src/cppcache/integration-test/testLRUList.cpp   |   11 +-
 .../testOverflowPutGetSqLite.cpp                |   14 +-
 src/cppcache/integration-test/testRegionMap.cpp |   18 +-
 .../integration-test/testSerialization.cpp      |    8 +-
 .../testThinClientConflation.cpp                |    2 +-
 .../integration-test/testThinClientCq.cpp       |    2 +-
 .../integration-test/testThinClientCqDelta.cpp  |    5 +-
 .../testThinClientExecuteFunctionPrSHOP.cpp     |    4 +-
 .../testThinClientHAEventIDMap.cpp              |    2 +-
 .../testThinClientHAPeriodicAck.cpp             |    2 +-
 .../testThinClientInterest1Cacheless.cpp        |    5 +-
 .../testThinClientInterestNotify.cpp            |    5 +-
 .../testThinClientLRUExpiration.cpp             |    2 +-
 .../testThinClientListenerCallbackArgTest.cpp   |    8 +-
 .../testThinClientListenerEvents.cpp            |    3 +-
 .../testThinClientPoolExecuteFunction.cpp       |   28 +-
 .../testThinClientPoolExecuteFunctionPrSHOP.cpp |   32 +-
 ...ClientPoolExecuteFunctionThrowsException.cpp |    2 +-
 .../testThinClientPoolExecuteHAFunction.cpp     |   16 +-
 ...estThinClientPoolExecuteHAFunctionPrSHOP.cpp |   12 +-
 .../testThinClientRemoteQueryRS.cpp             |   24 +-
 .../testThinClientRemoteQuerySS.cpp             |    2 +-
 .../testXmlCacheCreationWithOverFlow.cpp        |  150 +-
 .../testXmlCacheCreationWithPools.cpp           |  121 +-
 .../testXmlCacheCreationWithRefid.cpp           |   28 +-
 src/cppcache/src/AdminRegion.hpp                |   17 +-
 src/cppcache/src/Cache.cpp                      |    3 +-
 src/cppcache/src/CacheImpl.cpp                  |    7 +-
 src/cppcache/src/CacheImpl.hpp                  |   10 +-
 .../src/CacheTransactionManagerImpl.cpp         |   10 +-
 .../src/CacheTransactionManagerImpl.hpp         |   28 +-
 src/cppcache/src/CacheXmlCreation.cpp           |    4 +-
 src/cppcache/src/CacheXmlParser.cpp             |   16 +-
 src/cppcache/src/CacheableObjectPartList.hpp    |    2 +-
 src/cppcache/src/CacheableToken.hpp             |    2 +-
 src/cppcache/src/CachedDeserializableHelper.hpp |    3 +-
 src/cppcache/src/ClientConnectionResponse.hpp   |    4 +-
 src/cppcache/src/ClientMetadata.hpp             |    4 +-
 src/cppcache/src/ClientMetadataService.hpp      |    7 +-
 src/cppcache/src/ClientProxyMembershipID.cpp    |   11 +-
 src/cppcache/src/ClientProxyMembershipID.hpp    |    2 +-
 src/cppcache/src/CqService.hpp                  |   18 +-
 src/cppcache/src/DSMemberForVersionStamp.hpp    |    2 +-
 src/cppcache/src/DistributedSystem.cpp          |    4 -
 src/cppcache/src/DistributedSystemImpl.hpp      |   42 +-
 src/cppcache/src/EnumInfo.hpp                   |    2 +-
 src/cppcache/src/EventIdMap.hpp                 |   10 +-
 src/cppcache/src/EventSource.hpp                |    4 +-
 src/cppcache/src/EvictionController.hpp         |    7 +-
 src/cppcache/src/ExpMapEntry.hpp                |    4 +-
 src/cppcache/src/FarSideEntryOp.hpp             |    2 +-
 src/cppcache/src/FunctionService.cpp            |   11 +-
 src/cppcache/src/GetAllServersResponse.cpp      |    3 -
 src/cppcache/src/GetAllServersResponse.hpp      |    2 +-
 .../InternalCacheTransactionManager2PCImpl.cpp  |    2 +-
 src/cppcache/src/LRUExpMapEntry.hpp             |    4 +-
 src/cppcache/src/LRUList.hpp                    |    4 +-
 src/cppcache/src/LRUMapEntry.hpp                |    4 +-
 src/cppcache/src/LocalRegion.hpp                |    2 +-
 src/cppcache/src/LocatorListResponse.hpp        |    4 +-
 src/cppcache/src/MapEntry.hpp                   |   12 +-
 src/cppcache/src/MapWithLock.hpp                |    6 +-
 src/cppcache/src/MemberListForVersionStamp.hpp  |    6 +-
 src/cppcache/src/PdxFieldType.hpp               |    2 +-
 src/cppcache/src/PdxHelper.cpp                  |    9 +-
 src/cppcache/src/PdxInstanceImpl.cpp            |    6 -
 src/cppcache/src/PdxInstanceImpl.hpp            | 1518 ++++++++---------
 src/cppcache/src/PdxLocalReader.hpp             |    2 +-
 src/cppcache/src/PdxLocalWriter.hpp             |    2 +-
 src/cppcache/src/PdxReaderWithTypeCollector.hpp |    3 +-
 src/cppcache/src/PdxRemotePreservedData.hpp     |    2 +-
 src/cppcache/src/PdxRemoteReader.hpp            |    2 +-
 src/cppcache/src/PdxRemoteWriter.hpp            |    2 +-
 src/cppcache/src/PdxType.hpp                    |    2 +-
 src/cppcache/src/PdxWriterWithTypeCollector.hpp |    5 +-
 src/cppcache/src/PoolAttributes.hpp             |    3 +-
 src/cppcache/src/ProxyCache.cpp                 |    2 +-
 src/cppcache/src/ProxyRegion.hpp                | 1531 +++++++++---------
 src/cppcache/src/ProxyRemoteQueryService.hpp    |    4 +-
 src/cppcache/src/PutAllPartialResult.hpp        |    2 +-
 .../src/PutAllPartialResultServerException.hpp  |   48 +-
 src/cppcache/src/QueueConnectionResponse.hpp    |    2 +-
 src/cppcache/src/RegionCommit.hpp               |    6 +-
 src/cppcache/src/RegionConfig.hpp               |    6 +-
 src/cppcache/src/RegionInternal.hpp             |    6 +-
 src/cppcache/src/RemoteQuery.hpp                |    4 +-
 src/cppcache/src/RemoteQueryService.hpp         |    4 +-
 src/cppcache/src/SharedPtr.cpp                  |   37 -
 src/cppcache/src/StackTrace.hpp                 |    8 +-
 src/cppcache/src/TXCommitMessage.cpp            |   30 +-
 src/cppcache/src/TXCommitMessage.hpp            |    9 +-
 src/cppcache/src/TXEntryState.hpp               |    2 +-
 src/cppcache/src/TcrChunkedContext.hpp          |    6 +-
 .../src/ThinClientCacheDistributionManager.hpp  |    7 +-
 src/cppcache/src/ThinClientPoolDM.hpp           |    2 +-
 src/cppcache/src/ThinClientPoolHADM.hpp         |    2 +-
 src/cppcache/src/ThinClientPoolStickyDM.hpp     |    2 +-
 src/cppcache/src/ThinClientPoolStickyHADM.hpp   |    2 +-
 src/cppcache/src/ThinClientRegion.cpp           |    2 +-
 src/cppcache/src/ThinClientRegion.hpp           |   17 +-
 src/cppcache/src/TombstoneList.hpp              |   10 +-
 src/cppcache/src/TransactionalOperation.cpp     |   13 +-
 src/cppcache/src/TransactionalOperation.hpp     |    2 +-
 src/cppcache/src/UserAttributes.hpp             |    6 +-
 src/cppcache/src/Utils.cpp                      |   95 +-
 src/cppcache/src/Utils.hpp                      |   18 +-
 src/cppcache/src/VectorOfSharedBase.cpp         |  211 ---
 src/cppcache/src/VersionStamp.hpp               |    4 +-
 .../src/VersionedCacheableObjectPartList.hpp    |    2 +-
 src/cppcache/src/dllmain.cpp                    |   22 -
 .../src/statistics/AtomicStatisticsImpl.cpp     |   13 +-
 .../src/statistics/AtomicStatisticsImpl.hpp     |   15 -
 src/cppcache/test/AutoDeleteTest.cpp            |    3 +-
 src/cppcache/test/DataInputTest.cpp             |    4 +-
 src/cppcache/test/DataOutputTest.cpp            |    2 +-
 src/quickstart/cpp/Delta.cpp                    |    2 +-
 src/quickstart/cpp/queryobjects/Portfolio.hpp   |    4 +-
 .../cpp/queryobjects/PortfolioPdx.hpp           |    4 +-
 .../cpp/queryobjects/PortfolioPdxAuto.hpp       |    2 +-
 src/quickstart/cpp/queryobjects/Position.hpp    |    4 +-
 src/quickstart/cpp/queryobjects/PositionPdx.hpp |    4 +-
 .../cpp/queryobjects/PositionPdxAuto.hpp        |    2 +-
 src/tests/cpp/fwklib/FrameworkTest.cpp          |    9 -
 src/tests/cpp/fwklib/FrameworkTest.hpp          |  129 +-
 src/tests/cpp/fwklib/QueryHelper.hpp            |    4 +-
 src/tests/cpp/security/CredentialGenerator.hpp  |   17 +-
 .../security/XmlAuthzCredentialGenerator.hpp    |    6 +-
 src/tests/cpp/testobject/BatchObject.hpp        |    2 +-
 .../cpp/testobject/DeltaFastAssetAccount.hpp    |    3 +-
 src/tests/cpp/testobject/DeltaPSTObject.hpp     |    2 +-
 src/tests/cpp/testobject/DeltaTestImpl.hpp      |    2 +-
 src/tests/cpp/testobject/DeltaTestObj.hpp       |    4 +-
 src/tests/cpp/testobject/EqStruct.hpp           |    2 +-
 src/tests/cpp/testobject/FastAsset.hpp          |    4 +-
 src/tests/cpp/testobject/FastAssetAccount.hpp   |    2 +-
 src/tests/cpp/testobject/InvalidPdxUsage.hpp    |    7 +-
 src/tests/cpp/testobject/NestedPdxObject.hpp    |   14 +-
 src/tests/cpp/testobject/PSTObject.hpp          |    2 +-
 src/tests/cpp/testobject/PdxClassV1.hpp         |   15 +-
 src/tests/cpp/testobject/PdxClassV2.hpp         |   15 +-
 src/tests/cpp/testobject/PdxType.hpp            |    8 +-
 src/tests/cpp/testobject/PdxVersioned1.hpp      |    2 +-
 src/tests/cpp/testobject/PdxVersioned2.hpp      |    2 +-
 src/tests/cpp/testobject/Portfolio.hpp          |    2 +-
 src/tests/cpp/testobject/PortfolioPdx.hpp       |    2 +-
 src/tests/cpp/testobject/Position.hpp           |    2 +-
 src/tests/cpp/testobject/PositionPdx.hpp        |    2 +-
 src/tests/cpp/testobject/TestObject1.hpp        |    2 +-
 src/tests/cpp/testobject/TimestampedObject.hpp  |    3 +-
 src/tests/cpp/testobject/VariousPdxTypes.hpp    |   27 +-
 247 files changed, 2943 insertions(+), 4164 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/clicache/src/CacheFactory.hpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/CacheFactory.hpp b/src/clicache/src/CacheFactory.hpp
index 5133681..ca7f07b 100644
--- a/src/clicache/src/CacheFactory.hpp
+++ b/src/clicache/src/CacheFactory.hpp
@@ -126,14 +126,6 @@ namespace Apache
         static Cache^ GetAnyInstance();
 
         /// <summary>
-        /// Set allocators for non default Microsoft CRT versions.
-        /// </summary>
-        static void SetNewAndDelete()
-        {
-          native::setNewAndDelete(&operator new, &operator delete);
-        }
-
-        /// <summary>
         /// Returns the version of the cache implementation.
         /// For the 1.0 release of Geode, the string returned is <c>1.0</c>.
         /// </summary>

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/clicache/src/impl/AuthenticatedCache.cpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/impl/AuthenticatedCache.cpp b/src/clicache/src/impl/AuthenticatedCache.cpp
index 55b11c4..a8e2b15 100644
--- a/src/clicache/src/impl/AuthenticatedCache.cpp
+++ b/src/clicache/src/impl/AuthenticatedCache.cpp
@@ -111,7 +111,7 @@ namespace Apache
         {
           GC::KeepAlive(m_nativeptr);
         }
-        auto rootRegions = gcnew array<IRegion<TKey, TValue>^>( vrr.size( ) );
+        auto rootRegions = gcnew array<IRegion<TKey, TValue>^>( static_cast<int>(vrr.size( )) );
 
         for( System::Int32 index = 0; index < vrr.size( ); index++ )
         {

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/AttributesFactory.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/AttributesFactory.hpp b/src/cppcache/include/geode/AttributesFactory.hpp
index 8ccb973..fe5363c 100644
--- a/src/cppcache/include/geode/AttributesFactory.hpp
+++ b/src/cppcache/include/geode/AttributesFactory.hpp
@@ -149,7 +149,7 @@ namespace client {
  * @see Region#createSubregion(String, RegionAttributes)
  */
 
-class CPPCACHE_EXPORT AttributesFactory : public SharedBase {
+class CPPCACHE_EXPORT AttributesFactory {
   /**
     * @brief public methods
     */

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/AttributesMutator.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/AttributesMutator.hpp b/src/cppcache/include/geode/AttributesMutator.hpp
index 9765bd0..37c1762 100644
--- a/src/cppcache/include/geode/AttributesMutator.hpp
+++ b/src/cppcache/include/geode/AttributesMutator.hpp
@@ -52,7 +52,7 @@ class CacheWriter;
  * @see RegionAttributes
  * @see AttributesFactory
  */
-class CPPCACHE_EXPORT AttributesMutator : public SharedBase {
+class CPPCACHE_EXPORT AttributesMutator {
  private:
   RegionPtr m_region;
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/AuthInitialize.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/AuthInitialize.hpp b/src/cppcache/include/geode/AuthInitialize.hpp
index bde0d7c..569af59 100644
--- a/src/cppcache/include/geode/AuthInitialize.hpp
+++ b/src/cppcache/include/geode/AuthInitialize.hpp
@@ -42,8 +42,7 @@ namespace client {
  * AuthInitialize object) as the <code>security-client-auth-factory</code>
  * system property.
  */
-class CPPCACHE_EXPORT AuthInitialize
-    : public ::apache::geode::client::SharedBase {
+class CPPCACHE_EXPORT AuthInitialize {
  public:
   /**@brief initialize with the given set of security properties
    * and return the credentials for the client as properties.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/Cache.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/Cache.hpp b/src/cppcache/include/geode/Cache.hpp
index 95b6ed8..30332a6 100644
--- a/src/cppcache/include/geode/Cache.hpp
+++ b/src/cppcache/include/geode/Cache.hpp
@@ -232,10 +232,11 @@ class CPPCACHE_EXPORT Cache : public GeodeCache,
    */
   Cache(const char* name, DistributedSystemPtr sys, const char* id_data,
         bool ignorePdxUnreadFields, bool readPdxSerialized);
+
   std::unique_ptr<CacheImpl> m_cacheImpl;
 
  protected:
-  Cache();
+  Cache() = delete;
 
   static bool isPoolInMultiuserMode(RegionPtr regionPtr);
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CacheAttributes.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CacheAttributes.hpp b/src/cppcache/include/geode/CacheAttributes.hpp
index 3363e43..23ce2f6 100644
--- a/src/cppcache/include/geode/CacheAttributes.hpp
+++ b/src/cppcache/include/geode/CacheAttributes.hpp
@@ -53,7 +53,7 @@ class CacheAttributesFactory;
 
 _GF_PTR_DEF_(CacheAttributes, CacheAttributesPtr);
 
-class CPPCACHE_EXPORT CacheAttributes : public SharedBase {
+class CPPCACHE_EXPORT CacheAttributes  {
   /**
    * @brief public static methods
    */

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CacheFactory.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CacheFactory.hpp b/src/cppcache/include/geode/CacheFactory.hpp
index 0bf6b47..885b8d1 100644
--- a/src/cppcache/include/geode/CacheFactory.hpp
+++ b/src/cppcache/include/geode/CacheFactory.hpp
@@ -45,9 +45,7 @@ class CppCacheLibrary;
  * For the default values for the pool attributes see {@link PoolFactory}.
  * To create additional {@link Pool}s see {@link PoolManager}
  */
-class CPPCACHE_EXPORT CacheFactory
-    : public SharedBase,
-      public std::enable_shared_from_this<CacheFactory> {
+class CPPCACHE_EXPORT CacheFactory : public std::enable_shared_from_this<CacheFactory> {
  public:
   /**
    * To create the instance of {@link CacheFactory}

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CacheListener.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CacheListener.hpp b/src/cppcache/include/geode/CacheListener.hpp
index 87ff012..9619d56 100644
--- a/src/cppcache/include/geode/CacheListener.hpp
+++ b/src/cppcache/include/geode/CacheListener.hpp
@@ -22,7 +22,7 @@
 
 #include "geode_globals.hpp"
 #include "geode_types.hpp"
-#include "SharedPtr.hpp"
+#include <memory>
 
 /**
  * @file
@@ -75,10 +75,10 @@ class RegionEvent;
  * @see RegionAttributes::getCacheListener
  * @see CacheListenerException
  */
-class CPPCACHE_EXPORT CacheListener : public SharedBase {
+class CPPCACHE_EXPORT CacheListener {
   /**
-    * @brief public methods
-    */
+   * @brief public methods
+   */
  public:
   /**
    * @brief destructor
@@ -114,7 +114,7 @@ class CPPCACHE_EXPORT CacheListener : public SharedBase {
    *
    * @param event EntryEvent denotes the event object associated with the entry
    * invalidation
-  */
+   */
   virtual void afterInvalidate(const EntryEvent& event);
 
   /**
@@ -170,29 +170,29 @@ class CPPCACHE_EXPORT CacheListener : public SharedBase {
   virtual void afterRegionLive(const RegionEvent& event);
 
   /** Called when the region containing this callback is destroyed, when
-    * the cache is closed.
-    *
-    * <p>Implementations should clean up any external
-    * resources, such as database connections. Any runtime exceptions this
+   * the cache is closed.
+   *
+   * <p>Implementations should clean up any external
+   * resources, such as database connections. Any runtime exceptions this
    * method
-    * throws will be logged.
-    *
-    * <p>It is possible for this method to be called multiple times on a single
-    * callback instance, so implementations must be tolerant of this.
-    *
-    * @see Cache::close
-    * @see Region::destroyRegion
-    */
+   * throws will be logged.
+   *
+   * <p>It is possible for this method to be called multiple times on a single
+   * callback instance, so implementations must be tolerant of this.
+   *
+   * @see Cache::close
+   * @see Region::destroyRegion
+   */
 
   virtual void close(const RegionPtr& region);
   /**
-  * Called when all the endpoints assosiated with region are down.
-  * This will be called when all the endpoints are down for the first time.
-  * If endpoints come up and again go down it will be called again.
-  * This will also be called when all endpoints are down and region is attached
-  * to the pool.
-  * @param region RegionPtr denotes the assosiated region.
-  */
+   * Called when all the endpoints assosiated with region are down.
+   * This will be called when all the endpoints are down for the first time.
+   * If endpoints come up and again go down it will be called again.
+   * This will also be called when all endpoints are down and region is attached
+   * to the pool.
+   * @param region RegionPtr denotes the assosiated region.
+   */
   virtual void afterRegionDisconnected(const RegionPtr& region);
 
  protected:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CacheLoader.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CacheLoader.hpp b/src/cppcache/include/geode/CacheLoader.hpp
index b205f79..5a1f898 100644
--- a/src/cppcache/include/geode/CacheLoader.hpp
+++ b/src/cppcache/include/geode/CacheLoader.hpp
@@ -53,7 +53,7 @@ namespace client {
  * @see AttributesFactory::setCacheLoader
  * @see RegionAttributes::getCacheLoader
  */
-class CPPCACHE_EXPORT CacheLoader : public SharedBase {
+class CPPCACHE_EXPORT CacheLoader  {
  public:
   /**Loads a value. Application writers should implement this
    * method to customize the loading of a value. This method is called

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CacheStatistics.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CacheStatistics.hpp b/src/cppcache/include/geode/CacheStatistics.hpp
index a646c16..f14fd82 100644
--- a/src/cppcache/include/geode/CacheStatistics.hpp
+++ b/src/cppcache/include/geode/CacheStatistics.hpp
@@ -42,7 +42,7 @@ class LocalRegion;
 *@see Region::getStatistics
 *@see RegionEntry::getStatistics
 */
-class CPPCACHE_EXPORT CacheStatistics : public SharedBase {
+class CPPCACHE_EXPORT CacheStatistics  {
  public:
   CacheStatistics();
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CacheTransactionManager.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CacheTransactionManager.hpp b/src/cppcache/include/geode/CacheTransactionManager.hpp
index fb91954..5a5e96a 100644
--- a/src/cppcache/include/geode/CacheTransactionManager.hpp
+++ b/src/cppcache/include/geode/CacheTransactionManager.hpp
@@ -33,8 +33,7 @@ namespace apache {
 namespace geode {
 namespace client {
 
-class CPPCACHE_EXPORT CacheTransactionManager
-    : public apache::geode::client::SharedBase {
+class CPPCACHE_EXPORT CacheTransactionManager {
  public:
   /** Creates a new transaction and associates it with the current thread.
    *

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CacheWriter.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CacheWriter.hpp b/src/cppcache/include/geode/CacheWriter.hpp
index 457ef24..6451b7f 100644
--- a/src/cppcache/include/geode/CacheWriter.hpp
+++ b/src/cppcache/include/geode/CacheWriter.hpp
@@ -87,7 +87,7 @@ class RegionEvent;
  * @see RegionAttributes::getCacheWriter
  * @see AttributesMutator::setCacheWriter
  */
-class CPPCACHE_EXPORT CacheWriter : public SharedBase {
+class CPPCACHE_EXPORT CacheWriter  {
  public:
   /**
    * Called before an entry is updated. The entry update is initiated by a

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/Cacheable.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/Cacheable.hpp b/src/cppcache/include/geode/Cacheable.hpp
index daf398e..8833b29 100644
--- a/src/cppcache/include/geode/Cacheable.hpp
+++ b/src/cppcache/include/geode/Cacheable.hpp
@@ -35,7 +35,7 @@ typedef SerializablePtr CacheablePtr;
 typedef Serializable Cacheable;
 
 template <typename TVALUE>
-inline CacheablePtr createValue(const SharedPtr<TVALUE>& value);
+inline CacheablePtr createValue(const std::shared_ptr<TVALUE>& value);
 
 template <typename TVALUE>
 inline CacheablePtr createValue(const TVALUE* value);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/Cacheable.inl
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/Cacheable.inl b/src/cppcache/include/geode/Cacheable.inl
index cfde539..68108ac 100644
--- a/src/cppcache/include/geode/Cacheable.inl
+++ b/src/cppcache/include/geode/Cacheable.inl
@@ -37,7 +37,7 @@ inline CacheablePtr Cacheable::create( const PRIM value )
 }
 
 template <typename TVALUE>
-inline CacheablePtr createValue( const SharedPtr< TVALUE >& value )
+inline CacheablePtr createValue( const std::shared_ptr< TVALUE >& value )
 {
   return std::dynamic_pointer_cast<Cacheable>(value);
 }

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CacheableBuiltins.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CacheableBuiltins.hpp b/src/cppcache/include/geode/CacheableBuiltins.hpp
index eda1611..af12149 100644
--- a/src/cppcache/include/geode/CacheableBuiltins.hpp
+++ b/src/cppcache/include/geode/CacheableBuiltins.hpp
@@ -37,6 +37,9 @@ namespace apache {
 namespace geode {
 namespace client {
 
+template <typename Target, int8_t TYPEID>
+class CacheableArrayType;
+
 /** sprintf implementation. */
 extern int gf_sprintf(char* buffer, const char* fmt, ...);
 
@@ -146,24 +149,27 @@ inline void copyArray(TObj* dest, const TObj* src, int32_t length) {
 }
 
 /**
- * Function to copy an array of <code>SharedPtr</code>s from
+ * Function to copy an array of <code>std::shared_ptr</code>s from
  * source to destination.
  */
 template <typename TObj>
-inline void copyArray(SharedPtr<TObj>* dest, const SharedPtr<TObj>* src,
-                      int32_t length) {
+inline void copyArray(std::shared_ptr<TObj>* dest,
+                      const std::shared_ptr<TObj>* src, int32_t length) {
   for (int32_t index = 0; index < length; index++) {
     dest[index] = src[index];
   }
 }
 
 /**
- * Function to copy an array of <code>SharedArrayPtr</code>s from
- * source to destination.
+ * Function to copy an array of
+ * <code>std::shared_ptr<CacheableArrayType<>></code>s from source to
+ * destination.
  */
 template <typename TObj, int8_t TYPEID>
-inline void copyArray(SharedArrayPtr<TObj, TYPEID>* dest,
-                      const SharedArrayPtr<TObj, TYPEID>* src, int32_t length) {
+inline void copyArray(
+    std::shared_ptr<CacheableArrayType<TObj, TYPEID>>* dest,
+    const std::shared_ptr<CacheableArrayType<TObj, TYPEID>>* src,
+    int32_t length) {
   for (int32_t index = 0; index < length; index++) {
     dest[index] = src[index];
   }
@@ -344,7 +350,7 @@ class CacheableContainerType : public Cacheable, public TBase {
   CacheableKeyType<p, GeodeTypeIds::k, tName_##k, tStr_##k, sz>;              \
   typedef CacheableKeyType<p, GeodeTypeIds::k, tName_##k, tStr_##k, sz> _##k; \
   class CPPCACHE_EXPORT k;                                                    \
-  typedef SharedPtr<k> k##Ptr;
+  typedef std::shared_ptr<k> k##Ptr;
 
 // use a class instead of typedef for bug #283
 #define _GF_CACHEABLE_KEY_TYPE_(p, k, sz)                                      \
@@ -371,50 +377,50 @@ class CacheableContainerType : public Cacheable, public TBase {
   TEMPLATE_EXPORT CacheableArrayType<p, GeodeTypeIds::c>; \
   typedef CacheableArrayType<p, GeodeTypeIds::c> _##c;    \
   class CPPCACHE_EXPORT c;                                \
-  typedef SharedArrayPtr<p, GeodeTypeIds::c> c##Ptr;
+  typedef std::shared_ptr<CacheableArrayType<p, GeodeTypeIds::c>> c##Ptr;
 
 // use a class instead of typedef for bug #283
-#define _GF_CACHEABLE_ARRAY_TYPE_(p, c)                                        \
-  class CPPCACHE_EXPORT c : public _##c {                                      \
-   protected:                                                                  \
-    inline c() : _##c() {}                                                     \
-    inline c(int32_t length) : _##c(length) {}                                 \
-    inline c(p* value, int32_t length) : _##c(value, length) {}                \
-    inline c(const p* value, int32_t length, bool copy)                        \
-        : _##c(value, length, true) {}                                         \
-                                                                               \
-   private:                                                                    \
-    /* Private to disable copy constructor and assignment operator. */         \
-    c(const c& other);                                                         \
-    c& operator=(const c& other);                                              \
-                                                                               \
-    FRIEND_STD_SHARED_PTR(c)                                                   \
-                                                                               \
-   public:                                                                     \
-    /** Factory function registered with serialization registry. */            \
-    static Serializable* createDeserializable() { return new c(); }            \
-    /** Factory function to create a new default instance. */                  \
-    inline static c##Ptr create() { return std::make_shared<c>(); }            \
-    /** Factory function to create a cacheable array of given size. */         \
-    inline static c##Ptr create(int32_t length) {                              \
-      return std::make_shared<c>(length);                                      \
-    }                                                                          \
-    /** Create a cacheable array copying from the given array. */              \
-    inline static c##Ptr create(const p* value, int32_t length) {              \
-      return nullptr == value ? nullptr                                        \
-                              : std::make_shared<c>(value, length, true);      \
-    }                                                                          \
-    /**                                                                        \
-     * Create a cacheable array taking ownership of the given array            \
-     * without creating a copy.                                                \
-     *                                                                         \
-     * Note that the application has to ensure that the given array is         \
-     * not deleted (apart from this class) and is allocated on the heap        \
-     * using the "new" operator.                                               \
-     */                                                                        \
-    inline static c##Ptr createNoCopy(p* value, int32_t length) {              \
-      return nullptr == value ? nullptr : std::make_shared<c>(value, length);  \
-    }                                                                          \
+#define _GF_CACHEABLE_ARRAY_TYPE_(p, c)                                          \
+  class CPPCACHE_EXPORT c : public _##c {                                        \
+   protected:                                                                    \
+    inline c() : _##c() {}                                                       \
+    inline c(int32_t length) : _##c(length) {}                                   \
+    inline c(p* value, int32_t length) : _##c(value, length) {}                  \
+    inline c(const p* value, int32_t length, bool copy)                          \
+        : _##c(value, length, true) {}                                           \
+                                                                                 \
+   private:                                                                      \
+    /* Private to disable copy constructor and assignment operator. */           \
+    c(const c& other);                                                           \
+    c& operator=(const c& other);                                                \
+                                                                                 \
+    FRIEND_STD_SHARED_PTR(c)                                                     \
+                                                                                 \
+   public:                                                                       \
+    /** Factory function registered with serialization registry. */              \
+    static Serializable* createDeserializable() { return new c(); }              \
+    /** Factory function to create a new default instance. */                    \
+    inline static c##Ptr create() { return std::make_shared<c>(); }              \
+    /** Factory function to create a cacheable array of given size. */           \
+    inline static c##Ptr create(int32_t length) {                                \
+      return std::make_shared<c>(length);                                        \
+    }                                                                            \
+    /** Create a cacheable array copying from the given array. */                \
+    inline static c##Ptr create(const p* value, int32_t length) {                \
+      return nullptr == value ? nullptr                                          \
+                              : std::make_shared<c>(value, length, true);        \
+    }                                                                            \
+    /**                                                                          \
+     * Create a cacheable array taking ownership of the given array              \
+     * without creating a copy.                                                  \
+     *                                                                           \
+     * Note that the application has to ensure that the given array is           \
+     * not deleted (apart from this class) and is allocated on the heap          \
+     * using the "new" operator.                                                 \
+     */                                                                          \
+    inline static c##Ptr createNoCopy(p* value, int32_t length) {                \
+      return nullptr == value ? nullptr : std::make_shared<c>(value, length);    \
+    }                                                                            \
   };
 
 #define _GF_CACHEABLE_CONTAINER_TYPE_DEF_(p, c)               \

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CacheableKey.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CacheableKey.hpp b/src/cppcache/include/geode/CacheableKey.hpp
index 9666f24..5369b55 100644
--- a/src/cppcache/include/geode/CacheableKey.hpp
+++ b/src/cppcache/include/geode/CacheableKey.hpp
@@ -82,24 +82,25 @@ class CPPCACHE_EXPORT CacheableKey : public Cacheable {
       return s->hashcode();
     }
 
-    inline std::size_t operator()(const std::shared_ptr<CacheableKey>& s) const {
+    inline std::size_t operator()(
+        const std::shared_ptr<CacheableKey>& s) const {
       return s->hashcode();
     }
   };
-  
+
   struct equal_to {
-    inline bool operator()(const CacheableKey &lhs,
-                           const CacheableKey &rhs) const {
+    inline bool operator()(const CacheableKey& lhs,
+                           const CacheableKey& rhs) const {
       return lhs == rhs;
     }
 
-    inline bool operator()(const CacheableKey* &lhs,
-                           const CacheableKey* &rhs) const {
+    inline bool operator()(const CacheableKey*& lhs,
+                           const CacheableKey*& rhs) const {
       return (*lhs) == (*rhs);
     }
 
-    inline bool operator()(const std::shared_ptr<CacheableKey> &lhs,
-                    const std::shared_ptr<CacheableKey> &rhs) const {
+    inline bool operator()(const std::shared_ptr<CacheableKey>& lhs,
+                           const std::shared_ptr<CacheableKey>& rhs) const {
       return (*lhs) == (*rhs);
     }
   };
@@ -111,7 +112,7 @@ class CPPCACHE_EXPORT CacheableKey : public Cacheable {
 };
 
 template <class TKEY>
-inline CacheableKeyPtr createKey(const SharedPtr<TKEY>& value);
+inline CacheableKeyPtr createKey(const std::shared_ptr<TKEY>& value);
 
 template <typename TKEY>
 inline CacheableKeyPtr createKey(const TKEY* value);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CacheableKey.inl
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CacheableKey.inl b/src/cppcache/include/geode/CacheableKey.inl
index 180bffb..236d528 100644
--- a/src/cppcache/include/geode/CacheableKey.inl
+++ b/src/cppcache/include/geode/CacheableKey.inl
@@ -37,7 +37,7 @@ inline CacheableKeyPtr CacheableKey::create( const PRIM value )
 }
 
 template <class TKEY>
-inline CacheableKeyPtr createKey( const SharedPtr< TKEY >& value )
+inline CacheableKeyPtr createKey( const std::shared_ptr< TKEY >& value )
 {
   return CacheableKeyPtr( value );
 }

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CqAttributes.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CqAttributes.hpp b/src/cppcache/include/geode/CqAttributes.hpp
index 97bf72c..d4dba2a 100644
--- a/src/cppcache/include/geode/CqAttributes.hpp
+++ b/src/cppcache/include/geode/CqAttributes.hpp
@@ -47,7 +47,7 @@ namespace client {
  *
  * For compatibility rules and default values, see {@link CqAttributesFactory}.
  */
-class CPPCACHE_EXPORT CqAttributes : virtual public SharedBase {
+class CPPCACHE_EXPORT CqAttributes {
  public:
   typedef std::vector<std::shared_ptr<CqListener>> listener_container_type;
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CqAttributesFactory.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CqAttributesFactory.hpp b/src/cppcache/include/geode/CqAttributesFactory.hpp
index e0d51d6..ce97d43 100644
--- a/src/cppcache/include/geode/CqAttributesFactory.hpp
+++ b/src/cppcache/include/geode/CqAttributesFactory.hpp
@@ -53,7 +53,7 @@ namespace client {
  * @see CqAttributes
  *
  */
-class CPPCACHE_EXPORT CqAttributesFactory : public SharedBase {
+class CPPCACHE_EXPORT CqAttributesFactory  {
  public:
   /**
    * Creates a new instance of AttributesFactory ready to create a

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CqAttributesMutator.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CqAttributesMutator.hpp b/src/cppcache/include/geode/CqAttributesMutator.hpp
index 97cec1a..9f910f4 100644
--- a/src/cppcache/include/geode/CqAttributesMutator.hpp
+++ b/src/cppcache/include/geode/CqAttributesMutator.hpp
@@ -40,7 +40,7 @@ namespace client {
  * of certain CQ attributes after the CQ has been created.
  *
  */
-class CPPCACHE_EXPORT CqAttributesMutator : virtual public SharedBase {
+class CPPCACHE_EXPORT CqAttributesMutator {
  public:
   /**
    * Adds a CQ listener to the end of the list of CQ listeners on this CqQuery.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CqListener.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CqListener.hpp b/src/cppcache/include/geode/CqListener.hpp
index 8396a36..409c06e 100644
--- a/src/cppcache/include/geode/CqListener.hpp
+++ b/src/cppcache/include/geode/CqListener.hpp
@@ -43,7 +43,7 @@ namespace client {
  * is an event satisfied by the CQ and the other called when there is an
  * error during CQ processing.
  */
-class CPPCACHE_EXPORT CqListener : public SharedBase {
+class CPPCACHE_EXPORT CqListener  {
  public:
   /**
    * This method is invoked when an event is occurred on the region

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CqQuery.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CqQuery.hpp b/src/cppcache/include/geode/CqQuery.hpp
index 7f587cd..e95b427 100644
--- a/src/cppcache/include/geode/CqQuery.hpp
+++ b/src/cppcache/include/geode/CqQuery.hpp
@@ -50,7 +50,7 @@ namespace client {
  * operate on the same <code>CqQuery</code> object concurrently rather should
  * have their own <code>CqQuery</code> objects.
  */
-class CPPCACHE_EXPORT CqQuery : public SharedBase {
+class CPPCACHE_EXPORT CqQuery  {
  public:
   /**
    * Get the query string provided when a new Query was created from a

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CqServiceStatistics.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CqServiceStatistics.hpp b/src/cppcache/include/geode/CqServiceStatistics.hpp
index 3ae2f5b..9c2a103 100644
--- a/src/cppcache/include/geode/CqServiceStatistics.hpp
+++ b/src/cppcache/include/geode/CqServiceStatistics.hpp
@@ -37,7 +37,7 @@ namespace client {
  * This class provides methods to get aggregate statistical information
  * about the CQs of a client.
  */
-class CPPCACHE_EXPORT CqServiceStatistics : public SharedBase {
+class CPPCACHE_EXPORT CqServiceStatistics  {
  public:
   /**
    * Get the number of CQs currently active.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/CqStatistics.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/CqStatistics.hpp b/src/cppcache/include/geode/CqStatistics.hpp
index ea446e8..4c16292 100644
--- a/src/cppcache/include/geode/CqStatistics.hpp
+++ b/src/cppcache/include/geode/CqStatistics.hpp
@@ -42,7 +42,7 @@ namespace client {
  * represented by the CqQuery object.
  *
  */
-class CPPCACHE_EXPORT CqStatistics : public SharedBase {
+class CPPCACHE_EXPORT CqStatistics {
  public:
   /**
    * Get number of Insert events qualified by this CQ.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/DataInput.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/DataInput.hpp b/src/cppcache/include/geode/DataInput.hpp
index cfc3e1d..1976dde 100644
--- a/src/cppcache/include/geode/DataInput.hpp
+++ b/src/cppcache/include/geode/DataInput.hpp
@@ -595,7 +595,7 @@ class CPPCACHE_EXPORT DataInput {
    * @see staticCast
    */
   template <class PTR>
-  inline void readObject(SharedPtr<PTR>& ptr,
+  inline void readObject(std::shared_ptr<PTR>& ptr,
                          bool throwOnError = DINP_THROWONERROR_DEFAULT) {
     SerializablePtr sPtr;
     readObjectInternal(sPtr);

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/DataOutput.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/DataOutput.hpp b/src/cppcache/include/geode/DataOutput.hpp
index bba752f..c087c4d 100644
--- a/src/cppcache/include/geode/DataOutput.hpp
+++ b/src/cppcache/include/geode/DataOutput.hpp
@@ -579,7 +579,7 @@ class CPPCACHE_EXPORT DataOutput {
    *   to be written
    */
   template <class PTR>
-  void writeObject(const SharedPtr<PTR>& objptr, bool isDelta = false) {
+  void writeObject(const std::shared_ptr<PTR>& objptr, bool isDelta = false) {
     writeObjectInternal(objptr.get(), isDelta);
   }
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/DistributedSystem.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/DistributedSystem.hpp b/src/cppcache/include/geode/DistributedSystem.hpp
index 601c0f9..c633616 100644
--- a/src/cppcache/include/geode/DistributedSystem.hpp
+++ b/src/cppcache/include/geode/DistributedSystem.hpp
@@ -47,7 +47,7 @@ class CacheRegionHelper;
 class DiffieHellman;
 class TcrConnection;
 
-class CPPCACHE_EXPORT DistributedSystem : public SharedBase {
+class CPPCACHE_EXPORT DistributedSystem {
   /**
    * @brief public methods
    */

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/EntryEvent.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/EntryEvent.hpp b/src/cppcache/include/geode/EntryEvent.hpp
index bd7192c..43cd355 100644
--- a/src/cppcache/include/geode/EntryEvent.hpp
+++ b/src/cppcache/include/geode/EntryEvent.hpp
@@ -34,7 +34,7 @@ namespace client {
 
 /** Represents an entry event affecting an entry, including its identity and the
  * the circumstances of the event. */
-class CPPCACHE_EXPORT EntryEvent : public apache::geode::client::SharedBase {
+class CPPCACHE_EXPORT EntryEvent {
  protected:
   RegionPtr m_region;      /**< Region */
   CacheableKeyPtr m_key;   /**< Cacheable key */

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/Exception.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/Exception.hpp b/src/cppcache/include/geode/Exception.hpp
index f712dc4..4bb88f7 100644
--- a/src/cppcache/include/geode/Exception.hpp
+++ b/src/cppcache/include/geode/Exception.hpp
@@ -34,7 +34,7 @@ namespace client {
 #define GF_EX_MSG_LIMIT 2048
 
 class Exception;
-typedef SharedPtr<Exception> ExceptionPtr;
+typedef std::shared_ptr<Exception> ExceptionPtr;
 
 class DistributedSystem;
 
@@ -42,7 +42,7 @@ class DistributedSystem;
  * @class Exception Exception.hpp
  * A description of an exception that occurred during a cache operation.
  */
-class CPPCACHE_EXPORT Exception : public SharedBase {
+class CPPCACHE_EXPORT Exception {
   /**
    * @brief public methods
    */

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/ExceptionTypes.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/ExceptionTypes.hpp b/src/cppcache/include/geode/ExceptionTypes.hpp
index 19e0346..86cdaf4 100644
--- a/src/cppcache/include/geode/ExceptionTypes.hpp
+++ b/src/cppcache/include/geode/ExceptionTypes.hpp
@@ -34,7 +34,7 @@ namespace client {
 #define _GF_EXCEPTION_DEF(x)                                                 \
   const char _exception_name_##x[] = "apache::geode::client::" #x;           \
   class x;                                                                   \
-  typedef SharedPtr<x> x##Ptr;                                               \
+  typedef std::shared_ptr<x> x##Ptr;                                         \
   class CPPCACHE_EXPORT x : public apache::geode::client::Exception {        \
    public:                                                                   \
     x(const char* msg1, const char* msg2 = nullptr, bool forceStack = false, \

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/Execution.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/Execution.hpp b/src/cppcache/include/geode/Execution.hpp
index 5b6ab97..71eabdc 100644
--- a/src/cppcache/include/geode/Execution.hpp
+++ b/src/cppcache/include/geode/Execution.hpp
@@ -28,7 +28,7 @@
 #include "geode_globals.hpp"
 #include "geode_types.hpp"
 #include "VectorT.hpp"
-#include "SharedPtr.hpp"
+#include <memory>
 #include "CacheableBuiltins.hpp"
 #include "ResultCollector.hpp"
 
@@ -45,7 +45,7 @@ namespace client {
  * @see FunctionService
  */
 
-class CPPCACHE_EXPORT Execution : public SharedBase {
+class CPPCACHE_EXPORT Execution {
  public:
   /**
    * Specifies a data filter of routing objects for selecting the Geode

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/FunctionService.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/FunctionService.hpp b/src/cppcache/include/geode/FunctionService.hpp
index 9000935..36fffdd 100644
--- a/src/cppcache/include/geode/FunctionService.hpp
+++ b/src/cppcache/include/geode/FunctionService.hpp
@@ -1,8 +1,3 @@
-#pragma once
-
-#ifndef GEODE_FUNCTIONSERVICE_H_
-#define GEODE_FUNCTIONSERVICE_H_
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,10 +15,10 @@
  * limitations under the License.
  */
 
-/*
- * The specification of function behaviors is found in the corresponding
- * .cpp file.
- */
+#pragma once
+
+#ifndef GEODE_FUNCTIONSERVICE_H_
+#define GEODE_FUNCTIONSERVICE_H_
 
 #include "geode_globals.hpp"
 #include "geode_types.hpp"
@@ -33,23 +28,16 @@
  * @file
  */
 
-// macros to resolve ambiguity between PoolPtr and RegionServicePtr
-#define GF_TYPE_IS_POOL(T)                          \
-  apache::geode::client::TypeHelper::SuperSubclass< \
-      apache::geode::client::Pool, T>::result
-#define GF_TYPE_IS_POOL_TYPE(T) \
-  apache::geode::client::TypeHelper::YesNoType<GF_TYPE_IS_POOL(T)>::value
-
 namespace apache {
 namespace geode {
 namespace client {
+
 /**
  * @class FunctionService FunctionService.hpp
  * entry point for function execution
  * @see Execution
  */
-
-class CPPCACHE_EXPORT FunctionService : public SharedBase {
+class CPPCACHE_EXPORT FunctionService {
  public:
   /**
    * Returns a {@link Execution} object that can be used to execute a data
@@ -106,11 +94,6 @@ class CPPCACHE_EXPORT FunctionService : public SharedBase {
     return onServerWithCache(cache);
   }
 
-  template <typename T>
-  static ExecutionPtr onServer(const SharedPtr<T>& poolOrCache) {
-    return onServer(poolOrCache, GF_TYPE_IS_POOL_TYPE(T));
-  }
-
   /**
    * Returns a {@link Execution} object that can be used to execute a data
    * independent function on all the servers in the provided {@link Pool}.
@@ -129,28 +112,23 @@ class CPPCACHE_EXPORT FunctionService : public SharedBase {
   }
 
   /**
-  * Returns a {@link Execution} object that can be used to execute a data
-  * independent function on all the servers where Cache is attached.
-  * If one of the servers goes down while dispatching or executing the function
-  * on the server, an Exception will be thrown.
-  *
-  * @param cache
-  *        the {@link Cache} where function need to execute.
-  * @return Execution
-  * @throws NullPointerException
-  *                 if Pool instance passed in is nullptr
-  * @throws UnsupportedOperationException
-  *                 if Pool is in multiusersecure Mode
-  */
+   * Returns a {@link Execution} object that can be used to execute a data
+   * independent function on all the servers where Cache is attached.
+   * If one of the servers goes down while dispatching or executing the function
+   * on the server, an Exception will be thrown.
+   *
+   * @param cache
+   *        the {@link Cache} where function need to execute.
+   * @return Execution
+   * @throws NullPointerException
+   *                 if Pool instance passed in is nullptr
+   * @throws UnsupportedOperationException
+   *                 if Pool is in multiusersecure Mode
+   */
   inline static ExecutionPtr onServers(const RegionServicePtr& cache) {
     return onServersWithCache(cache);
   }
 
-  template <typename T>
-  static ExecutionPtr onServers(const SharedPtr<T>& poolOrCache) {
-    return onServers(poolOrCache, GF_TYPE_IS_POOL_TYPE(T));
-  }
-
   virtual ~FunctionService() {}
 
  private:
@@ -161,30 +139,6 @@ class CPPCACHE_EXPORT FunctionService : public SharedBase {
   static ExecutionPtr onServersWithPool(const PoolPtr& pool);
 
   static ExecutionPtr onServersWithCache(const RegionServicePtr& cache);
-
-  template <typename T>
-  static ExecutionPtr onServer(const SharedPtr<T>& pool,
-                               TypeHelper::yes_type isPool) {
-    return onServerWithPool(pool);
-  }
-
-  template <typename T>
-  static ExecutionPtr onServer(const SharedPtr<T>& cache,
-                               TypeHelper::no_type isPool) {
-    return onServerWithCache(cache);
-  }
-
-  template <typename T>
-  static ExecutionPtr onServers(const SharedPtr<T>& pool,
-                                TypeHelper::yes_type isPool) {
-    return onServersWithPool(pool);
-  }
-
-  template <typename T>
-  static ExecutionPtr onServers(const SharedPtr<T>& cache,
-                                TypeHelper::no_type isPool) {
-    return onServersWithCache(cache);
-  }
 };
 }  // namespace client
 }  // namespace geode

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/GeodeCppCache.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/GeodeCppCache.hpp b/src/cppcache/include/geode/GeodeCppCache.hpp
index 1068f2e..5a3ff56 100644
--- a/src/cppcache/include/geode/GeodeCppCache.hpp
+++ b/src/cppcache/include/geode/GeodeCppCache.hpp
@@ -67,7 +67,7 @@
 #include "ResultCollector.hpp"
 #include "ResultSet.hpp"
 #include "Serializable.hpp"
-#include "SharedPtr.hpp"
+#include <memory>
 #include "StructSet.hpp"
 #include "UserData.hpp"
 #include "VectorT.hpp"

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/HashFunction.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/HashFunction.hpp b/src/cppcache/include/geode/HashFunction.hpp
index d7c85b7..7abd2f8 100644
--- a/src/cppcache/include/geode/HashFunction.hpp
+++ b/src/cppcache/include/geode/HashFunction.hpp
@@ -21,7 +21,7 @@
  */
 
 #include "geode_globals.hpp"
-#include "SharedPtr.hpp"
+#include <memory>
 #include "CacheableKey.hpp"
 
 /** @file

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/PartitionResolver.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/PartitionResolver.hpp b/src/cppcache/include/geode/PartitionResolver.hpp
index 48d3c7c..3a4f1b6 100644
--- a/src/cppcache/include/geode/PartitionResolver.hpp
+++ b/src/cppcache/include/geode/PartitionResolver.hpp
@@ -20,7 +20,7 @@
  * limitations under the License.
  */
 
-#include "SharedPtr.hpp"
+#include <memory>
 #include "Cacheable.hpp"
 #include <string>
 
@@ -31,72 +31,71 @@ namespace client {
 class EntryEvent;
 
 /**
-* Implementers of interface <code>PartitionResolver</code> enable custom
-* partitioning on the <code>PartitionedRegion</code>.
-* 1. The Key class or callback arg can implement PartitionResolver interface to
-* enable custom partitioning OR
-* 2. Configure your own PartitionResolver class in partition attributes (For
-* instance when the Key is a primitive type or String) Implement the
-* appropriate equals - For all implementations, you need to be sure to code the
-* class equals method so it properly verifies equality for the
-* PartitionResolver implementation. This might mean verifying that class names
-* are the same or that the returned routing objects are the same etc.. When you
-* initiate the partitioned region on multiple nodes, Geode uses the equals
-* method to ensure you are using the same PartitionResolver implementation for
-* all of the nodes for the region.
-* Geode uses the routing object's hashCode to determine where the data is
-* being managed. Say, for example, you want to colocate all Trades by month and
-* year.The key is implemented by TradeKey class which also implements the
-* PartitionResolver interface.
-* public class TradeKey implements PartitionResolver {<br>
-* &nbsp &nbsp private String tradeID;<br>
-* &nbsp &nbsp private Month month ;<br>
-* &nbsp &nbsp private Year year ;<br>
-*
-* &nbsp &nbsp public TradingKey(){ } <br>
-* &nbsp &nbsp public TradingKey(Month month, Year year){<br>
-* &nbsp &nbsp &nbsp &nbsp this.month = month;<br>
-* &nbsp &nbsp &nbsp &nbsp this.year = year;<br>
-* &nbsp &nbsp } <br>
-* &nbsp &nbsp public Serializable getRoutingObject(EntryOperation
-* opDetails){<br>
-* &nbsp &nbsp &nbsp &nbsp return this.month + this.year;<br>
-* &nbsp &nbsp }<br> }<br>
-*
-* In the example above, all trade entries with the same month and year are
-* guaranteed to be colocated.
-*/
-class CPPCACHE_EXPORT PartitionResolver : public SharedBase {
+ * Implementers of interface <code>PartitionResolver</code> enable custom
+ * partitioning on the <code>PartitionedRegion</code>.
+ * 1. The Key class or callback arg can implement PartitionResolver interface to
+ * enable custom partitioning OR
+ * 2. Configure your own PartitionResolver class in partition attributes (For
+ * instance when the Key is a primitive type or String) Implement the
+ * appropriate equals - For all implementations, you need to be sure to code the
+ * class equals method so it properly verifies equality for the
+ * PartitionResolver implementation. This might mean verifying that class names
+ * are the same or that the returned routing objects are the same etc.. When you
+ * initiate the partitioned region on multiple nodes, Geode uses the equals
+ * method to ensure you are using the same PartitionResolver implementation for
+ * all of the nodes for the region.
+ * Geode uses the routing object's hashCode to determine where the data is
+ * being managed. Say, for example, you want to colocate all Trades by month and
+ * year.The key is implemented by TradeKey class which also implements the
+ * PartitionResolver interface.
+ * public class TradeKey implements PartitionResolver {<br>
+ * &nbsp &nbsp private String tradeID;<br>
+ * &nbsp &nbsp private Month month ;<br>
+ * &nbsp &nbsp private Year year ;<br>
+ *
+ * &nbsp &nbsp public TradingKey(){ } <br>
+ * &nbsp &nbsp public TradingKey(Month month, Year year){<br>
+ * &nbsp &nbsp &nbsp &nbsp this.month = month;<br>
+ * &nbsp &nbsp &nbsp &nbsp this.year = year;<br>
+ * &nbsp &nbsp } <br>
+ * &nbsp &nbsp public Serializable getRoutingObject(EntryOperation
+ * opDetails){<br>
+ * &nbsp &nbsp &nbsp &nbsp return this.month + this.year;<br>
+ * &nbsp &nbsp }<br> }<br>
+ *
+ * In the example above, all trade entries with the same month and year are
+ * guaranteed to be colocated.
+ */
+class CPPCACHE_EXPORT PartitionResolver {
   /**
-  * @brief public methods
-  */
+   * @brief public methods
+   */
 
  public:
   /**
-  * @brief destructor
-  */
+   * @brief destructor
+   */
   virtual ~PartitionResolver();
 
   /**
-  * Returns the name of the PartitionResolver
-  * @return String name
-  */
+   * Returns the name of the PartitionResolver
+   * @return String name
+   */
   virtual const char* getName();
 
   /**
-  * @param opDetails the detail of the entry event
-  * @throws RuntimeException - any exception thrown will terminate the operation
-  * and the exception will be passed to the
-  * calling thread.
-  * @return object associated with entry event which allows the Partitioned
-  * Region to store associated data together
-  */
+   * @param opDetails the detail of the entry event
+   * @throws RuntimeException - any exception thrown will terminate the
+   * operation and the exception will be passed to the calling thread.
+   * @return object associated with entry event which allows the Partitioned
+   * Region to store associated data together
+   */
   virtual CacheableKeyPtr getRoutingObject(const EntryEvent& opDetails) = 0;
 
  protected:
   /**
-  * @brief constructors
-  */
+   * @brief constructors
+   */
   PartitionResolver();
 
  private:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/PdxInstanceFactory.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/PdxInstanceFactory.hpp b/src/cppcache/include/geode/PdxInstanceFactory.hpp
index 86f43ae..349c82f 100644
--- a/src/cppcache/include/geode/PdxInstanceFactory.hpp
+++ b/src/cppcache/include/geode/PdxInstanceFactory.hpp
@@ -42,7 +42,7 @@ namespace client {
  * multiple factories or use {@link PdxInstance#createWriter} to create
  * subsequent instances.
  */
-class CPPCACHE_EXPORT PdxInstanceFactory : public SharedBase {
+class CPPCACHE_EXPORT PdxInstanceFactory {
  public:
   /**
    * @brief destructor

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/PdxReader.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/PdxReader.hpp b/src/cppcache/include/geode/PdxReader.hpp
index d448064..8fc763c 100644
--- a/src/cppcache/include/geode/PdxReader.hpp
+++ b/src/cppcache/include/geode/PdxReader.hpp
@@ -28,7 +28,7 @@ namespace geode {
 namespace client {
 
 class PdxReader;
-typedef SharedPtr<PdxReader> PdxReaderPtr;
+typedef std::shared_ptr<PdxReader> PdxReaderPtr;
 
 /**
  * A PdxReader will be passed to PdxSerializable.fromData or
@@ -53,7 +53,7 @@ typedef SharedPtr<PdxReader> PdxReaderPtr;
  * @note Custom implementations of PdxReader are not subject
  *       to this restriction.
  */
-class CPPCACHE_EXPORT PdxReader : public SharedBase {
+class CPPCACHE_EXPORT PdxReader {
  public:
   /**
    * @brief constructors

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/PdxSerializable.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/PdxSerializable.hpp b/src/cppcache/include/geode/PdxSerializable.hpp
index d782d9c..e38abbc 100644
--- a/src/cppcache/include/geode/PdxSerializable.hpp
+++ b/src/cppcache/include/geode/PdxSerializable.hpp
@@ -95,10 +95,6 @@ class CPPCACHE_EXPORT PdxSerializable : public CacheableKey {
    * Display this object as 'string', which depends on the implementation in
    * the subclasses.
    * The default implementation renders the classname.
-   *
-   * The return value may be a temporary, so the caller has to ensure that
-   * the SharedPtr count does not go down to zero by storing the result
-   * in a variable or otherwise.
    */
   virtual CacheableStringPtr toString() const;
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/PdxSerializer.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/PdxSerializer.hpp b/src/cppcache/include/geode/PdxSerializer.hpp
index 09f9cf9..f2a0e94 100644
--- a/src/cppcache/include/geode/PdxSerializer.hpp
+++ b/src/cppcache/include/geode/PdxSerializer.hpp
@@ -39,7 +39,7 @@ typedef void (*UserDeallocator)(void*, const char*);
  */
 typedef uint32_t (*UserObjectSizer)(void*, const char*);
 
-class CPPCACHE_EXPORT PdxSerializer : public SharedBase {
+class CPPCACHE_EXPORT PdxSerializer  {
   /**
    * The PdxSerializer class allows domain classes to be
    * serialized and deserialized as PDXs without modification

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/PdxUnreadFields.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/PdxUnreadFields.hpp b/src/cppcache/include/geode/PdxUnreadFields.hpp
index 25405d6..ceaf902 100644
--- a/src/cppcache/include/geode/PdxUnreadFields.hpp
+++ b/src/cppcache/include/geode/PdxUnreadFields.hpp
@@ -21,7 +21,6 @@
  */
 
 #include "geode_base.hpp"
-#include "SharedBase.hpp"
 
 namespace apache {
 namespace geode {
@@ -41,7 +40,7 @@ namespace client {
  * This should only happen when a domain class has changed by adding or removing
  *one or more fields.
  **/
-class CPPCACHE_EXPORT PdxUnreadFields : public SharedBase {
+class CPPCACHE_EXPORT PdxUnreadFields {
  public:
   PdxUnreadFields() {}
   virtual ~PdxUnreadFields() {}

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/PdxWrapper.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/PdxWrapper.hpp b/src/cppcache/include/geode/PdxWrapper.hpp
index 3f78549..4212328 100644
--- a/src/cppcache/include/geode/PdxWrapper.hpp
+++ b/src/cppcache/include/geode/PdxWrapper.hpp
@@ -104,10 +104,6 @@ class CPPCACHE_EXPORT PdxWrapper : public PdxSerializable {
    * Display this object as 'string', which depends on the implementation in
    * the subclasses.
    * The default implementation renders the classname.
-   *
-   * The return value may be a temporary, so the caller has to ensure that
-   * the SharedPtr count does not go down to zero by storing the result
-   * in a variable or otherwise.
    */
   CacheableStringPtr toString() const;
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/PdxWriter.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/PdxWriter.hpp b/src/cppcache/include/geode/PdxWriter.hpp
index 03b2cea..c4add8f 100644
--- a/src/cppcache/include/geode/PdxWriter.hpp
+++ b/src/cppcache/include/geode/PdxWriter.hpp
@@ -30,7 +30,7 @@ namespace geode {
 namespace client {
 
 class PdxWriter;
-typedef SharedPtr<PdxWriter> PdxWriterPtr;
+typedef std::shared_ptr<PdxWriter> PdxWriterPtr;
 
 /**
  * A PdxWriter will be passed to PdxSerializable.toData
@@ -38,7 +38,7 @@ typedef SharedPtr<PdxWriter> PdxWriterPtr;
  * member
  * fields using this abstract class. This class is implemented by Native Client.
  */
-class CPPCACHE_EXPORT PdxWriter : public SharedBase {
+class CPPCACHE_EXPORT PdxWriter {
  public:
   /**
    * @brief constructors

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/PersistenceManager.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/PersistenceManager.hpp b/src/cppcache/include/geode/PersistenceManager.hpp
index fc48d96..185a495 100644
--- a/src/cppcache/include/geode/PersistenceManager.hpp
+++ b/src/cppcache/include/geode/PersistenceManager.hpp
@@ -49,7 +49,7 @@ typedef PersistenceManagerPtr (*getPersistenceManagerInstance)(
  * A specific disk storage implementation will implement all the methods
  * described here.
  */
-class CPPCACHE_EXPORT PersistenceManager : public SharedBase {
+class CPPCACHE_EXPORT PersistenceManager {
   /**
    * @brief public methods
    */

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/Pool.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/Pool.hpp b/src/cppcache/include/geode/Pool.hpp
index 3e4342c..e3a0d7d 100644
--- a/src/cppcache/include/geode/Pool.hpp
+++ b/src/cppcache/include/geode/Pool.hpp
@@ -21,7 +21,6 @@
  */
 
 #include "geode_globals.hpp"
-#include "SharedBase.hpp"
 #include "geode_types.hpp"
 #include "CacheableBuiltins.hpp"
 #include "Cache.hpp"
@@ -49,8 +48,7 @@ class PoolAttributes;
  *
  *
  */
-class CPPCACHE_EXPORT Pool : public SharedBase,
-                             public std::enable_shared_from_this<Pool> {
+class CPPCACHE_EXPORT Pool : public std::enable_shared_from_this<Pool> {
  public:
   /**
    * Gets the name of the connection pool

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/PoolFactory.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/PoolFactory.hpp b/src/cppcache/include/geode/PoolFactory.hpp
index 482b4a1..3d39009 100644
--- a/src/cppcache/include/geode/PoolFactory.hpp
+++ b/src/cppcache/include/geode/PoolFactory.hpp
@@ -21,7 +21,6 @@
  */
 
 #include "geode_globals.hpp"
-#include "SharedBase.hpp"
 #include "geode_types.hpp"
 #include "Pool.hpp"
 
@@ -63,7 +62,7 @@ class PoolAttributes;
  * </ul>
  *
  */
-class CPPCACHE_EXPORT PoolFactory : public SharedBase {
+class CPPCACHE_EXPORT PoolFactory  {
  public:
   /**
    * The default amount of time, in milliseconds, which we will wait for a free

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/Query.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/Query.hpp b/src/cppcache/include/geode/Query.hpp
index ed91cbe..7b0ea8f 100644
--- a/src/cppcache/include/geode/Query.hpp
+++ b/src/cppcache/include/geode/Query.hpp
@@ -45,7 +45,7 @@ namespace client {
  * operate on the same <code>Query</code> object concurrently rather should
  * have their own <code>Query</code> objects.
  */
-class CPPCACHE_EXPORT Query : public SharedBase {
+class CPPCACHE_EXPORT Query {
  public:
   /**
    * Executes the OQL Query on the cache server and returns the results.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/QueryService.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/QueryService.hpp b/src/cppcache/include/geode/QueryService.hpp
index 5065c9f..a61b974 100644
--- a/src/cppcache/include/geode/QueryService.hpp
+++ b/src/cppcache/include/geode/QueryService.hpp
@@ -43,7 +43,7 @@ namespace client {
  * A Query is created from a QueryService and executed on the server
  * returning a SelectResults which can be either a ResultSet or a StructSet.
  */
-class CPPCACHE_EXPORT QueryService : public SharedBase {
+class CPPCACHE_EXPORT QueryService {
  public:
   typedef std::vector<CqQueryPtr> query_container_type;
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/Region.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/Region.hpp b/src/cppcache/include/geode/Region.hpp
index 5f8a31d..b7fc10a 100644
--- a/src/cppcache/include/geode/Region.hpp
+++ b/src/cppcache/include/geode/Region.hpp
@@ -84,8 +84,7 @@ namespace client {
 *
 * @see RegionAttributes
 */
-class CPPCACHE_EXPORT Region : public std::enable_shared_from_this<Region>,
-                               public SharedBase {
+class CPPCACHE_EXPORT Region : public std::enable_shared_from_this<Region> {
   /** @brief Public Methods
   */
  public:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/RegionAttributes.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/RegionAttributes.hpp b/src/cppcache/include/geode/RegionAttributes.hpp
index ade2cc2..9d24293 100644
--- a/src/cppcache/include/geode/RegionAttributes.hpp
+++ b/src/cppcache/include/geode/RegionAttributes.hpp
@@ -312,7 +312,7 @@ class CPPCACHE_EXPORT RegionAttributes : public Serializable {
    * @return true if concurrent update checks are turned on
    */
   bool getConcurrencyChecksEnabled() { return m_isConcurrencyChecksEnabled; }
-
+  const RegionAttributes& operator=(const RegionAttributes&) = delete;
  private:
   // Helper function that safely compares two attribute string
   // taking into consideration the fact the one or the other
@@ -348,6 +348,7 @@ class CPPCACHE_EXPORT RegionAttributes : public Serializable {
   RegionAttributes(const RegionAttributes& rhs);
   RegionAttributes();
 
+
   ExpirationAction::Action m_regionTimeToLiveExpirationAction;
   ExpirationAction::Action m_regionIdleTimeoutExpirationAction;
   ExpirationAction::Action m_entryTimeToLiveExpirationAction;
@@ -393,8 +394,8 @@ class CPPCACHE_EXPORT RegionAttributes : public Serializable {
   friend class RegionInternal;
   friend class RegionXmlCreation;
 
+
  private:
-  const RegionAttributes& operator=(const RegionAttributes&);
 
   FRIEND_STD_SHARED_PTR(RegionAttributes)
 };

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/RegionEntry.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/RegionEntry.hpp b/src/cppcache/include/geode/RegionEntry.hpp
index b6f2443..edd5e78 100644
--- a/src/cppcache/include/geode/RegionEntry.hpp
+++ b/src/cppcache/include/geode/RegionEntry.hpp
@@ -48,7 +48,7 @@ class RegionInternal;
  * invocation, or an <code>EntryDestroyedException</code> if the entry has been
  * destroyed.
  */
-class CPPCACHE_EXPORT RegionEntry : public SharedBase {
+class CPPCACHE_EXPORT RegionEntry {
  public:
   /** Returns the key for this entry.
    *

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/RegionFactory.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/RegionFactory.hpp b/src/cppcache/include/geode/RegionFactory.hpp
index b2729a2..4894bdf 100644
--- a/src/cppcache/include/geode/RegionFactory.hpp
+++ b/src/cppcache/include/geode/RegionFactory.hpp
@@ -32,8 +32,7 @@ namespace geode {
 namespace client {
 class CacheImpl;
 class CPPCACHE_EXPORT RegionFactory
-    : public SharedBase,
-      public std::enable_shared_from_this<RegionFactory> {
+    : public std::enable_shared_from_this<RegionFactory> {
  public:
   /*
    * To create the (@link Region}.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/RegionService.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/RegionService.hpp b/src/cppcache/include/geode/RegionService.hpp
index f031141..468d602 100644
--- a/src/cppcache/include/geode/RegionService.hpp
+++ b/src/cppcache/include/geode/RegionService.hpp
@@ -57,7 +57,7 @@ class QueryService;
  *
  */
 
-class CPPCACHE_EXPORT RegionService : public SharedBase {
+class CPPCACHE_EXPORT RegionService {
   /**
    * @brief public methods
    */

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/ResultCollector.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/ResultCollector.hpp b/src/cppcache/include/geode/ResultCollector.hpp
index 28b221c..64c5f22 100644
--- a/src/cppcache/include/geode/ResultCollector.hpp
+++ b/src/cppcache/include/geode/ResultCollector.hpp
@@ -22,7 +22,7 @@
 
 #include "geode_globals.hpp"
 #include "geode_types.hpp"
-#include "SharedPtr.hpp"
+#include <memory>
 #include "VectorT.hpp"
 #include "CacheableBuiltins.hpp"
 
@@ -60,10 +60,10 @@ namespace client {
  * @see FunctionService
  */
 
-class CPPCACHE_EXPORT ResultCollector : public SharedBase {
+class CPPCACHE_EXPORT ResultCollector {
   /**
-    * @brief public methods
-    */
+   * @brief public methods
+   */
  public:
   ResultCollector();
   virtual ~ResultCollector();
@@ -100,7 +100,7 @@ class CPPCACHE_EXPORT ResultCollector : public SharedBase {
    * Function Execution HA) This is to clear the previous execution results from
    * the result collector
    * @since 6.5
-  */
+   */
   virtual void clearResults();
 
  private:

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/SelectResults.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/SelectResults.hpp b/src/cppcache/include/geode/SelectResults.hpp
index 4164a6d..82405f2 100644
--- a/src/cppcache/include/geode/SelectResults.hpp
+++ b/src/cppcache/include/geode/SelectResults.hpp
@@ -41,7 +41,7 @@ class SelectResultsIterator;
  * A SelectResults is obtained by executing a Query on the server.
  * This can either be a ResultSet or a StructSet.
  */
-class CPPCACHE_EXPORT SelectResults : public SharedBase {
+class CPPCACHE_EXPORT SelectResults {
  public:
   /**
    * Check whether the SelectResults is modifiable.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/SelectResultsIterator.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/SelectResultsIterator.hpp b/src/cppcache/include/geode/SelectResultsIterator.hpp
index 1a61c96..4a1b270 100644
--- a/src/cppcache/include/geode/SelectResultsIterator.hpp
+++ b/src/cppcache/include/geode/SelectResultsIterator.hpp
@@ -44,7 +44,7 @@ class StructSetImpl;
  * A SelectResultsIterator is obtained from a ResultSet or StructSet and
  * is used to iterate over the items available in them.
  */
-class CPPCACHE_EXPORT SelectResultsIterator : public SharedBase {
+class CPPCACHE_EXPORT SelectResultsIterator {
  public:
   /**
    * Check whether the SelectResultsIterator has another item to get.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/Serializable.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/Serializable.hpp b/src/cppcache/include/geode/Serializable.hpp
index 022b0bf..06d571a 100644
--- a/src/cppcache/include/geode/Serializable.hpp
+++ b/src/cppcache/include/geode/Serializable.hpp
@@ -133,10 +133,6 @@ class CPPCACHE_EXPORT Serializable
    * Display this object as 'string', which depends on the implementation in
    * the subclasses.
    * The default implementation renders the classname.
-   *
-   * The return value may be a temporary, so the caller has to ensure that
-   * the SharedPtr count does not go down to zero by storing the result
-   * in a variable or otherwise.
    */
   virtual CacheableStringPtr toString() const;
 

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/Serializer.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/Serializer.hpp b/src/cppcache/include/geode/Serializer.hpp
index 0efa1b1..0a5279e 100644
--- a/src/cppcache/include/geode/Serializer.hpp
+++ b/src/cppcache/include/geode/Serializer.hpp
@@ -1,8 +1,3 @@
-#pragma once
-
-#ifndef GEODE_SERIALIZER_H_
-#define GEODE_SERIALIZER_H_
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,10 +15,16 @@
  * limitations under the License.
  */
 
+#pragma once
+
+#ifndef GEODE_SERIALIZER_H_
+#define GEODE_SERIALIZER_H_
+
 #include <vector>
 #include <unordered_map>
-#include <unordered_map>
+#include <unordered_set>
 #include <memory>
+#include <type_traits>
 
 #include "geode_globals.hpp"
 #include "DataOutput.hpp"
@@ -32,7 +33,6 @@
 #include "HashMapT.hpp"
 #include "HashSetT.hpp"
 #include "GeodeTypeIds.hpp"
-#include "TypeHelper.hpp"
 
 namespace apache {
 namespace geode {
@@ -223,34 +223,20 @@ inline void readObject(apache::geode::client::DataInput& input,
   input.readUTF(&value);
 }
 
-// Base Serializable types
-
-template <typename TObj>
-inline void writeObject(
-    apache::geode::client::DataOutput& output,
-    const apache::geode::client::SharedPtr<TObj>& value,
-    apache::geode::client::TypeHelper::yes_type isSerializable) {
-  output.writeObject(value);
-}
-
-template <typename TObj>
+template <typename TObj,
+          typename std::enable_if<std::is_base_of<Serializable, TObj>::value,
+                                  Serializable>::type* = nullptr>
 inline void writeObject(apache::geode::client::DataOutput& output,
-                        const apache::geode::client::SharedPtr<TObj>& value) {
-  writeObject(output, value, GF_TYPE_IS_SERIALIZABLE_TYPE(TObj));
-}
-
-template <typename TObj>
-inline void readObject(
-    apache::geode::client::DataInput& input,
-    apache::geode::client::SharedPtr<TObj>& value,
-    apache::geode::client::TypeHelper::yes_type isSerializable) {
-  input.readObject(value, true);
+                        const std::shared_ptr<TObj>& value) {
+  output.writeObject(value);
 }
 
-template <typename TObj>
+template <typename TObj,
+          typename std::enable_if<std::is_base_of<Serializable, TObj>::value,
+                                  Serializable>::type* = nullptr>
 inline void readObject(apache::geode::client::DataInput& input,
-                       apache::geode::client::SharedPtr<TObj>& value) {
-  readObject(input, value, GF_TYPE_IS_SERIALIZABLE_TYPE(TObj));
+                       std::shared_ptr<TObj>& value) {
+  input.readObject(value, true);
 }
 
 // For arrays
@@ -285,10 +271,17 @@ inline void readObject(apache::geode::client::DataInput& input, TObj*& array,
   }
 }
 
-template <typename TObj, typename TLen>
-inline uint32_t objectSize(
-    const TObj* array, TLen len,
-    apache::geode::client::TypeHelper::yes_type isSerializable) {
+template <typename TObj, typename TLen,
+          typename std::enable_if<!std::is_base_of<Serializable, TObj>::value,
+                                  Serializable>::type* = nullptr>
+inline uint32_t objectSize(const TObj* array, TLen len) {
+  return (uint32_t)(sizeof(TObj) * len);
+}
+
+template <typename TObj, typename TLen,
+          typename std::enable_if<std::is_base_of<Serializable, TObj>::value,
+                                  Serializable>::type* = nullptr>
+inline uint32_t objectSize(const TObj* array, TLen len) {
   uint32_t size = 0;
   const TObj* endArray = array + len;
   while (array < endArray) {
@@ -301,18 +294,6 @@ inline uint32_t objectSize(
   return size;
 }
 
-template <typename TObj, typename TLen>
-inline uint32_t objectSize(
-    const TObj* array, TLen len,
-    apache::geode::client::TypeHelper::no_type isNotSerializable) {
-  return (uint32_t)(sizeof(TObj) * len);
-}
-
-template <typename TObj, typename TLen>
-inline uint32_t objectSize(const TObj* array, TLen len) {
-  return objectSize(array, len, GF_TYPE_IS_SERIALIZABLE_TYPE(TObj));
-}
-
 // For containers vector/hashmap/hashset
 
 template <typename TObj, typename Allocator>

http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/include/geode/SharedBase.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/include/geode/SharedBase.hpp b/src/cppcache/include/geode/SharedBase.hpp
deleted file mode 100644
index 642ed0a..0000000
--- a/src/cppcache/include/geode/SharedBase.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-#pragma once
-
-#ifndef GEODE_SHAREDBASE_H_
-#define GEODE_SHAREDBASE_H_
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "geode_globals.hpp"
-
-/** @file
-*/
-
-namespace apache {
-namespace geode {
-namespace client {
-
-/**
- * @class SharedBase SharedBase.hpp
- *
- * This abstract base class is the base class of all user objects.
- */
-class CPPCACHE_EXPORT SharedBase {
- public:
-  /** Constructor. */
-  inline SharedBase() {}
-
-  void operator=(const SharedBase& rhs) = delete;
-
- protected:
-  inline SharedBase(bool noInit) {}
-
-  virtual ~SharedBase() {}
-};
-
-}  // namespace client
-}  // namespace geode
-}  // namespace apache
-
-#endif  // GEODE_SHAREDBASE_H_


[3/9] geode-native git commit: GEODE-2741: Removes last of SharedPtr/SharedBase.

Posted by jb...@apache.org.
http://git-wip-us.apache.org/repos/asf/geode-native/blob/b1a9af53/src/cppcache/src/ProxyRegion.hpp
----------------------------------------------------------------------
diff --git a/src/cppcache/src/ProxyRegion.hpp b/src/cppcache/src/ProxyRegion.hpp
index ec7c710..d0b77bc 100644
--- a/src/cppcache/src/ProxyRegion.hpp
+++ b/src/cppcache/src/ProxyRegion.hpp
@@ -31,8 +31,8 @@
 #include <geode/CacheableBuiltins.hpp>
 
 /**
-* @file
-*/
+ * @file
+ */
 
 #include <geode/RegionEntry.hpp>
 #include <geode/CacheListener.hpp>
@@ -50,41 +50,41 @@ namespace geode {
 namespace client {
 class FunctionService;
 /**
-* @class ProxyRegion ProxyRegion.hpp
-* This class wrapper around real region
-*/
+ * @class ProxyRegion ProxyRegion.hpp
+ * This class wrapper around real region
+ */
 class CPPCACHE_EXPORT ProxyRegion : public Region {
   /** @brief Public Methods
-  */
+   */
  public:
   /** return single name of region. The storage is backed by the region. */
   virtual const char* getName() const { return m_realRegion->getName(); }
   // virtual uint64_t getUpdateReceived() const { return 0; };
 
   /** return the full path of the region as can be used to lookup the
-  * region from Cache::getRegion. The storage is backed by the region.
-  */
+   * region from Cache::getRegion. The storage is backed by the region.
+   */
   virtual const char* getFullPath() const {
     return m_realRegion->getFullPath();
   }
 
   /** Returns the parent region, or nullptr if a root region.
-  * @throws RegionDestroyedException
-  */
+   * @throws RegionDestroyedException
+   */
   virtual RegionPtr getParentRegion() const {
     return m_realRegion->getParentRegion();
   }
 
   /** Return the RegionAttributes for this region.
-  */
+   */
   virtual RegionAttributesPtr getAttributes() const {
     return m_realRegion->getAttributes();
   }
 
   /** Return the a mutator object for changing a subset of the region
-  * attributes.
-  * @throws RegionDestroyedException.
-  */
+   * attributes.
+   * @throws RegionDestroyedException.
+   */
   virtual AttributesMutatorPtr getAttributesMutator() const {
     unSupportedOperation("Region.getAttributesMutator()");
     return nullptr;
@@ -97,22 +97,21 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /** Invalidates this region. The invalidation will cascade to
-  * all the subregions and cached entries. After
-  * the <code>invalidateRegion</code> , the region and the entries in it still
-  * exist. In order to remove all the entries and the region,
-  * <code>destroyRegion</code> should be used.
-  *
-  * @param aCallbackArgument a user-defined parameter to pass to callback events
-  *        triggered by this method.
-  *        Can be nullptr. If it is sent on the wire, it has to be Serializable.
-  * @throws CacheListenerException if CacheListener throws an exception; if this
-  *         occurs some subregions may have already been successfully
-  * invalidated
-  * @throws RegionDestroyedException if the region is no longer valid
-  * @see   destroyRegion
-  * @see   CacheListener::afterRegionInvalidate
-  * This operation is not distributed.
-  */
+   * all the subregions and cached entries. After
+   * the <code>invalidateRegion</code> , the region and the entries in it still
+   * exist. In order to remove all the entries and the region,
+   * <code>destroyRegion</code> should be used.
+   *
+   * @param aCallbackArgument a user-defined parameter to pass to callback
+   * events triggered by this method. Can be nullptr. If it is sent on the wire,
+   * it has to be Serializable.
+   * @throws CacheListenerException if CacheListener throws an exception; if
+   * this occurs some subregions may have already been successfully invalidated
+   * @throws RegionDestroyedException if the region is no longer valid
+   * @see   destroyRegion
+   * @see   CacheListener::afterRegionInvalidate
+   * This operation is not distributed.
+   */
   virtual void invalidateRegion(
       const UserDataPtr& aCallbackArgument = nullptr) {
     unSupportedOperation("Region.invalidateRegion()");
@@ -143,52 +142,51 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /** Destroys the whole region and provides a user-defined parameter
-  * object to any <code>CacheWriter</code> invoked in the process.
-  * Destroy cascades to all entries
-  * and subregions. After the destroy, this region object cannot be used
-  * any more. Any attempt to use this region object will get a
-  * <code>RegionDestroyedException</code> exception.
-  *
-  * The region destroy not only destroys the local region but also destroys the
-  * server region. However, if server region destroy fails throwing back
-  * <code>CacheServerException</code> or security exception,
-  * the local region is still destroyed.
-  *
-  * @param aCallbackArgument a user-defined parameter to pass to callback events
-  *        triggered by this call.
-  *        Can be nullptr. If it is sent on the wire, it has to be Serializable.
-  * @throws CacheWriterException if CacheWriter aborts the operation; if this
-  *         occurs some subregions may have already been successfully destroyed.
-  * @throws CacheListenerException if CacheListener throws an exception; if this
-  *         occurs some subregions may have already been successfully
-  * invalidated
-  * @throws CacheServerException If an exception is received from the Java cache
-  * server.
-  *         Only for Native Client regions.
-  * @throws NotConnectedException if not connected to the geode system because
-  * the client
-  *         cannot establish usable connections to any of the servers given to
-  * it
-  * @throws MessageExcepton If the message received from server could not be
-  *         handled. This will be the case when an unregistered typeId is
-  *         received in the reply or reply is not well formed.
-  *         More information can be found in the log.
-  * @throws TimeoutException if operation timed out
-  * @see  invalidateRegion
-  */
+   * object to any <code>CacheWriter</code> invoked in the process.
+   * Destroy cascades to all entries
+   * and subregions. After the destroy, this region object cannot be used
+   * any more. Any attempt to use this region object will get a
+   * <code>RegionDestroyedException</code> exception.
+   *
+   * The region destroy not only destroys the local region but also destroys the
+   * server region. However, if server region destroy fails throwing back
+   * <code>CacheServerException</code> or security exception,
+   * the local region is still destroyed.
+   *
+   * @param aCallbackArgument a user-defined parameter to pass to callback
+   * events triggered by this call. Can be nullptr. If it is sent on the wire,
+   * it has to be Serializable.
+   * @throws CacheWriterException if CacheWriter aborts the operation; if this
+   *         occurs some subregions may have already been successfully
+   * destroyed.
+   * @throws CacheListenerException if CacheListener throws an exception; if
+   * this occurs some subregions may have already been successfully invalidated
+   * @throws CacheServerException If an exception is received from the Java
+   * cache server. Only for Native Client regions.
+   * @throws NotConnectedException if not connected to the geode system because
+   * the client
+   *         cannot establish usable connections to any of the servers given to
+   * it
+   * @throws MessageExcepton If the message received from server could not be
+   *         handled. This will be the case when an unregistered typeId is
+   *         received in the reply or reply is not well formed.
+   *         More information can be found in the log.
+   * @throws TimeoutException if operation timed out
+   * @see  invalidateRegion
+   */
   virtual void destroyRegion(const UserDataPtr& aCallbackArgument = nullptr) {
     GuardUserAttribures gua(m_proxyCache);
     m_realRegion->destroyRegion(aCallbackArgument);
   }
 
   /**
-  * Removes all entries from this region and provides a user-defined parameter
-  * object to any <code>CacheWriter</code> or <code>CacheListener</code>
-  * invoked in the process. Clear will be distributed to other caches if the
-  * scope is not ScopeType::LOCAL.
-  * @see CacheListener#afterRegionClear
-  * @see CacheWriter#beforeRegionClear
-  */
+   * Removes all entries from this region and provides a user-defined parameter
+   * object to any <code>CacheWriter</code> or <code>CacheListener</code>
+   * invoked in the process. Clear will be distributed to other caches if the
+   * scope is not ScopeType::LOCAL.
+   * @see CacheListener#afterRegionClear
+   * @see CacheWriter#beforeRegionClear
+   */
   virtual void clear(const UserDataPtr& aCallbackArgument = nullptr) {
     GuardUserAttribures gua(m_proxyCache);
     m_realRegion->clear(aCallbackArgument);
@@ -206,24 +204,24 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /** Destroys the whole region and provides a user-defined parameter
-  * object to any <code>CacheWriter</code> invoked in the process.
-  * Destroy cascades to all entries
-  * and subregions. After the destroy, this region object cannot be used
-  * any more. Any attempt to use this region object will get a
-  * <code>RegionDestroyedException</code> exception. The region destroy is not
-  * distributed to other caches.
-  *
-  * @param aCallbackArgument a user-defined parameter to pass to callback events
-  *        triggered by this call.
-  *        Can be nullptr. If it is sent on the wire, it has to be Serializable.
-  * @throws CacheWriterException if CacheWriter aborts the operation; if this
-  *         occurs some subregions may have already been successfully destroyed.
-  * @throws CacheListenerException if CacheListener throws an exception; if this
-  *         occurs some subregions may have already been successfully
-  * invalidated
-  *
-  * @see  localInvalidateRegion
-  */
+   * object to any <code>CacheWriter</code> invoked in the process.
+   * Destroy cascades to all entries
+   * and subregions. After the destroy, this region object cannot be used
+   * any more. Any attempt to use this region object will get a
+   * <code>RegionDestroyedException</code> exception. The region destroy is not
+   * distributed to other caches.
+   *
+   * @param aCallbackArgument a user-defined parameter to pass to callback
+   * events triggered by this call. Can be nullptr. If it is sent on the wire,
+   * it has to be Serializable.
+   * @throws CacheWriterException if CacheWriter aborts the operation; if this
+   *         occurs some subregions may have already been successfully
+   * destroyed.
+   * @throws CacheListenerException if CacheListener throws an exception; if
+   * this occurs some subregions may have already been successfully invalidated
+   *
+   * @see  localInvalidateRegion
+   */
   virtual void localDestroyRegion(
       const UserDataPtr& aCallbackArgument = nullptr) {
     unSupportedOperation("Region.localDestroyRegion()");
@@ -257,12 +255,12 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /** Populates the passed in VectorOfRegion with subregions of the current
-  * region
-  * @param recursive determines whether the method recursively fills in
-  * subregions
-  * @param[out] sr subregions
-  * @throws RegionDestroyedException
-  */
+   * region
+   * @param recursive determines whether the method recursively fills in
+   * subregions
+   * @param[out] sr subregions
+   * @throws RegionDestroyedException
+   */
   virtual void subregions(const bool recursive, VectorOfRegion& sr) {
     VectorOfRegion realVectorRegion;
     m_realRegion->subregions(recursive, realVectorRegion);
@@ -277,8 +275,8 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /** Return the meta-object RegionEntry for key.
-  * @throws IllegalArgumentException, RegionDestroyedException.
-  */
+   * @throws IllegalArgumentException, RegionDestroyedException.
+   */
   virtual RegionEntryPtr getEntry(const CacheableKeyPtr& key) {
     return m_realRegion->getEntry(key);
   }
@@ -290,43 +288,43 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /** Returns the value associated with the specified key, passing the callback
-  * argument to any cache loaders that are invoked in the
-  * operation.
-  * If the value is not present locally then it is requested from the java
-  *server.
-  * If even that is unsuccessful then a local CacheLoader will be invoked if
-  *there is one.
-  * The value returned by get is not copied, so multi-threaded applications
-  * should not modify the value directly, but should use the update methods.
-  *<p>
-  * Updates the {@link CacheStatistics::getLastAccessedTime},
-  * {@link CacheStatistics::getHitCount}, {@link CacheStatistics::getMissCount},
-  * and {@link CacheStatistics::getLastModifiedTime} (if a new value is loaded)
-  * for this region and the entry.
-  *
-  * @param key whose associated value is to be returned. The key Object must
-  * implement the equals and hashCode methods.
-  * @param aCallbackArgument an argument passed into the CacheLoader if
-  * loader is used. If it is sent on the wire, it has to be Serializable.
-  *
-  * @throws IllegalArgumentException if key is nullptr or aCallbackArgument is
-  *         not serializable and a remote CacheLoader needs to be invoked
-  * @throws CacheLoaderException if CacheLoader throws an exception
-  * @throws CacheServerException If an exception is received from the Java cache
-  *server.
-  *         Only for Native Client regions.
-  * @throws NotConnectedException if it is not connected to the cache because
-  *the client
-  *         cannot establish usable connections to any of the servers given to
-  *it
-  * @throws MessageExcepton If the message received from server could not be
-  *         handled. This will be the case when an unregistered typeId is
-  *         received in the reply or reply is not well formed.
-  *         More information can be found in the log.
-  * @throws TimeoutException if operation timed out
-  * @throws RegionDestroyedException if the method is called on a destroyed
-  *region
-  **/
+   * argument to any cache loaders that are invoked in the
+   * operation.
+   * If the value is not present locally then it is requested from the java
+   *server.
+   * If even that is unsuccessful then a local CacheLoader will be invoked if
+   *there is one.
+   * The value returned by get is not copied, so multi-threaded applications
+   * should not modify the value directly, but should use the update methods.
+   *<p>
+   * Updates the {@link CacheStatistics::getLastAccessedTime},
+   * {@link CacheStatistics::getHitCount}, {@link
+   *CacheStatistics::getMissCount}, and {@link
+   *CacheStatistics::getLastModifiedTime} (if a new value is loaded) for this
+   *region and the entry.
+   *
+   * @param key whose associated value is to be returned. The key Object must
+   * implement the equals and hashCode methods.
+   * @param aCallbackArgument an argument passed into the CacheLoader if
+   * loader is used. If it is sent on the wire, it has to be Serializable.
+   *
+   * @throws IllegalArgumentException if key is nullptr or aCallbackArgument is
+   *         not serializable and a remote CacheLoader needs to be invoked
+   * @throws CacheLoaderException if CacheLoader throws an exception
+   * @throws CacheServerException If an exception is received from the Java
+   *cache server. Only for Native Client regions.
+   * @throws NotConnectedException if it is not connected to the cache because
+   *the client
+   *         cannot establish usable connections to any of the servers given to
+   *it
+   * @throws MessageExcepton If the message received from server could not be
+   *         handled. This will be the case when an unregistered typeId is
+   *         received in the reply or reply is not well formed.
+   *         More information can be found in the log.
+   * @throws TimeoutException if operation timed out
+   * @throws RegionDestroyedException if the method is called on a destroyed
+   *region
+   **/
   virtual CacheablePtr get(const CacheableKeyPtr& key,
                            const UserDataPtr& aCallbackArgument = nullptr) {
     GuardUserAttribures gua(m_proxyCache);
@@ -341,45 +339,47 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /** Places a new value into an entry in this region with the specified key,
-  * providing a user-defined parameter
-  * object to any <code>CacheWriter</code> invoked in the process.
-  * The same parameter is also passed to the <code>CacheListener</code>,
-  * if one is defined for this <code>Region</code>, invoked in the process.
-  * If there is already an entry associated with the specified key in this
-  * region,
-  * the entry's previous value is overwritten.
-  * The new put value is propogated to the java server to which it is connected
-  * with.
-  * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
-  * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
-  *
-  * If remote server put fails throwing back a <code>CacheServerException</code>
-  * or security exception, then local put is tried to rollback. However, if the
-  * entry has overflowed/evicted/expired then the rollback is aborted since it
-  * may be due to a more recent notification or update by another thread.
-  *
-  * @param key a key smart pointer associated with the value to be put into this
-  * region.
-  * @param value the value to be put into the cache
-  * @param aCallbackArgument an argument that is passed to the callback function
-  *
-  * @throws IllegalArgumentException if key or value is nullptr
-  * @throws CacheWriterException if CacheWriter aborts the operation
-  * @throws CacheListenerException if CacheListener throws an exception
-  * @throws RegionDestroyedException if region no longer valid
-  * @throws CacheServerException If an exception is received from the Java cache
-  * server.
-  * @throws NotConnectedException if it is not connected to the cache because
-  * the client
-  *         cannot establish usable connections to any of the servers given to
-  * it
-  * @throws MessageExcepton If the message received from server could not be
-  *         handled. This will be the case when an unregistered typeId is
-  *         received in the reply or reply is not well formed.
-  *         More information can be found in the log.
-  * @throws TimeoutException if operation timed out
-  * @throws OutOfMemoryException if  not enoough memory for the value
-  */
+   * providing a user-defined parameter
+   * object to any <code>CacheWriter</code> invoked in the process.
+   * The same parameter is also passed to the <code>CacheListener</code>,
+   * if one is defined for this <code>Region</code>, invoked in the process.
+   * If there is already an entry associated with the specified key in this
+   * region,
+   * the entry's previous value is overwritten.
+   * The new put value is propogated to the java server to which it is connected
+   * with.
+   * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
+   * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
+   *
+   * If remote server put fails throwing back a
+   * <code>CacheServerException</code> or security exception, then local put is
+   * tried to rollback. However, if the entry has overflowed/evicted/expired
+   * then the rollback is aborted since it may be due to a more recent
+   * notification or update by another thread.
+   *
+   * @param key a key smart pointer associated with the value to be put into
+   * this region.
+   * @param value the value to be put into the cache
+   * @param aCallbackArgument an argument that is passed to the callback
+   * function
+   *
+   * @throws IllegalArgumentException if key or value is nullptr
+   * @throws CacheWriterException if CacheWriter aborts the operation
+   * @throws CacheListenerException if CacheListener throws an exception
+   * @throws RegionDestroyedException if region no longer valid
+   * @throws CacheServerException If an exception is received from the Java
+   * cache server.
+   * @throws NotConnectedException if it is not connected to the cache because
+   * the client
+   *         cannot establish usable connections to any of the servers given to
+   * it
+   * @throws MessageExcepton If the message received from server could not be
+   *         handled. This will be the case when an unregistered typeId is
+   *         received in the reply or reply is not well formed.
+   *         More information can be found in the log.
+   * @throws TimeoutException if operation timed out
+   * @throws OutOfMemoryException if  not enoough memory for the value
+   */
   virtual void put(const CacheableKeyPtr& key, const CacheablePtr& value,
                    const UserDataPtr& aCallbackArgument = nullptr) {
     GuardUserAttribures gua(m_proxyCache);
@@ -486,48 +486,48 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /** Creates a new entry in this region with the specified key and value,
-  * providing a user-defined parameter
-  * object to any <code>CacheWriter</code> invoked in the process.
-  * The same parameter is also passed to the <code>CacheListener</code>,
-  * if one is defined for this <code>Region</code>, invoked in the process.
-  * The new entry is propogated to the java server also to which it is connected
-  * with.
-  * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
-  * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
-  * <p>
-  *
-  * If remote server put fails throwing back a <code>CacheServerException</code>
-  * or security exception, then local put is tried to rollback. However, if the
-  * entry has overflowed/evicted/expired then the rollback is aborted since it
-  * may be due to a more recent notification or update by another thread.
-  *
-  * @param key the key smart pointer for which to create the entry in this
-  * region.
-  * @param value the value for the new entry, which may be nullptr meaning
-  *              the new entry starts as if it had been locally invalidated.
-  * @param aCallbackArgument a user-defined parameter to pass to callback events
-  *        triggered by this method. Can be nullptr. Should be serializable if
-  *        passed to remote callback events
-  * @throws IllegalArgumentException if key is nullptr or if the key, value, or
-  *         aCallbackArgument do not meet serializability requirements
-  * @throws CacheWriterException if CacheWriter aborts the operation
-  * @throws CacheListenerException if CacheListener throws an exception
-  * @throws RegionDestroyedException if region is no longer valid
-  * @throws CacheServerException If an exception is received from the Java cache
-  * server.
-  *         Only for Native Client regions.
-  * @throws NotConnectedException if it is not connected to the cache because
-  * the client
-  *         cannot establish usable connections to any of the servers given to
-  * it
-  * @throws MessageExcepton If the message received from server could not be
-  *         handled. This will be the case when an unregistered typeId is
-  *         received in the reply or reply is not well formed.
-  *         More information can be found in the log.
-  * @throws TimeoutException if the operation timed out
-  * @throws OutOfMemoryException if no memory for new entry
-  * @throws EntryExistsException if an entry with this key already exists
-  */
+   * providing a user-defined parameter
+   * object to any <code>CacheWriter</code> invoked in the process.
+   * The same parameter is also passed to the <code>CacheListener</code>,
+   * if one is defined for this <code>Region</code>, invoked in the process.
+   * The new entry is propogated to the java server also to which it is
+   * connected with. <p>Updates the {@link CacheStatistics::getLastAccessedTime}
+   * and
+   * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
+   * <p>
+   *
+   * If remote server put fails throwing back a
+   * <code>CacheServerException</code> or security exception, then local put is
+   * tried to rollback. However, if the entry has overflowed/evicted/expired
+   * then the rollback is aborted since it may be due to a more recent
+   * notification or update by another thread.
+   *
+   * @param key the key smart pointer for which to create the entry in this
+   * region.
+   * @param value the value for the new entry, which may be nullptr meaning
+   *              the new entry starts as if it had been locally invalidated.
+   * @param aCallbackArgument a user-defined parameter to pass to callback
+   * events triggered by this method. Can be nullptr. Should be serializable if
+   *        passed to remote callback events
+   * @throws IllegalArgumentException if key is nullptr or if the key, value, or
+   *         aCallbackArgument do not meet serializability requirements
+   * @throws CacheWriterException if CacheWriter aborts the operation
+   * @throws CacheListenerException if CacheListener throws an exception
+   * @throws RegionDestroyedException if region is no longer valid
+   * @throws CacheServerException If an exception is received from the Java
+   * cache server. Only for Native Client regions.
+   * @throws NotConnectedException if it is not connected to the cache because
+   * the client
+   *         cannot establish usable connections to any of the servers given to
+   * it
+   * @throws MessageExcepton If the message received from server could not be
+   *         handled. This will be the case when an unregistered typeId is
+   *         received in the reply or reply is not well formed.
+   *         More information can be found in the log.
+   * @throws TimeoutException if the operation timed out
+   * @throws OutOfMemoryException if no memory for new entry
+   * @throws EntryExistsException if an entry with this key already exists
+   */
   virtual void create(const CacheableKeyPtr& key, const CacheablePtr& value,
                       const UserDataPtr& aCallbackArgument = nullptr) {
     GuardUserAttribures gua(m_proxyCache);
@@ -608,27 +608,27 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /** Invalidates the entry with the specified key,
-  * and provides a user-defined argument to the <code>CacheListener</code>.
-  * Invalidate only removes the value from the entry, the key is kept intact.
-  * To completely remove the entry, destroy should be used.
-  * The invalidate is not propogated to the Geode cache server to which it is
-  * connected with.
-  * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
-  * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
-  * <p>
-  *
-  * @param key the key of the value to be invalidated
-  * @param aCallbackArgument a user-defined parameter to pass to callback events
-  *        triggered by this method. Can be nullptr. Should be serializable if
-  *        passed to remote callback events
-  * @throws IllegalArgumentException if key is nullptr
-  * @throws CacheListenerException if CacheListener throws an exception
-  * @throws EntryNotFoundException if this entry does not exist in this region
-  * locally
-  * @throws RegionDestroyedException if the region is destroyed
-  * @see destroy
-  * @see CacheListener::afterInvalidate
-  */
+   * and provides a user-defined argument to the <code>CacheListener</code>.
+   * Invalidate only removes the value from the entry, the key is kept intact.
+   * To completely remove the entry, destroy should be used.
+   * The invalidate is not propogated to the Geode cache server to which it is
+   * connected with.
+   * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
+   * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
+   * <p>
+   *
+   * @param key the key of the value to be invalidated
+   * @param aCallbackArgument a user-defined parameter to pass to callback
+   * events triggered by this method. Can be nullptr. Should be serializable if
+   *        passed to remote callback events
+   * @throws IllegalArgumentException if key is nullptr
+   * @throws CacheListenerException if CacheListener throws an exception
+   * @throws EntryNotFoundException if this entry does not exist in this region
+   * locally
+   * @throws RegionDestroyedException if the region is destroyed
+   * @see destroy
+   * @see CacheListener::afterInvalidate
+   */
   virtual void invalidate(const CacheableKeyPtr& key,
                           const UserDataPtr& aCallbackArgument = nullptr) {
     GuardUserAttribures gua(m_proxyCache);
@@ -642,25 +642,25 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /** Invalidates the entry with the specified key in the local cache only,
-  * and provides a user-defined argument to the <code>CacheListener</code>.
-  * Invalidate only removes the value from the entry, the key is kept intact.
-  * To completely remove the entry, destroy should be used.
-  * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
-  * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
-  * <p>
-  *
-  * @param key the key of the value to be invalidated
-  * @param aCallbackArgument a user-defined parameter to pass to callback events
-  *        triggered by this method. Can be nullptr. Should be serializable if
-  *        passed to remote callback events
-  * @throws IllegalArgumentException if key is nullptr
-  * @throws CacheListenerException if CacheListener throws an exception
-  * @throws EntryNotFoundException if this entry does not exist in this region
-  * locally
-  * @throws RegionDestroyedException if the region is destroyed
-  * @see destroy
-  * @see CacheListener::afterInvalidate
-  */
+   * and provides a user-defined argument to the <code>CacheListener</code>.
+   * Invalidate only removes the value from the entry, the key is kept intact.
+   * To completely remove the entry, destroy should be used.
+   * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
+   * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
+   * <p>
+   *
+   * @param key the key of the value to be invalidated
+   * @param aCallbackArgument a user-defined parameter to pass to callback
+   * events triggered by this method. Can be nullptr. Should be serializable if
+   *        passed to remote callback events
+   * @throws IllegalArgumentException if key is nullptr
+   * @throws CacheListenerException if CacheListener throws an exception
+   * @throws EntryNotFoundException if this entry does not exist in this region
+   * locally
+   * @throws RegionDestroyedException if the region is destroyed
+   * @see destroy
+   * @see CacheListener::afterInvalidate
+   */
   virtual void localInvalidate(const CacheableKeyPtr& key,
                                const UserDataPtr& aCallbackArgument = nullptr) {
     unSupportedOperation("Region.localInvalidate()");
@@ -674,47 +674,47 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /** Destroys the entry with the specified key, and provides a user-defined
-  * parameter object to any <code>CacheWriter</code> invoked in the process.
-  * The same parameter is also passed to the <code>CacheListener</code>,
-  * if one is defined for this <code>Region</code>, invoked in the process.
-  * Destroy removes
-  * not only the value, but also the key and entry from this region.
-  *
-  * The destroy is propogated to the Geode cache server to which it is
-  * connected with. If the destroy fails due to an exception on server
-  * throwing back <code>CacheServerException</code> or security exception,
-  * then the local entry is still destroyed.
-  *
-  * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
-  * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
-  * <p>
-  *
-  * @param key the key of the entry to destroy
-  * @param aCallbackArgument a user-defined parameter to pass to callback events
-  *        triggered by this method.
-  *        Can be nullptr. If it is sent on the wire, it has to be Serializable.
-  * @throws IllegalArgumentException if key is nullptr
-  * @throws CacheWriterException if CacheWriter aborts the operation
-  * @throws CacheListenerException if CacheListener throws an exception
-  * @throws CacheServerException If an exception is received from the Geode
-  * cache server.
-  *         Only for Native Client regions.
-  * @throws NotConnectedException if it is not connected to the cache because
-  * the client
-  *         cannot establish usable connections to any of the servers given to
-  * it
-  * @throws MessageExcepton If the message received from server could not be
-  *         handled. This will be the case when an unregistered typeId is
-  *         received in the reply or reply is not well formed.
-  *         More information can be found in the log.
-  * @throws TimeoutException if the operation timed out
-  * @throws EntryNotFoundException if the entry does not exist in this region
-  * locally.
-  * @throws RegionDestroyedException if the region is destroyed.
-  * @see invalidate
-  * @see CacheListener::afterDestroy
-  * @see CacheWriter::beforeDestroy
-  */
+   * parameter object to any <code>CacheWriter</code> invoked in the process.
+   * The same parameter is also passed to the <code>CacheListener</code>,
+   * if one is defined for this <code>Region</code>, invoked in the process.
+   * Destroy removes
+   * not only the value, but also the key and entry from this region.
+   *
+   * The destroy is propogated to the Geode cache server to which it is
+   * connected with. If the destroy fails due to an exception on server
+   * throwing back <code>CacheServerException</code> or security exception,
+   * then the local entry is still destroyed.
+   *
+   * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
+   * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
+   * <p>
+   *
+   * @param key the key of the entry to destroy
+   * @param aCallbackArgument a user-defined parameter to pass to callback
+   * events triggered by this method. Can be nullptr. If it is sent on the wire,
+   * it has to be Serializable.
+   * @throws IllegalArgumentException if key is nullptr
+   * @throws CacheWriterException if CacheWriter aborts the operation
+   * @throws CacheListenerException if CacheListener throws an exception
+   * @throws CacheServerException If an exception is received from the Geode
+   * cache server.
+   *         Only for Native Client regions.
+   * @throws NotConnectedException if it is not connected to the cache because
+   * the client
+   *         cannot establish usable connections to any of the servers given to
+   * it
+   * @throws MessageExcepton If the message received from server could not be
+   *         handled. This will be the case when an unregistered typeId is
+   *         received in the reply or reply is not well formed.
+   *         More information can be found in the log.
+   * @throws TimeoutException if the operation timed out
+   * @throws EntryNotFoundException if the entry does not exist in this region
+   * locally.
+   * @throws RegionDestroyedException if the region is destroyed.
+   * @see invalidate
+   * @see CacheListener::afterDestroy
+   * @see CacheWriter::beforeDestroy
+   */
   virtual void destroy(const CacheableKeyPtr& key,
                        const UserDataPtr& aCallbackArgument = nullptr) {
     GuardUserAttribures gua(m_proxyCache);
@@ -764,53 +764,53 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /** Removes the entry with the specified key, value and provides a
-  * user-defined
-  * parameter object to any <code>CacheWriter</code> invoked in the process.
-  * The same parameter is also passed to the <code>CacheListener</code> and
-  * <code>CacheWriter</code>,
-  * if one is defined for this <code>Region</code>, invoked in the process.
-  * remove removes
-  * not only the value, but also the key and entry from this region.
-  *
-  * The remove is propogated to the Geode cache server to which it is
-  * connected with. If the destroy fails due to an exception on server
-  * throwing back <code>CacheServerException</code> or security exception,
-  * then the local entry is still removed.
-  *
-  * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
-  * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
-  * <p>
-  *
-  * @param key the key of the entry to remove
-  * @param value the value of the key to remove, it can be nullptr.
-  * @param aCallbackArgument a user-defined parameter to pass to callback events
-  *        triggered by this method.
-  *        Can be nullptr. If it is sent on the wire, it has to be Serializable.
-  * @throws IllegalArgumentException if key is nullptr
-  * @throws CacheWriterException if CacheWriter aborts the operation
-  * @throws CacheListenerException if CacheListener throws an exception
-  * @throws CacheServerException If an exception is received from the Geode
-  * cache server.
-  *         Only for Native Client regions.
-  * @throws NotConnectedException if it is not connected to the cache because
-  * the client
-  *         cannot establish usable connections to any of the servers given to
-  * it
-  *         For pools configured with locators, if no locators are available,
-  * the cause
-  *         of NotConnectedException is set to NoAvailableLocatorsException.
-  * @throws MessageExcepton If the message received from server could not be
-  *         handled. This will be the case when an unregistered typeId is
-  *         received in the reply or reply is not well formed.
-  *         More information can be found in the log.
-  * @throws TimeoutException if the operation timed out
-  * @throws RegionDestroyedException if the region is destroyed.
-  * @return the boolean true if an entry(key, value)has been removed or
-  * false if an entry(key, value) has not been removed.
-  * @see destroy
-  * @see CacheListener::afterDestroy
-  * @see CacheWriter::beforeDestroy
-  */
+   * user-defined
+   * parameter object to any <code>CacheWriter</code> invoked in the process.
+   * The same parameter is also passed to the <code>CacheListener</code> and
+   * <code>CacheWriter</code>,
+   * if one is defined for this <code>Region</code>, invoked in the process.
+   * remove removes
+   * not only the value, but also the key and entry from this region.
+   *
+   * The remove is propogated to the Geode cache server to which it is
+   * connected with. If the destroy fails due to an exception on server
+   * throwing back <code>CacheServerException</code> or security exception,
+   * then the local entry is still removed.
+   *
+   * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
+   * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
+   * <p>
+   *
+   * @param key the key of the entry to remove
+   * @param value the value of the key to remove, it can be nullptr.
+   * @param aCallbackArgument a user-defined parameter to pass to callback
+   * events triggered by this method. Can be nullptr. If it is sent on the wire,
+   * it has to be Serializable.
+   * @throws IllegalArgumentException if key is nullptr
+   * @throws CacheWriterException if CacheWriter aborts the operation
+   * @throws CacheListenerException if CacheListener throws an exception
+   * @throws CacheServerException If an exception is received from the Geode
+   * cache server.
+   *         Only for Native Client regions.
+   * @throws NotConnectedException if it is not connected to the cache because
+   * the client
+   *         cannot establish usable connections to any of the servers given to
+   * it
+   *         For pools configured with locators, if no locators are available,
+   * the cause
+   *         of NotConnectedException is set to NoAvailableLocatorsException.
+   * @throws MessageExcepton If the message received from server could not be
+   *         handled. This will be the case when an unregistered typeId is
+   *         received in the reply or reply is not well formed.
+   *         More information can be found in the log.
+   * @throws TimeoutException if the operation timed out
+   * @throws RegionDestroyedException if the region is destroyed.
+   * @return the boolean true if an entry(key, value)has been removed or
+   * false if an entry(key, value) has not been removed.
+   * @see destroy
+   * @see CacheListener::afterDestroy
+   * @see CacheWriter::beforeDestroy
+   */
   virtual bool remove(const CacheableKeyPtr& key, const CacheablePtr& value,
                       const UserDataPtr& aCallbackArgument = nullptr) {
     GuardUserAttribures gua(m_proxyCache);
@@ -839,51 +839,51 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /** Removes the entry with the specified key and provides a user-defined
-  * parameter object to any <code>CacheWriter</code> invoked in the process.
-  * The same parameter is also passed to the <code>CacheListener</code> and
-  * <code>CacheWriter</code>,
-  * if one is defined for this <code>Region</code>, invoked in the process.
-  * remove removes
-  * not only the value, but also the key and entry from this region.
-  *
-  * The remove is propogated to the Geode cache server to which it is
-  * connected with. If the destroy fails due to an exception on server
-  * throwing back <code>CacheServerException</code> or security exception,
-  * then the local entry is still removed.
-  *
-  * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
-  * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
-  * <p>
-  *
-  * @param key the key of the entry to remove
-  * @param aCallbackArgument a user-defined parameter to pass to callback events
-  *        triggered by this method.
-  *        Can be nullptr. If it is sent on the wire, it has to be Serializable.
-  * @throws IllegalArgumentException if key is nullptr
-  * @throws CacheWriterException if CacheWriter aborts the operation
-  * @throws CacheListenerException if CacheListener throws an exception
-  * @throws CacheServerException If an exception is received from the Geode
-  * cache server.
-  *         Only for Native Client regions.
-  * @throws NotConnectedException if it is not connected to the cache because
-  * the client
-  *         cannot establish usable connections to any of the servers given to
-  * it
-  *         For pools configured with locators, if no locators are available,
-  * the cause
-  *         of NotConnectedException is set to NoAvailableLocatorsException.
-  * @throws MessageExcepton If the message received from server could not be
-  *         handled. This will be the case when an unregistered typeId is
-  *         received in the reply or reply is not well formed.
-  *         More information can be found in the log.
-  * @throws TimeoutException if the operation timed out
-  * @throws RegionDestroyedException if the region is destroyed.
-  * @return the boolean true if an entry(key, value)has been removed or
-  * false if an entry(key, value) has not been removed.
-  * @see destroy
-  * @see CacheListener::afterDestroy
-  * @see CacheWriter::beforeDestroy
-  */
+   * parameter object to any <code>CacheWriter</code> invoked in the process.
+   * The same parameter is also passed to the <code>CacheListener</code> and
+   * <code>CacheWriter</code>,
+   * if one is defined for this <code>Region</code>, invoked in the process.
+   * remove removes
+   * not only the value, but also the key and entry from this region.
+   *
+   * The remove is propogated to the Geode cache server to which it is
+   * connected with. If the destroy fails due to an exception on server
+   * throwing back <code>CacheServerException</code> or security exception,
+   * then the local entry is still removed.
+   *
+   * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
+   * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
+   * <p>
+   *
+   * @param key the key of the entry to remove
+   * @param aCallbackArgument a user-defined parameter to pass to callback
+   * events triggered by this method. Can be nullptr. If it is sent on the wire,
+   * it has to be Serializable.
+   * @throws IllegalArgumentException if key is nullptr
+   * @throws CacheWriterException if CacheWriter aborts the operation
+   * @throws CacheListenerException if CacheListener throws an exception
+   * @throws CacheServerException If an exception is received from the Geode
+   * cache server.
+   *         Only for Native Client regions.
+   * @throws NotConnectedException if it is not connected to the cache because
+   * the client
+   *         cannot establish usable connections to any of the servers given to
+   * it
+   *         For pools configured with locators, if no locators are available,
+   * the cause
+   *         of NotConnectedException is set to NoAvailableLocatorsException.
+   * @throws MessageExcepton If the message received from server could not be
+   *         handled. This will be the case when an unregistered typeId is
+   *         received in the reply or reply is not well formed.
+   *         More information can be found in the log.
+   * @throws TimeoutException if the operation timed out
+   * @throws RegionDestroyedException if the region is destroyed.
+   * @return the boolean true if an entry(key, value)has been removed or
+   * false if an entry(key, value) has not been removed.
+   * @see destroy
+   * @see CacheListener::afterDestroy
+   * @see CacheWriter::beforeDestroy
+   */
 
   virtual bool removeEx(const CacheableKeyPtr& key,
                         const UserDataPtr& aCallbackArgument = nullptr) {
@@ -953,30 +953,30 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /** Removes the entry with the specified key in the local cache only,
-  * and provides a user-defined parameter object to any
-  * <code>CacheWriter</code> invoked in the process.
-  * The same parameter is also passed to the <code>CacheListener</code> and
-  * <code>CacheWriter</code>,
-  * if one is defined for this <code>Region</code>, invoked in the process.
-  * Remove removes
-  * not only the value but also the key and entry from this region.
-  * <p>
-  * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
-  * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
-  * <p>
-  *
-  * @param key the key of the entry to remove.
-  * @param aCallbackArgument the callback for user to pass in, default is
-  * nullptr.
-  * @throws IllegalArgumentException if key is nullptr
-  * @throws CacheWriterException if CacheWriter aborts the operation
-  * @throws CacheListenerException if CacheListener throws an exception
-  * @return the boolean true if an entry(key, value)has been removed or
-  * false if an entry(key, value) has not been removed.
-  * @see destroy
-  * @see CacheListener::afterDestroy
-  * @see CacheWriter::beforeDestroy
-  */
+   * and provides a user-defined parameter object to any
+   * <code>CacheWriter</code> invoked in the process.
+   * The same parameter is also passed to the <code>CacheListener</code> and
+   * <code>CacheWriter</code>,
+   * if one is defined for this <code>Region</code>, invoked in the process.
+   * Remove removes
+   * not only the value but also the key and entry from this region.
+   * <p>
+   * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
+   * {@link CacheStatistics::getLastModifiedTime} for this region and the entry.
+   * <p>
+   *
+   * @param key the key of the entry to remove.
+   * @param aCallbackArgument the callback for user to pass in, default is
+   * nullptr.
+   * @throws IllegalArgumentException if key is nullptr
+   * @throws CacheWriterException if CacheWriter aborts the operation
+   * @throws CacheListenerException if CacheListener throws an exception
+   * @return the boolean true if an entry(key, value)has been removed or
+   * false if an entry(key, value) has not been removed.
+   * @see destroy
+   * @see CacheListener::afterDestroy
+   * @see CacheWriter::beforeDestroy
+   */
   virtual bool localRemoveEx(const CacheableKeyPtr& key,
                              const UserDataPtr& aCallbackArgument = nullptr) {
     unSupportedOperation("Region.localRemoveEx()");
@@ -991,44 +991,44 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /**
-  * Return all the keys in the local process for this region. This includes
-  * keys for which the entry is invalid.
-  */
+   * Return all the keys in the local process for this region. This includes
+   * keys for which the entry is invalid.
+   */
   virtual void keys(VectorOfCacheableKey& v) {
     unSupportedOperation("Region.keys()");
   }
 
   /**
-  * Return the set of keys defined in the server process associated to this
-  * client and region. If a server has the region defined as a mirror, then
-  * this will be the entire keyset for the region across all PEER in the
-  * distributed system.
-  * The vector v will contain only the server keys. Any prior contents in the
-  * vector will be removed.
-  * @throws CacheServerException If an exception is received from the Geode
-  * cache server.
-  *         Only for Native Client regions.
-  * @throws NotConnectedException if it is not connected to the cache because
-  * the client
-  *         cannot establish usable connections to any of the servers given to
-  * it
-  * @throws MessageExcepton If the message received from server could not be
-  *         handled. This will be the case when an unregistered typeId is
-  *         received in the reply or reply is not well formed.
-  *         More information can be found in the log.
-  * @throws TimeoutException if there is a timeout getting the keys
-  * @throws UnsupportedOperationException if the member type is not CLIENT
-  *                                       or region is not a native client one.
-  */
+   * Return the set of keys defined in the server process associated to this
+   * client and region. If a server has the region defined as a mirror, then
+   * this will be the entire keyset for the region across all PEER in the
+   * distributed system.
+   * The vector v will contain only the server keys. Any prior contents in the
+   * vector will be removed.
+   * @throws CacheServerException If an exception is received from the Geode
+   * cache server.
+   *         Only for Native Client regions.
+   * @throws NotConnectedException if it is not connected to the cache because
+   * the client
+   *         cannot establish usable connections to any of the servers given to
+   * it
+   * @throws MessageExcepton If the message received from server could not be
+   *         handled. This will be the case when an unregistered typeId is
+   *         received in the reply or reply is not well formed.
+   *         More information can be found in the log.
+   * @throws TimeoutException if there is a timeout getting the keys
+   * @throws UnsupportedOperationException if the member type is not CLIENT
+   *                                       or region is not a native client one.
+   */
   virtual void serverKeys(VectorOfCacheableKey& v) {
     GuardUserAttribures gua(m_proxyCache);
     m_realRegion->serverKeys(v);
   }
 
   /**
-  * Return all values in the local process for this region. No value is included
-  * for entries that are invalidated.
-  */
+   * Return all values in the local process for this region. No value is
+   * included for entries that are invalidated.
+   */
   virtual void values(VectorOfCacheable& vc) {
     unSupportedOperation("Region.values()");
   }
@@ -1044,108 +1044,108 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   virtual bool isDestroyed() const { return m_realRegion->isDestroyed(); }
 
   /**
-  * This operations checks for the value in the local cache .
-  * It is not propagated to the Geode cache server
-  * to which it is connected.
-  */
+   * This operations checks for the value in the local cache .
+   * It is not propagated to the Geode cache server
+   * to which it is connected.
+   */
   virtual bool containsValueForKey(const CacheableKeyPtr& keyPtr) const {
     unSupportedOperation("Region.containsValueForKey()");
     return false;
   }
 
   /**
-  * Convenience method allowing key to be a const char*
-  * This operations checks for the value in the local cache .
-  * It is not propagated to the Geode cache server
-  * to which it is connected.
-  */
+   * Convenience method allowing key to be a const char*
+   * This operations checks for the value in the local cache .
+   * It is not propagated to the Geode cache server
+   * to which it is connected.
+   */
   template <class KEYTYPE>
   inline bool containsValueForKey(const KEYTYPE& key) const {
     return containsValueForKey(createKey(key));
   }
 
   /**
-  * Only the client's cache is searched for the key. It does not go to the java
-  * server
-  * to which it is connected with.
-  */
+   * Only the client's cache is searched for the key. It does not go to the java
+   * server
+   * to which it is connected with.
+   */
   virtual bool containsKey(const CacheableKeyPtr& keyPtr) const {
     unSupportedOperation("Region.containsKey()");
     return false;
   }
 
   /**
-  * The cache of the server, to which it is connected with, is searched
-  * for the key to see if the key is present.
-  * @throws UnsupportedOperationException if the region's scope is
-  * ScopeType::LOCAL.
-  */
+   * The cache of the server, to which it is connected with, is searched
+   * for the key to see if the key is present.
+   * @throws UnsupportedOperationException if the region's scope is
+   * ScopeType::LOCAL.
+   */
   virtual bool containsKeyOnServer(const CacheableKeyPtr& keyPtr) const {
     GuardUserAttribures gua(m_proxyCache);
     return m_realRegion->containsKeyOnServer(keyPtr);
   }
   /**
-  * Returns the list of keys on which this client is interested and will be
-  * notified of changes.
-  * @throws UnsupportedOperationException if the region's scope is
-  * ScopeType::LOCAL.
-  */
+   * Returns the list of keys on which this client is interested and will be
+   * notified of changes.
+   * @throws UnsupportedOperationException if the region's scope is
+   * ScopeType::LOCAL.
+   */
   virtual void getInterestList(VectorOfCacheableKey& vlist) const {
     unSupportedOperation("Region.getInterestList()");
   }
   /**
-  * Returns the list of regular expresssions on which this client is
-  * interested and will be notified of changes.
-  * @throws UnsupportedOperationException if the region's scope is
-  * ScopeType::LOCAL.
-  */
+   * Returns the list of regular expresssions on which this client is
+   * interested and will be notified of changes.
+   * @throws UnsupportedOperationException if the region's scope is
+   * ScopeType::LOCAL.
+   */
   virtual void getInterestListRegex(VectorOfCacheableString& vregex) const {
     unSupportedOperation("Region.getInterestListRegex()");
   }
 
   /**
-  * Convenience method allowing key to be a const char*
-  * This operations checks for the key in the local cache .
-  * It is not propagated to the Geode cache server
-  * to which it is connected.
-  */
+   * Convenience method allowing key to be a const char*
+   * This operations checks for the key in the local cache .
+   * It is not propagated to the Geode cache server
+   * to which it is connected.
+   */
   template <class KEYTYPE>
   inline bool containsKey(const KEYTYPE& key) const {
     return containsKey(createKey(key));
   }
 
   /**
-  * Registers an array of keys for getting updates from the server.
-  * Valid only for a Native Client region when client notification
-  * ( {@link AttributesFactory::setClientNotification} ) is true.
-  *
-  * @param keys the array of keys
-  * @param isDurable flag to indicate whether this is a durable registration
-  * @param getInitialValues true to populate the cache with values of the keys
-  *   that were registered on the server
-  * @param receiveValues whether to act like notify-by-subscription is set
-  *
-  * @throws IllegalArgumentException If the array of keys is empty.
-  * @throws IllegalStateException If already registered interest for all keys.
-  * @throws EntryNotFoundException If an exception occurs while obtaining
-  *   values from server after register interest is complete. The actual cause
-  *   of the exception can be obtained using <code>Exception::getCause</code>.
-  *   If an application wants to undo the registration on server, or take
-  *   some other steps for the incomplete cache population then this is
-  *   the exception that should be caught.
-  * @throws UnsupportedOperationException If the region is not a Native Client
-  * region or
-  * {@link AttributesFactory::setClientNotification} is false.
-  * @throws CacheServerException If an exception is received from the Java cache
-  * server.
-  * @throws NotConnectedException if it is not connected to the cache because
-  * the client
-  *         cannot establish usable connections to any of the servers given to
-  * it
-  * @throws RegionDestroyedException If region destroy is pending.
-  * @throws UnknownException For other exceptions.
-  * @throws TimeoutException if operation timed out
-  */
+   * Registers an array of keys for getting updates from the server.
+   * Valid only for a Native Client region when client notification
+   * ( {@link AttributesFactory::setClientNotification} ) is true.
+   *
+   * @param keys the array of keys
+   * @param isDurable flag to indicate whether this is a durable registration
+   * @param getInitialValues true to populate the cache with values of the keys
+   *   that were registered on the server
+   * @param receiveValues whether to act like notify-by-subscription is set
+   *
+   * @throws IllegalArgumentException If the array of keys is empty.
+   * @throws IllegalStateException If already registered interest for all keys.
+   * @throws EntryNotFoundException If an exception occurs while obtaining
+   *   values from server after register interest is complete. The actual cause
+   *   of the exception can be obtained using <code>Exception::getCause</code>.
+   *   If an application wants to undo the registration on server, or take
+   *   some other steps for the incomplete cache population then this is
+   *   the exception that should be caught.
+   * @throws UnsupportedOperationException If the region is not a Native Client
+   * region or
+   * {@link AttributesFactory::setClientNotification} is false.
+   * @throws CacheServerException If an exception is received from the Java
+   * cache server.
+   * @throws NotConnectedException if it is not connected to the cache because
+   * the client
+   *         cannot establish usable connections to any of the servers given to
+   * it
+   * @throws RegionDestroyedException If region destroy is pending.
+   * @throws UnknownException For other exceptions.
+   * @throws TimeoutException if operation timed out
+   */
   virtual void registerKeys(const VectorOfCacheableKey& keys,
                             bool isDurable = false,
                             bool getInitialValues = false,
@@ -1154,63 +1154,63 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /**
-  * Unregisters an array of keys to stop getting updates for them.
-  * Valid only for a Native Client region when client notification
-  * ( {@link AttributesFactory::setClientNotification} ) is true.
-  *
-  * @param keys the array of keys
-  *
-  * @throws IllegalArgumentException If the array of keys is empty.
-  * @throws IllegalStateException If no keys were previously registered.
-  * @throws UnsupportedOperationException If the region is not a Native Client
-  * region or
-  * {@link AttributesFactory::setClientNotification} is false.
-  * @throws CacheServerException If an exception is received from the Java cache
-  * server.
-  * @throws NotConnectedException if it is not connected to the cache because
-  * the client
-  *         cannot establish usable connections to any of the servers given to
-  * it
-  * @throws RegionDestroyedException If region destroy is pending.
-  * @throws UnknownException For other exceptions.
-  * @throws TimeoutException if operation timed out
-  */
+   * Unregisters an array of keys to stop getting updates for them.
+   * Valid only for a Native Client region when client notification
+   * ( {@link AttributesFactory::setClientNotification} ) is true.
+   *
+   * @param keys the array of keys
+   *
+   * @throws IllegalArgumentException If the array of keys is empty.
+   * @throws IllegalStateException If no keys were previously registered.
+   * @throws UnsupportedOperationException If the region is not a Native Client
+   * region or
+   * {@link AttributesFactory::setClientNotification} is false.
+   * @throws CacheServerException If an exception is received from the Java
+   * cache server.
+   * @throws NotConnectedException if it is not connected to the cache because
+   * the client
+   *         cannot establish usable connections to any of the servers given to
+   * it
+   * @throws RegionDestroyedException If region destroy is pending.
+   * @throws UnknownException For other exceptions.
+   * @throws TimeoutException if operation timed out
+   */
   virtual void unregisterKeys(const VectorOfCacheableKey& keys) {
     unSupportedOperation("Region.unregisterKeys()");
   }
 
   /**
-  * Registers to get updates for all keys from the server.
-  * Valid only for a Native Client region when client notification
-  * ( {@link AttributesFactory::setClientNotification} ) is true.
-  *
-  * @param isDurable flag to indicate whether this is a durable registration
-  * @param resultKeys If non-nullptr then all the keys on the server that got
-  *   registered are returned. The vector is cleared at the start to discard
-  *   any existing keys in the vector.
-  * @param getInitialValues true to populate the cache with values of all keys
-  *   from the server
-  * @param receiveValues whether to act like notify-by-subscription is set
-  *
-  * @throws EntryNotFoundException If an exception occurs while obtaining
-  *   values from server after register interest is complete. The actual cause
-  *   of the exception can be obtained using <code>Exception::getCause</code>.
-  *   If an application wants to undo the registration on server, or take
-  *   some other steps for the incomplete cache population then this is
-  *   the exception that should be caught.
-  * @throws UnsupportedOperationException If the region is not a Native Client
-  * region or
-  * {@link AttributesFactory::setClientNotification} is false.
-  * @throws CacheServerException If an exception is received from the Java cache
-  * server.
-  * @throws NotConnectedException if it is not connected to the cache because
-  * the client
-  *         cannot establish usable connections to any of the servers given to
-  * it
-  * @throws RegionDestroyedException If region destroy is pending.
-  * @throws UnknownException For other exceptions.
-  * @throws TimeoutException if operation timed out
-  */
+   * Registers to get updates for all keys from the server.
+   * Valid only for a Native Client region when client notification
+   * ( {@link AttributesFactory::setClientNotification} ) is true.
+   *
+   * @param isDurable flag to indicate whether this is a durable registration
+   * @param resultKeys If non-nullptr then all the keys on the server that got
+   *   registered are returned. The vector is cleared at the start to discard
+   *   any existing keys in the vector.
+   * @param getInitialValues true to populate the cache with values of all keys
+   *   from the server
+   * @param receiveValues whether to act like notify-by-subscription is set
+   *
+   * @throws EntryNotFoundException If an exception occurs while obtaining
+   *   values from server after register interest is complete. The actual cause
+   *   of the exception can be obtained using <code>Exception::getCause</code>.
+   *   If an application wants to undo the registration on server, or take
+   *   some other steps for the incomplete cache population then this is
+   *   the exception that should be caught.
+   * @throws UnsupportedOperationException If the region is not a Native Client
+   * region or
+   * {@link AttributesFactory::setClientNotification} is false.
+   * @throws CacheServerException If an exception is received from the Java
+   * cache server.
+   * @throws NotConnectedException if it is not connected to the cache because
+   * the client
+   *         cannot establish usable connections to any of the servers given to
+   * it
+   * @throws RegionDestroyedException If region destroy is pending.
+   * @throws UnknownException For other exceptions.
+   * @throws TimeoutException if operation timed out
+   */
   virtual void registerAllKeys(bool isDurable = false,
                                VectorOfCacheableKeyPtr resultKeys = nullptr,
                                bool getInitialValues = false,
@@ -1219,68 +1219,68 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /**
-  * Registers to get updates for all keys from the server.
-  * Valid only for a Native Client region when client notification
-  * ( {@link AttributesFactory::setClientNotification} ) is true.
-  *
-  * @throws IllegalStateException If not previously registered all keys.
-  * @throws UnsupportedOperationException If the region is not a Native Client
-  * region or
-  * {@link AttributesFactory::setClientNotification} is false.
-  * @throws CacheServerException If an exception is received from the Java cache
-  * server.
-  * @throws NotConnectedException if it is not connected to the cache because
-  * the client
-  *         cannot establish usable connections to any of the servers given to
-  * it
-  * @throws RegionDestroyedException If region destroy is pending.
-  * @throws UnknownException For other exceptions.
-  * @throws TimeoutException if operation timed out
-  */
+   * Registers to get updates for all keys from the server.
+   * Valid only for a Native Client region when client notification
+   * ( {@link AttributesFactory::setClientNotification} ) is true.
+   *
+   * @throws IllegalStateException If not previously registered all keys.
+   * @throws UnsupportedOperationException If the region is not a Native Client
+   * region or
+   * {@link AttributesFactory::setClientNotification} is false.
+   * @throws CacheServerException If an exception is received from the Java
+   * cache server.
+   * @throws NotConnectedException if it is not connected to the cache because
+   * the client
+   *         cannot establish usable connections to any of the servers given to
+   * it
+   * @throws RegionDestroyedException If region destroy is pending.
+   * @throws UnknownException For other exceptions.
+   * @throws TimeoutException if operation timed out
+   */
   virtual void unregisterAllKeys() {
     unSupportedOperation("Region.unregisterAllKeys()");
   }
 
   /**
-  * Registers a regular expression to match with keys to get updates from the
-  * server.
-  * Valid only for a Native Client region when client notification
-  * ( {@link AttributesFactory::setClientNotification} ) is true.
-  *
-  * @param regex The regular expression string.
-  * @param isDurable flag to indicate whether this is a durable registration
-  * @param resultKeys If non-nullptr then the keys that match the regular
-  *   expression on the server are returned. The vector is cleared at the
-  *   start to discard any existing keys in the vector.
-  * @param getInitialValues true to populate the cache with values of the keys
-  *   that were registered on the server
-  * @param receiveValues whether to act like notify-by-subscription is set
-  *
-  * @throws IllegalArgumentException If regex is empty.
-  * @throws IllegalStateException If already registered interest for all keys.
-  * @throws EntryNotFoundException If an exception occurs while obtaining
-  *   values from server after register interest is complete. The actual cause
-  *   of the exception can be obtained using <code>Exception::getCause</code>.
-  *   If an application wants to undo the registration on server, or take
-  *   some other steps for the incomplete cache population then this is
-  *   the exception that should be caught.
-  * @throws UnsupportedOperationException If the region is not a Native Client
-  * region or
-  * {@link AttributesFactory::setClientNotification} is false.
-  * @throws CacheServerException If an exception is received from the Java cache
-  * server.
-  * @throws NotConnectedException if it is not connected to the cache because
-  * the client
-  *         cannot establish usable connections to any of the servers given to
-  * it
-  * @throws MessageExcepton If the message received from server could not be
-  *         handled. This will be the case when an unregistered typeId is
-  *         received in the reply or reply is not well formed.
-  *         More information can be found in the log.
-  * @throws RegionDestroyedException If region destroy is pending.
-  * @throws UnknownException For other exceptions.
-  * @throws TimeoutException if operation timed out
-  */
+   * Registers a regular expression to match with keys to get updates from the
+   * server.
+   * Valid only for a Native Client region when client notification
+   * ( {@link AttributesFactory::setClientNotification} ) is true.
+   *
+   * @param regex The regular expression string.
+   * @param isDurable flag to indicate whether this is a durable registration
+   * @param resultKeys If non-nullptr then the keys that match the regular
+   *   expression on the server are returned. The vector is cleared at the
+   *   start to discard any existing keys in the vector.
+   * @param getInitialValues true to populate the cache with values of the keys
+   *   that were registered on the server
+   * @param receiveValues whether to act like notify-by-subscription is set
+   *
+   * @throws IllegalArgumentException If regex is empty.
+   * @throws IllegalStateException If already registered interest for all keys.
+   * @throws EntryNotFoundException If an exception occurs while obtaining
+   *   values from server after register interest is complete. The actual cause
+   *   of the exception can be obtained using <code>Exception::getCause</code>.
+   *   If an application wants to undo the registration on server, or take
+   *   some other steps for the incomplete cache population then this is
+   *   the exception that should be caught.
+   * @throws UnsupportedOperationException If the region is not a Native Client
+   * region or
+   * {@link AttributesFactory::setClientNotification} is false.
+   * @throws CacheServerException If an exception is received from the Java
+   * cache server.
+   * @throws NotConnectedException if it is not connected to the cache because
+   * the client
+   *         cannot establish usable connections to any of the servers given to
+   * it
+   * @throws MessageExcepton If the message received from server could not be
+   *         handled. This will be the case when an unregistered typeId is
+   *         received in the reply or reply is not well formed.
+   *         More information can be found in the log.
+   * @throws RegionDestroyedException If region destroy is pending.
+   * @throws UnknownException For other exceptions.
+   * @throws TimeoutException if operation timed out
+   */
   virtual void registerRegex(const char* regex, bool isDurable = false,
                              VectorOfCacheableKeyPtr resultKeys = nullptr,
                              bool getInitialValues = false,
@@ -1289,74 +1289,75 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /**
-  * Unregisters a regular expression to stop getting updates for keys from the
-  * server.
-  * Valid only for a Native Client region when client notification
-  * ( {@link AttributesFactory::setClientNotification} ) is true.
-  *
-  * @param regex The regular expression string.
-  *
-  * @throws IllegalArgumentException If regex is empty.
-  * @throws IllegalStateException If not previously registered this regular
-  * expression string.
-  * @throws UnsupportedOperationException If the region is not a Native Client
-  * region or
-  * {@link AttributesFactory::setClientNotification} is false.
-  * @throws CacheServerException If an exception is received from the Java cache
-  * server.
-  * @throws NotConnectedException if it is not connected to the cache because
-  * the client
-  *         cannot establish usable connections to any of the servers given to
-  * it
-  * @throws RegionDestroyedException If region destroy is pending.
-  * @throws UnknownException For other exceptions.
-  * @throws TimeoutException if operation timed out
-  */
+   * Unregisters a regular expression to stop getting updates for keys from the
+   * server.
+   * Valid only for a Native Client region when client notification
+   * ( {@link AttributesFactory::setClientNotification} ) is true.
+   *
+   * @param regex The regular expression string.
+   *
+   * @throws IllegalArgumentException If regex is empty.
+   * @throws IllegalStateException If not previously registered this regular
+   * expression string.
+   * @throws UnsupportedOperationException If the region is not a Native Client
+   * region or
+   * {@link AttributesFactory::setClientNotification} is false.
+   * @throws CacheServerException If an exception is received from the Java
+   * cache server.
+   * @throws NotConnectedException if it is not connected to the cache because
+   * the client
+   *         cannot establish usable connections to any of the servers given to
+   * it
+   * @throws RegionDestroyedException If region destroy is pending.
+   * @throws UnknownException For other exceptions.
+   * @throws TimeoutException if operation timed out
+   */
   virtual void unregisterRegex(const char* regex) {
     unSupportedOperation("Region.unregisterRegex()");
   }
 
   /**
-  * Gets values for an array of keys from the local cache or server.
-  * If value for a key is not present locally then it is requested from the
-  * java server. The value returned is not copied, so multi-threaded
-  * applications should not modify the value directly,
-  * but should use the update methods.
-  *<p>
-  * Updates the {@link CacheStatistics::getLastAccessedTime},
-  * {@link CacheStatistics::getHitCount} and {@link
-  *CacheStatistics::getMissCount}
-  * for this region and the entry.
-  *
-  * @param keys the array of keys
-  * @param values Output parameter that provides the map of keys to
-  *   respective values. It is ignored if nullptr, and when nullptr then at
-  *least
-  *   the <code>addToLocalCache</code> parameter should be true and caching
-  *   should be enabled for the region to get values into the region
-  *   otherwise an <code>IllegalArgumentException</code> is thrown.
-  * @param exceptions Output parameter that provides the map of keys
-  *   to any exceptions while obtaining the key. It is ignored if nullptr.
-  * @param addToLocalCache true if the obtained values have also to be added
-  *   to the local cache
-  * @since 8.1
-  * @param aCallbackArgument an argument that is passed to the callback
-  *functions.
-  * It may be nullptr. Must be serializable if this operation is distributed.
-  * @throws IllegalArgumentException If the array of keys is empty. Other
-  *   invalid case is when the <code>values</code> parameter is nullptr, and
-  *   either <code>addToLocalCache</code> is false or caching is disabled
-  *   for this region.
-  * @throws CacheServerException If an exception is received from the Java
-  *   cache server while processing the request.
-  * @throws NotConnectedException if it is not connected to the cache because
-  *   the client cannot establish usable connections to any of the given servers
-  * @throws RegionDestroyedException If region destroy is pending.
-  * @throws TimeoutException if operation timed out.
-  * @throws UnknownException For other exceptions.
-  *
-  * @see get
-  */
+   * Gets values for an array of keys from the local cache or server.
+   * If value for a key is not present locally then it is requested from the
+   * java server. The value returned is not copied, so multi-threaded
+   * applications should not modify the value directly,
+   * but should use the update methods.
+   *<p>
+   * Updates the {@link CacheStatistics::getLastAccessedTime},
+   * {@link CacheStatistics::getHitCount} and {@link
+   *CacheStatistics::getMissCount}
+   * for this region and the entry.
+   *
+   * @param keys the array of keys
+   * @param values Output parameter that provides the map of keys to
+   *   respective values. It is ignored if nullptr, and when nullptr then at
+   *least
+   *   the <code>addToLocalCache</code> parameter should be true and caching
+   *   should be enabled for the region to get values into the region
+   *   otherwise an <code>IllegalArgumentException</code> is thrown.
+   * @param exceptions Output parameter that provides the map of keys
+   *   to any exceptions while obtaining the key. It is ignored if nullptr.
+   * @param addToLocalCache true if the obtained values have also to be added
+   *   to the local cache
+   * @since 8.1
+   * @param aCallbackArgument an argument that is passed to the callback
+   *functions.
+   * It may be nullptr. Must be serializable if this operation is distributed.
+   * @throws IllegalArgumentException If the array of keys is empty. Other
+   *   invalid case is when the <code>values</code> parameter is nullptr, and
+   *   either <code>addToLocalCache</code> is false or caching is disabled
+   *   for this region.
+   * @throws CacheServerException If an exception is received from the Java
+   *   cache server while processing the request.
+   * @throws NotConnectedException if it is not connected to the cache because
+   *   the client cannot establish usable connections to any of the given
+   *servers
+   * @throws RegionDestroyedException If region destroy is pending.
+   * @throws TimeoutException if operation timed out.
+   * @throws UnknownException For other exceptions.
+   *
+   * @see get
+   */
   virtual void getAll(const VectorOfCacheableKey& keys,
                       HashMapOfCacheablePtr values,
                       HashMapOfExceptionPtr exceptions,
@@ -1368,31 +1369,31 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /**
-  * Executes the query on the server based on the predicate.
-  * Valid only for a Native Client region.
-  *
-  * @param predicate The query predicate (just the WHERE clause) or the entire
-  * query to execute.
-  * @param timeout The time (in seconds) to wait for the query response,
-  * optional.
-  *        This should be less than or equal to 2^31/1000 i.e. 2147483.
-  *
-  * @throws IllegalArgumentException If predicate is empty or timeout
-  *         parameter is greater than 2^31/1000.
-  * @throws QueryException if some query error occurred at the server.
-  * @throws CacheServerException If an exception is received from the Java cache
-  * server.
-  * @throws NotConnectedException if a server connection error occurs.
-  * @throws MessageExcepton If the message received from server could not be
-  *         handled. This will be the case when an unregistered typeId is
-  *         received in the reply or reply is not well formed.
-  *         More information can be found in the log.
-  * @throws TimeoutException if operation timed out
-  * @throws CacheClosedException if the cache has been closed
-  *
-  * @returns A smart pointer to the SelectResults which can either be a
-  * ResultSet or a StructSet.
-  */
+   * Executes the query on the server based on the predicate.
+   * Valid only for a Native Client region.
+   *
+   * @param predicate The query predicate (just the WHERE clause) or the entire
+   * query to execute.
+   * @param timeout The time (in seconds) to wait for the query response,
+   * optional.
+   *        This should be less than or equal to 2^31/1000 i.e. 2147483.
+   *
+   * @throws IllegalArgumentException If predicate is empty or timeout
+   *         parameter is greater than 2^31/1000.
+   * @throws QueryException if some query error occurred at the server.
+   * @throws CacheServerException If an exception is received from the Java
+   * cache server.
+   * @throws NotConnectedException if a server connection error occurs.
+   * @throws MessageExcepton If the message received from server could not be
+   *         handled. This will be the case when an unregistered typeId is
+   *         received in the reply or reply is not well formed.
+   *         More information can be found in the log.
+   * @throws TimeoutException if operation timed out
+   * @throws CacheClosedException if the cache has been closed
+   *
+   * @returns A smart pointer to the SelectResults which can either be a
+   * ResultSet or a StructSet.
+   */
   virtual SelectResultsPtr query(
       const char* predicate,
       uint32_t timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT) {
@@ -1401,24 +1402,24 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /**
-  * Executes the query on the server based on the predicate and returns whether
-  * any result exists.
-  * Valid only for a Native Client region.
-  * @param predicate The query predicate (just the WHERE clause) or the entire
-  * query to execute.
-  * @param timeout The time (in seconds) to wait for the response, optional.
-  *        This should be less than or equal to 2^31/1000 i.e. 2147483.
-  * @throws IllegalArgumentException If predicate is empty or timeout
-  *         parameter is greater than 2^31/1000.
-  * @throws QueryException if some query error occurred at the server.
-  * @throws NotConnectedException if a server connection error occurs.
-  * @throws MessageExcepton If the message received from server could not be
-  *         handled. This will be the case when the reply is not well formed.
-  *         More information can be found in the log.
-  * @throws TimeoutException if operation timed out
-  * @throws CacheClosedException if the cache has been closed
-  * @returns true if the result size is non-zero, false otherwise.
-  */
+   * Executes the query on the server based on the predicate and returns whether
+   * any result exists.
+   * Valid only for a Native Client region.
+   * @param predicate The query predicate (just the WHERE clause) or the entire
+   * query to execute.
+   * @param timeout The time (in seconds) to wait for the response, optional.
+   *        This should be less than or equal to 2^31/1000 i.e. 2147483.
+   * @throws IllegalArgumentException If predicate is empty or timeout
+   *         parameter is greater than 2^31/1000.
+   * @throws QueryException if some query error occurred at the server.
+   * @throws NotConnectedException if a server connection error occurs.
+   * @throws MessageExcepton If the message received from server could not be
+   *         handled. This will be the case when the reply is not well formed.
+   *         More information can be found in the log.
+   * @throws TimeoutException if operation timed out
+   * @throws CacheClosedException if the cache has been closed
+   * @returns true if the result size is non-zero, false otherwise.
+   */
   virtual bool existsValue(const char* predicate,
                            uint32_t timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT) {
     GuardUserAttribures gua(m_proxyCache);
@@ -1426,27 +1427,26 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /**
-  * Executes the query on the server based on the predicate and returns a single
-  * result value.
-  * Valid only for a Native Client region.
-  * @param predicate The query predicate (just the WHERE clause) or the entire
-  * query to execute.
-  * @param timeout The time (in seconds) to wait for the response, optional.
-  *        This should be less than or equal to 2^31/1000 i.e. 2147483.
-  * @throws IllegalArgumentException If predicate is empty or timeout
-  *         parameter is greater than 2^31/1000.
-  * @throws QueryException if some query error occurred at the server, or more
-  * than one result items are available.
-  * @throws NotConnectedException if a server connection error occurs.
-  * @throws MessageExcepton If the message received from server could not be
-  *         handled. This will be the case when an unregistered typeId is
-  *         received in the reply or reply is not well formed.
-  *         More information can be found in the log.
-  * @throws TimeoutException if operation timed out
-  * @throws CacheClosedException if the cache has been closed
-  * @returns A smart pointer to the single ResultSet or StructSet item, or
-  * nullptr of no results are available.
-  */
+   * Executes the query on the server based on the predicate and returns a
+   * single result value. Valid only for a Native Client region.
+   * @param predicate The query predicate (just the WHERE clause) or the entire
+   * query to execute.
+   * @param timeout The time (in seconds) to wait for the response, optional.
+   *        This should be less than or equal to 2^31/1000 i.e. 2147483.
+   * @throws IllegalArgumentException If predicate is empty or timeout
+   *         parameter is greater than 2^31/1000.
+   * @throws QueryException if some query error occurred at the server, or more
+   * than one result items are available.
+   * @throws NotConnectedException if a server connection error occurs.
+   * @throws MessageExcepton If the message received from server could not be
+   *         handled. This will be the case when an unregistered typeId is
+   *         received in the reply or reply is not well formed.
+   *         More information can be found in the log.
+   * @throws TimeoutException if operation timed out
+   * @throws CacheClosedException if the cache has been closed
+   * @returns A smart pointer to the single ResultSet or StructSet item, or
+   * nullptr of no results are available.
+   */
   virtual SerializablePtr selectValue(
       const char* predicate,
       uint32_t timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT) {
@@ -1455,33 +1455,32 @@ class CPPCACHE_EXPORT ProxyRegion : public Region {
   }
 
   /**
-  * Removes all of the entries for the specified keys from this region.
-  * The effect of this call is equivalent to that of calling {@link #destroy} on
-  * this region once for each key in the specified collection.
-  * If an entry does not exist that key is skipped; EntryNotFoundException is
-  * not thrown.
-  * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
-  * {@link CacheStatistics::getLastModifiedTime} for this region and
-  * the entries.
-  * @since 8.1
-  * @param keys the keys to remove from this region.
-  * @param aCallbackArgument an argument that is passed to the callback
-  * functions.
-  *  It is ignored if nullptr. It must be serializable if this operation is
-  * distributed.
-  * @throws IllegalArgumentException If the array of keys is empty.
-  * @throws CacheServerException If an exception is received from the Java
-  *   cache server while processing the request.
-  * @throws NotConnectedException if it is not connected to the cache because
-  *   the client cannot establish usable connections to any of the given servers
-  *   For pools configured with locators, if no locators are available, the
-  * cause
-  *   of NotConnectedException is set to NoAvailableLocatorsException.
-  * @throws RegionDestroyedException If region destroy is pending.
-  * @throws TimeoutException if operation timed out.
-  * @throws UnknownException For other exceptions.
-  * @see destroy
-  */
+   * Removes all of the entries for the specified keys from this region.
+   * The effect of this call is equivalent to that of calling {@link #destroy}
+   * on this region once for each key in the specified collection. If an entry
+   * does not exist that key is skipped; EntryNotFoundException is not thrown.
+   * <p>Updates the {@link CacheStatistics::getLastAccessedTime} and
+   * {@link CacheStatistics::getLastModifiedTime} for this region and
+   * the entries.
+   * @since 8.1
+   * @param keys the keys to remove from this region.
+   * @param aCallbackArgument an argument that is passed to the callback
+   * functions.
+   *  It is ignored if nullptr. It must be serializable if this operation is
+   * distributed.
+   * @throws IllegalArgumentException If the array of keys is empty.
+   * @throws CacheServerException If an exception is received from the Java
+   *   cache server while processing the request.
+   * @throws NotConnectedException if it is not connected to the cache because
+   *   the client cannot establish usable connections to any of the given
+   * servers For pools configured with locators, if 

<TRUNCATED>