image thumbnail
from Order book simulation by Dimitri Shvorob
(a naive artificial stock market)

OrderQueue
classdef OrderQueue < handle
      
    properties (SetAccess = private, Hidden = true)       
        Orders        
    end
    
    methods (Static = true)
        
        function[obj] = getInstance()
           persistent local
           if isempty(local)
              local = OrderQueue();
           end
           obj = local; 
        end 
        
        function put(order)
           if Settings.Verbose
              fprintf('%s entered into queue\n',char(order))
           end
           OrderQueue.getInstance.Orders.put(order);
        end 
        
        function[out] = get()
           out = OrderQueue.getInstance.Orders.get;
        end
       
    end
              
    methods (Access = private)
        
        function[obj] = OrderQueue()
           obj.Orders = Queue();
        end  
     
    end
    
end

Contact us at files@mathworks.com