コード例 #1
0
        /// <summary>
        /// Creates the structure with memory stack with global level only.
        /// </summary>
        /// <param name="factories">The factories.</param>
        /// <returns>
        /// New structure with memory stack with global level only.
        /// </returns>
        public static CopySnapshotStructureProxy CreateGlobal(ModularMemoryModelFactories factories)
        {
            CopySnapshotStructureProxy proxy = new CopySnapshotStructureProxy();

            proxy.snapshotStructure = SnapshotStructureContainer.CreateGlobal(factories);
            return(proxy);
        }
コード例 #2
0
        /// <summary>
        /// Creates new structure object with copy of diven data object.
        /// </summary>
        /// <param name="data">The old data.</param>
        /// <returns>
        /// New structure object with copy of diven data object.
        /// </returns>
        public static ISnapshotStructureProxy CreateWithData(SnapshotStructureContainer data)
        {
            CopySnapshotStructureProxy proxy = new CopySnapshotStructureProxy();

            proxy.snapshotStructure = data.Copy();
            return(proxy);
        }
コード例 #3
0
 /// <summary>
 /// Creates empty structure which contains no data in containers.
 /// </summary>
 /// <param name="factories">The factories.</param>
 /// <returns>
 /// New empty structure which contains no data in containers.
 /// </returns>
 public static LazyCopySnapshotStructureProxy CreateEmpty(ModularMemoryModelFactories factories)
 {
     LazyCopySnapshotStructureProxy proxy = new LazyCopySnapshotStructureProxy(factories);
     proxy.snapshotStructure = SnapshotStructureContainer.CreateEmpty(factories);
     proxy.readonlyInstance = proxy.snapshotStructure;
     proxy.isReadonly = false;
     return proxy;
 }
コード例 #4
0
 /// <inheritdoc />
 public ISnapshotStructureProxy CreateNewInstanceWithData(IReadOnlySnapshotStructure oldData)
 {
     SnapshotStructureContainer data = oldData as SnapshotStructureContainer;
     if (data != null)
     {
         return LazyCopySnapshotStructureProxy.CreateWithData(data);
     }
     else
     {
         throw new InvalidCastException("Argument is not of type SnapshotStructureContainer");
     }
 }
コード例 #5
0
 /// <summary>
 /// Creates new structure object with copy of diven data object.
 /// </summary>
 /// <param name="data">The old data.</param>
 /// <returns>
 /// New structure object with copy of diven data object.
 /// </returns>
 public static ISnapshotStructureProxy CreateWithData(SnapshotStructureContainer data)
 {
     LazyCopySnapshotStructureProxy proxy = new LazyCopySnapshotStructureProxy(data.Factories);
     proxy.readonlyInstance = data;
     return proxy;
 }