|
AndroMeta
2.0.0
|
00001 /* 00002 * Copyright 2009-2012 AndroMeta LLC. All rights reserved. 00003 * 00004 * AndroMeta LLC retains all intellectual property and proprietary 00005 * rights to this software and related documentation and any modifications 00006 * thereto. Any use, reproduction, disclosure, or distribution of this 00007 * software and related documentation without an express license agreement 00008 * from AndroMeta LLC is strictly prohibited. 00009 * 00010 */ 00011 00018 #ifndef ANDROMETA_MML_SHARED_VAR_H 00019 #define ANDROMETA_MML_SHARED_VAR_H 00020 00021 #include <AndroMeta/MMLEntity.h> 00022 00023 namespace Meta{ 00024 00033 class MMLSharedVar : public MMLEntity{ 00034 public: 00035 00041 MMLSharedVar(const mvar& v); 00042 00046 MMLSharedVar(); 00047 00051 ~MMLSharedVar(); 00052 00056 mnode process(mnode n, uint32_t flags=0); 00057 00061 mvar get(); 00062 00066 mvar get(const mvar& key); 00067 00071 void merge(const mvar& v); 00072 00076 void merge(const mvar& key, const mvar& v); 00077 00081 void set(const mvar& v); 00082 00086 void set(const mvar& key, const mvar& v); 00087 00088 private: 00089 MMLSharedVar(const MMLSharedVar&); 00090 MMLSharedVar& operator=(const mvar& v); 00091 00092 class MMLSharedVar_* x_; 00093 }; 00094 00095 } // end namespace Meta 00096 00097 #endif // ANDROMETA_MML_SHARED_VAR_H 00098
1.7.6.1