MatrixBerryCore
Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
mxberry::core::obj::HandleObjectCloner Class Reference

HANDLEOBJECTCLONER provides some simple functionality for clonable objects. More...

Inheritance diagram for mxberry::core::obj::HandleObjectCloner:
Inheritance graph
[legend]
Collaboration diagram for mxberry::core::obj::HandleObjectCloner:
Collaboration graph
[legend]

Public Member Functions

function ismember (in leftObjVec, in rightObjVec, in varargin)
 
function unique (in inpObjVec, in varargin)
 
function sort (in inpObjVec)
 
function ne (in varargin)
 
function eq (in varargin)
 EQ - same as isEqualElem from below with a few exceptions: 1) doesn't have reportStr output 2) only supports "asHandle" property. More...
 
function le (in varargin)
 LE - "<=" operator defined based on the 3rd output of isEqualElem method described below and it. More...
 
function ge (in varargin)
 GE - ">=" operator defined based on the 3rd output of isEqualElem method described below and it. More...
 
function lt (in varargin)
 LT - "<" operator defined based on the 3rd output of isEqualElem method described below and it. More...
 
function gt (in varargin)
 GT - ">" operator defined based on the 3rd output of isEqualElem method described below and it. More...
 
function isequal (in varargin)
 ISEQUAL - same as isEqual but without reportStr output. More...
 
function isequaln (in varargin)
 ISEQUALN - same as isEqual but without reportStr output. More...
 
function isequalwithequalnans (in varargin)
 ISEQUALNWITHEQUALNANS - same as isEqual but without reportStr output. More...
 
function isEqual (in varargin)
 ISEQUAL compares objects and returns true if they are found equal. More...
 
function isEqualElem (in selfArr, in otherArr, in varargin)
 ISEQUALELEM returns true if HandleObjectCloner objects are equal and false otherwise. More...
 
function clone (in self, in varargin)
 CLONE - creates a copy of a specified object via calling a copy constructor for the object class. More...
 
function createInstance (in self, in varargin)
 CREATEINSTANCE - returns an object of the same class by calling a default constructor (with no parameters) More...
 
function checkIsHandleIsBlob (in isAsHandle, in isAsBlob)
 

Protected Member Functions

function blobComparisonHook (in self)
 
function setComparisonMode (in self, in comparisonMode)
 
function getComparisonMode (in self)
 
function getHandleClonerIsEqualPropCheckCMat (in self, in propNameList)
 
function parseEqScalarProps (in self, in eqPropCheckCMat, in propListToParse)
 
function isEqualScalarInternal (in self, in otherObj, in varargin)
 

Private Member Functions

function isEqualScalarAsBlobInternal (in leftObj, in rightObj)
 

Static Private Member Functions

static function isMe (in inpObj)
 

Private Attributes

Property comparisonMode
 

Detailed Description

HANDLEOBJECTCLONER provides some simple functionality for clonable objects.

Author
Peter Gagarinov, PhD pgaga.nosp@m.rino.nosp@m.v@gma.nosp@m.il.c.nosp@m.om

Definition at line 11 of file HandleObjectCloner.m.

Member Function Documentation

◆ blobComparisonHook()

function mxberry::core::obj::HandleObjectCloner::blobComparisonHook ( in  self)
protected

◆ checkIsHandleIsBlob()

function mxberry::core::obj::HandleObjectCloner::checkIsHandleIsBlob ( in  isAsHandle,
in  isAsBlob 
)

◆ clone()

function mxberry::core::obj::HandleObjectCloner::clone ( in  self,
in  varargin 
)

CLONE - creates a copy of a specified object via calling a copy constructor for the object class.

*  Input:
*    regular:
*      self: any [] - current object
*    optional
*      any parameters applicable for relation constructor
* 
*  Ouput:
*    self: any [] - constructed object
* 

◆ createInstance()

function mxberry::core::obj::HandleObjectCloner::createInstance ( in  self,
in  varargin 
)

CREATEINSTANCE - returns an object of the same class by calling a default constructor (with no parameters)

*  Usage: resObj=getInstance(self)
* 
*  input:
*    regular:
*      self: any [] - current object
*    optional
*      any parameters applicable for relation constructor
* 
*  Ouput:
*    self: any [] - constructed object
* 

◆ eq()

function mxberry::core::obj::HandleObjectCloner::eq ( in  varargin)

EQ - same as isEqualElem from below with a few exceptions: 1) doesn't have reportStr output 2) only supports "asHandle" property.

◆ ge()

function mxberry::core::obj::HandleObjectCloner::ge ( in  varargin)

GE - ">=" operator defined based on the 3rd output of isEqualElem method described below and it.

*    1) doesn't have reportStr output
*    2) only supports "asHandle" property
* 

◆ getComparisonMode()

function mxberry::core::obj::HandleObjectCloner::getComparisonMode ( in  self)
protected

◆ getHandleClonerIsEqualPropCheckCMat()

function mxberry::core::obj::HandleObjectCloner::getHandleClonerIsEqualPropCheckCMat ( in  self,
in  propNameList 
)
protected

◆ gt()

function mxberry::core::obj::HandleObjectCloner::gt ( in  varargin)

GT - ">" operator defined based on the 3rd output of isEqualElem method described below and it.

*    1) doesn't have reportStr output
*    2) only supports "asHandle" property
* 

◆ isequal()

function mxberry::core::obj::HandleObjectCloner::isequal ( in  varargin)

ISEQUAL - same as isEqual but without reportStr output.

◆ isEqual()

