IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ipsdk::processor::ElementsLocationInfo Class Reference

Class allowing to store elements location informations. More...

#include <ElementsLocationInfo.h>

Public Member Functions

ipUInt64 getStartOffset () const
 retrieve start offset associated to object
 
ipUInt64 getNbElements () const
 retrieve number of elements associated to object
 
ipUInt64 insertNonLocalized (const ElementsRange &elementsRange, const ipUInt64 dataMemorySize)
 insertion of a new non localized information into collection More...
 
ipUInt64 insertLocal (const ElementsRange &elementsRange, const ipUInt64 dataMemorySize)
 insertion of a new local information into collection More...
 
bool areDataLocalized () const
 check whether data are localized
 
bool hasLocalData () const
 check whether some data are local data
 
bool hasRemoteData () const
 check whether some data are remote data
 
bool hasRemoteData (const Guid &socketGuid) const
 check whether a remote location contains remote data
 
const GuidSetgetRemoteLocations () const
 retrieve global guid set associated to remote data
 
ipUInt64 getFullDataMemorySize () const
 
const ElementsLocationgetElementsLocation () const
 retrieve locations associated to elements
 
ipUInt64 getMinNbElements () const
 minimum number of elements by location
 
ipUInt64 getMaxNbElements () const
 maximum number of elements by location
 
ipUInt64 merge (const ElementsLocationInfo &elementsLocationInfo)
 merge a given remote data information object into exiting one More...
 
void clearDataLocalization ()
 method allowing to clear data localization
 
void clear ()
 clear data associated to object
 
Constructors and destructors
 ElementsLocationInfo ()
 
 ElementsLocationInfo (const ElementsLocationInfo &elementsLocationInfo)
 
ElementsLocationInfooperator= (const ElementsLocationInfo &elementsLocationInfo)
 
 ~ElementsLocationInfo ()
 
ipUInt64 insertRemote (const ElementsRange &elementsRange, const Guid &guid, const ipUInt64 dataMemorySize)
 insertion of a new remote information into collection More...
 
ipUInt64 insertRemote (const ElementsRange &elementsRange, const GuidSet &guidSet, const ipUInt64 dataMemorySize)
 insertion of a new remote information into collection More...
 
Access to informations associated to a given element index
bool contains (const ipUInt64 elementIdx) const
 check whether a given index is contained by object
 
bool contains (const ElementsRange &elementsRange) const
 check whether a given range is contained by object
 
const GuidSetgetDataLocations (const ipUInt64 elementIdx) const
 retrieve socket guid set associated to a given element index More...
 
ipUInt64 getDataMemorySize (const ipUInt64 elementIdx) const
 retrieve data memory size associated to a given element index (data size is expressed in octets) More...
 
ipUInt64 getDataMemorySize (const ElementsRange &elementsRange) const
 retrieve data memory size associated to a given range (data size is expressed in octets) More...
 
bool areDataLocalized (const ipUInt64 elementIdx) const
 check whether data are localized More...
 
bool hasLocalData (const ipUInt64 elementIdx) const
 check whether some data are local data More...
 
bool hasRemoteData (const ipUInt64 elementIdx) const
 check whether some data are remote data More...
 

Protected Member Functions

ipUInt64 insertElements (const ElementsRange &elementsRange, const GuidSet &guidSet, const ipUInt64 dataMemorySize, const bool bAllowExtension)
 insertion of new elements information into collection More...
 

Protected Attributes

ElementsLocation _elementsLocations
 
ipUInt64 _startOffset
 current start offset for data
 
ipUInt64 _nbElements
 number of elements into collection
 
bool _bHasLocalData
 flag indicating whether some data are local data
 
bool _bHasRemoteData
 flag indicating whether some data are remote data
 
GuidSet _remoteLocations
 global guid set associated to remote data locations
 
ipUInt64 _fullDataMemorySize
 full data memory size associated to elements
 

Detailed Description

