comparison libinterp/octave-value/ov-base.h @ 19137:56bc1464ec59

Implement "isa" for classdef objects. * ov.h (octave_value::is_instance_of): New method. * ov-base.h (octave_base_value::is_instance_of): Likewise. * ov-class.h (octave_class::is_instance_of): New method declaration. * ov-class.cc (octave_class::is_instance_of): Implement it with find_parent_class. * ov-classdef.h (octave_classdef::is_instance_of): New method declaration. * ov-classdef.cc (octave_classdef::is_instance_of): Implement it with lookup_class and is_superclass.
author Michael Goffioul <michael.goffioul@gmail.com>
date Sat, 20 Sep 2014 12:43:25 -0400
parents bcd71a2531d3
children fa48651fbb8a
comparison
equal deleted inserted replaced
19136:bb20384acf7b 19137:56bc1464ec59
580 virtual octave_base_value *find_parent_class (const std::string&) 580 virtual octave_base_value *find_parent_class (const std::string&)
581 { return 0; } 581 { return 0; }
582 582
583 virtual octave_base_value *unique_parent_class (const std::string&) 583 virtual octave_base_value *unique_parent_class (const std::string&)
584 { return 0; } 584 { return 0; }
585
586 virtual bool is_instance_of (const std::string&) const
587 { return false; }
585 588
586 virtual octave_function *function_value (bool silent = false); 589 virtual octave_function *function_value (bool silent = false);
587 590
588 virtual octave_user_function *user_function_value (bool silent = false); 591 virtual octave_user_function *user_function_value (bool silent = false);
589 592