function mxberry::core::obj::HandleObjectCloner::isEqual ( in  varargin)

ISEQUAL compares objects and returns true if they are found equal.

*  Usage: isEq=obj1Arr.isEqual(,. . .,objNArr,varargin) or
*         [isEq,reportStr]=isequal(obj1Arr,. . .,objNArr,varargin)
* 
*  Input:
*    regular:
*        obj1Arr: HandleObjectCloner of any size - first object
*            array
*        obj2Arr: HandleObjectCloner of any size - second object
*            array
*            . . .
*        objNArr: HandleObjectCloner of any size - N-th object
*            array
* 
*    properties:
*        isFullCheck: logical [1,1] - if true, then all input
*            objects are compared, otherwise (default) check is
*            performed up to the first difference
*        asHandle: logical[1,1] - if true, elements are compared
*            as handles ignoring content of the objects
*        asBlob: logical[1,1] - if true, objects are compared as
*            binary sequencies aka BLOBs
*          Note: you cannot set both asBlob and asHandle to true
*            at the same time
*        propEqScalarList: cell[1,] - list of properties passed
*            to isEqualScalarInternal method
*  Output:
*    regular:
*        isEq: logical [1,1] - true if all objects are equal
*            false otherwise
*        reportStr: char - report about the found differences
* 
Author
Peter Gagarinov, PhD pgaga.nosp@m.rino.nosp@m.v@gma.nosp@m.il.c.nosp@m.om

◆ isEqualElem()

function mxberry::core::obj::HandleObjectCloner::isEqualElem ( in  selfArr,
in  otherArr,
in  varargin 
)

ISEQUALELEM returns true if HandleObjectCloner objects are equal and false otherwise.

*  Usage: isEqArr=eq(selfArr,otherArr,varargin)
* 
*  Input:
*    regular:
*        selfArr: HandleObjectCloner [n_1,n_2,. . .,n_k] - calling
*            object
*        otherArr: HandleObjectCloner [n_1,n_2,. . .,n_k] - other
*            object to compare with
*    properties:
*        asHandle: logical[1,1] - if true, elements are compared
*            as handles ignoring content of the objects
*        asBlob: logical[1,1] - if true, objects are compared as
*            binary sequencies aka BLOBs
*          Note: you cannot set both asBlob and asHandle to true
*            at the same time
*        propEqScalarList: cell[1,] - list of properties passed
*            to isEqualScalarInternal method
*  Output:
*       isEqMat: logical[n_1,n_2,. . .,n_k] - the element is true if the
*            corresponding objects are equal, false otherwise
*        reportStr: char[1,] - report about the found differences
*        signOfDiffArr: double[n_1,n_2,. . .,n_k] - array of signs of
*            differences:
*                -1: if left element < right element
*                 0: if elements are equal
*                +1: if left element > right element
*             Note: current implementation defines this sign
*                only for asBlob=true mode, for the rest of the
*                comparison modes it is NaN
* 
Author
Peter Gagarinov, PhD pgaga.nosp@m.rino.nosp@m.v@gma.nosp@m.il.c.nosp@m.om

◆ isequaln()

function mxberry::core::obj::HandleObjectCloner::isequaln ( in  varargin)

ISEQUALN - same as isEqual but without reportStr output.

◆ isEqualScalarAsBlobInternal()

function mxberry::core::obj::HandleObjectCloner::isEqualScalarAsBlobInternal ( in  leftObj,
in  rightObj 
)
private

◆ isEqualScalarInternal()

function mxberry::core::obj::HandleObjectCloner::isEqualScalarInternal ( in  self,
in  otherObj,
in  varargin 
)
protected

◆ isequalwithequalnans()

function mxberry::core::obj::HandleObjectCloner::isequalwithequalnans ( in  varargin)

ISEQUALNWITHEQUALNANS - same as isEqual but without reportStr output.

◆ isMe()

static function mxberry::core::obj::HandleObjectCloner::isMe ( in  inpObj)
staticprivate

◆ ismember()

function mxberry::core::obj::HandleObjectCloner::ismember ( in  leftObjVec,
in  rightObjVec,
in  varargin 
)

◆ le()

function mxberry::core::obj::HandleObjectCloner::le ( in  varargin)

LE - "<=" operator defined based on the 3rd output of isEqualElem method described below and it.

*    1) doesn't have reportStr output
*    2) only supports "asHandle" property
* 

◆ lt()

function mxberry::core::obj::HandleObjectCloner::lt ( in  varargin)

LT - "<" operator defined based on the 3rd output of isEqualElem method described below and it.

*    1) doesn't have reportStr output
*    2) only supports "asHandle" property
* 

◆ ne()

function mxberry::core::obj::HandleObjectCloner::ne ( in  varargin)

◆ parseEqScalarProps()

function mxberry::core::obj::HandleObjectCloner::parseEqScalarProps ( in  self,
in  eqPropCheckCMat,
in  propListToParse 
)
protected

◆ setComparisonMode()

function mxberry::core::obj::HandleObjectCloner::setComparisonMode ( in  self,
in  comparisonMode 
)
protected

◆ sort()

function mxberry::core::obj::HandleObjectCloner::sort ( in  inpObjVec)

◆ unique()

function mxberry::core::obj::HandleObjectCloner::unique ( in  inpObjVec,
in  varargin 
)

Member Data Documentation

◆ comparisonMode

Property mxberry::core::obj::HandleObjectCloner::comparisonMode
private

Definition at line 16 of file HandleObjectCloner.m.


The documentation for this class was generated from the following file: