view test/bug-59704/bug59704_2.m @ 31247:3dae836c598c

doc: Expand and edit documentation for memoization (bug #60860)
author Arun Giridhar <arungiridhar@gmail.com>
date Fri, 30 Sep 2022 06:38:59 -0400
parents 09f99fe5190c
children
line wrap: on
line source

classdef bug59704_2 < handle

  properties
    data_
  endproperties

  methods

    function obj = bug59704_2 ()
      obj.data_ = 1001:1005;
    endfunction

    function r = subsref (obj, S)
      ## Transform: obj(index) --> obj.data_(index)
      if strcmp (S(1).type, '()')
        r = subsref (obj.data_, S);
      else
        r = builtin('subsref', obj, S);
      endif
    endfunction

    function obj = subsasgn (obj, S, B)
      ## Transform: obj(index) --> obj.data_(index)
      if strcmp (S(1).type, '()')
        obj.data_ = subsasgn (obj.data_, S, B);
      else
        obj = builtin ('subsasgn', obj, S, B);
      endif
    endfunction

  endmethods

endclassdef