Oracle® Fusion Middleware C++ API Reference for Oracle Coherence
12c (12.1.3.0.0)

E47891-01

coherence/io/pof/EvolvablePortableObject.hpp

00001 /*
00002 * EvolvablePortableObject.hpp
00003 *
00004 * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
00005 *
00006 * Oracle is a registered trademarks of Oracle Corporation and/or its
00007 * affiliates.
00008 *
00009 * This software is the confidential and proprietary information of Oracle
00010 * Corporation. You shall not disclose such confidential and proprietary
00011 * information and shall use it only in accordance with the terms of the
00012 * license agreement you entered into with Oracle.
00013 *
00014 * This notice may not be removed or altered.
00015 */
00016 #ifndef COH_EVOLVABLE_PORTABLE_OBJECT_HPP
00017 #define COH_EVOLVABLE_PORTABLE_OBJECT_HPP
00018 
00019 #include "coherence/lang.ns"
00020 
00021 #include "coherence/io/Evolvable.hpp"
00022 #include "coherence/io/pof/PortableObject.hpp"
00023 
00024 COH_OPEN_NAMESPACE3(coherence,io,pof)
00025 
00026 using coherence::io::Evolvable;
00027 
00028 
00029 /**
00030 * Extension of the PortableObject interface that supports forwards-
00031 * and backwards-compatibility of its POF serialized state.
00032 *
00033 * Note: For performance reasons in C++ it is generally preferable to
00034 * use implements<PortableObject, Evolvable> over
00035 * implements<EvolvablePortableObject>, as the internal cast<> operator is
00036 * better optimized for the former case. It is for this reason that this class
00037 * is not prefixed by COH_EXPORT as it is not used internally within Coherence.
00038 *
00039 * @author jh  2008.01.14
00040 */
00041 class EvolvablePortableObject
00042     : public interface_spec<EvolvablePortableObject,
00043         implements<PortableObject, Evolvable> >
00044     {
00045     };
00046 
00047 COH_CLOSE_NAMESPACE3
00048 
00049 #endif // COH_EVOLVABLE_PORTABLE_OBJECT_HPP
Copyright © 2000, 2014, Oracle and/or its affiliates. All rights reserved.