Class allowing to store elements location informations.

Author
E. Noirfalise
Date
2015/10/06

Member Function Documentation

◆ insertNonLocalized()

ipUInt64 ipsdk::processor::ElementsLocationInfo::insertNonLocalized ( const ElementsRange elementsRange,
const ipUInt64  dataMemorySize 
)

insertion of a new non localized information into collection

Returns
number of new inserted elements

◆ insertLocal()

ipUInt64 ipsdk::processor::ElementsLocationInfo::insertLocal ( const ElementsRange elementsRange,
const ipUInt64  dataMemorySize 
)

insertion of a new local information into collection

Returns
number of new inserted elements

◆ insertRemote() [1/2]

ipUInt64 ipsdk::processor::ElementsLocationInfo::insertRemote ( const ElementsRange elementsRange,
const Guid guid,
const ipUInt64  dataMemorySize 
)

insertion of a new remote information into collection

Returns
number of new inserted elements

◆ insertRemote() [2/2]

ipUInt64 ipsdk::processor::ElementsLocationInfo::insertRemote ( const ElementsRange elementsRange,
const GuidSet guidSet,
const ipUInt64  dataMemorySize 
)

insertion of a new remote information into collection

Returns
number of new inserted elements

◆ getFullDataMemorySize()

ipUInt64 ipsdk::processor::ElementsLocationInfo::getFullDataMemorySize ( ) const
inline

retrieve full data memory size associated to elements (data size is expressed in octets)

◆ getDataLocations()

const GuidSet& ipsdk::processor::ElementsLocationInfo::getDataLocations ( const ipUInt64  elementIdx) const

retrieve socket guid set associated to a given element index

Warning
this collection can be :
  • empty (non localized data case)
  • composed of a unique element equal to Guid::getNilGuid() (local data case)
  • composed of remote socket guid (remote data case)
  • composed of remote and local socket guid (mixed data case)
Exceptions
ipsdk::IPSDKBaseProcessingExceptionif contains(elementIdx) == false

◆ getDataMemorySize() [1/2]

ipUInt64 ipsdk::processor::ElementsLocationInfo::getDataMemorySize ( const ipUInt64  elementIdx) const

retrieve data memory size associated to a given element index (data size is expressed in octets)

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif contains(elementIdx) == false

◆ getDataMemorySize() [2/2]

ipUInt64 ipsdk::processor::ElementsLocationInfo::getDataMemorySize ( const ElementsRange elementsRange) const

retrieve data memory size associated to a given range (data size is expressed in octets)

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif contains(elementsRange) == false

◆ areDataLocalized()

bool ipsdk::processor::ElementsLocationInfo::areDataLocalized ( const ipUInt64  elementIdx) const

check whether data are localized

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif contains(elementIdx) == false

◆ hasLocalData()

bool ipsdk::processor::ElementsLocationInfo::hasLocalData ( const ipUInt64  elementIdx) const

check whether some data are local data

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif contains(elementIdx) == false

◆ hasRemoteData()

bool ipsdk::processor::ElementsLocationInfo::hasRemoteData ( const ipUInt64  elementIdx) const

check whether some data are remote data

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif contains(elementIdx) == false

◆ merge()

ipUInt64 ipsdk::processor::ElementsLocationInfo::merge ( const ElementsLocationInfo elementsLocationInfo)

merge a given remote data information object into exiting one

Returns
number of new inserted elements

◆ insertElements()

ipUInt64 ipsdk::processor::ElementsLocationInfo::insertElements ( const ElementsRange elementsRange,
const GuidSet guidSet,
const ipUInt64  dataMemorySize,
const bool  bAllowExtension 
)
protected

insertion of new elements information into collection

Returns
number of new inserted elements

Member Data Documentation

◆ _elementsLocations

ElementsLocation ipsdk::processor::ElementsLocationInfo::_elementsLocations
protected

map associating data range to their locations represented by a socket guid set


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