World Ocean Simulation System (WOSS) library
woss::WossCreatorContainer< Data > Class Template Reference

Class that stores WossCreator parameters. More...

#include <woss-creator-container.h>

Inheritance diagram for woss::WossCreatorContainer< Data >:
Inheritance graph
Collaboration diagram for woss::WossCreatorContainer< Data >:
Collaboration graph

Public Member Functions

 WossCreatorContainer ()
 
 ~WossCreatorContainer ()
 
bool isEmpty () const
 
int size () const
 
bool insert (const Data &data, Location *const tx, Location *const rx)
 
bool insert (const Data &data, const CoordZ &tx, const CoordZ &rx)
 
Data get (Location *const tx, Location *const rx) const
 
Data get (const CoordZ &tx, const CoordZ &rx) const
 
Data & accessAllLocations ()
 
void erase (Location *const tx, Location *const rx)
 
void erase (const CoordZ &tx, const CoordZ &rx)
 
void replace (const Data &data, Location *const tx, Location *const rx)
 
void replace (const Data &data, const CoordZ &tx, const CoordZ &rx)
 
void clear ()
 
void setDebug (bool flag)
 
bool isUsingDebug () const
 

Static Public Attributes

static Location *const ALL_LOCATIONS = NULL
 
static const CoordZ ALL_COORDZ = CoordZ()
 

Protected Types

typedef ::std::map< Location *, Data > InnerContainer
 
typedef InnerContainer::iterator ICIter
 
typedef InnerContainer::reverse_iterator ICRIter
 
typedef InnerContainer::const_iterator ICCIter
 
typedef InnerContainer::const_reverse_iterator ICCRIter
 
typedef ::std::map< Location *, InnerContainerDataContainer
 
typedef DataContainer::iterator DCIter
 
typedef DataContainer::const_iterator DCCIter
 
typedef DataContainer::reverse_iterator DCRIter
 
typedef DataContainer::const_reverse_iterator DCRCIter
 

Protected Member Functions

DCIter find (const CoordZ &coordinates)
 
ICIter find (const CoordZ &coordinates, const DCIter &iter)
 
LocationcreateLocation (const CoordZ &coordinates)
 

Protected Attributes

DataContainer data_container
 
bool debug
 

Detailed Description

template<typename Data>
class woss::WossCreatorContainer< Data >

Class that stores WossCreator parameters.

WossCreatorContainer provides interface for storing and retrieving custom WossCreator data, indexed by transmitter and receiver woss::Location*

Member Typedef Documentation

◆ DataContainer

template<typename Data >
typedef ::std::map< Location*, InnerContainer > woss::WossCreatorContainer< Data >::DataContainer
protected

The outer container. It associates a transmitter Location pointer to a InnerContainer object

◆ InnerContainer

template<typename Data >
typedef ::std::map< Location*, Data > woss::WossCreatorContainer< Data >::InnerContainer
protected

The innermost container. It associates a receiver Location pointer to the Data object

Constructor & Destructor Documentation

◆ WossCreatorContainer()

template<typename Data >
woss::WossCreatorContainer< Data >::WossCreatorContainer

Default constructor

◆ ~WossCreatorContainer()

template<typename Data >
woss::WossCreatorContainer< Data >::~WossCreatorContainer

Destructor

References woss::WossCreatorContainer< Data >::clear().

Here is the call graph for this function:

Member Function Documentation

◆ accessAllLocations()

template<typename Data >
Data & woss::WossCreatorContainer< Data >::accessAllLocations
inline

Returns a reference to the Data object associated to transmitter and receiver Location equal to ALL_LOCATIONS. If no keys were present, the Data object is default constructed and a reference to it is returned

Returns
a reference to a Data object

Referenced by woss::WossCreator::WossCreator().

◆ clear()

template<typename Data >
void woss::WossCreatorContainer< Data >::clear
inline

◆ createLocation()

template<typename Data >
Location * woss::WossCreatorContainer< Data >::createLocation ( const CoordZ coordinates)
inlineprotected

◆ erase() [1/2]

template<typename Data >
void woss::WossCreatorContainer< Data >::erase ( const CoordZ tx,
const CoordZ rx 
)
inline

Erases an object into the container

Parameters
txconst reference to a valid transmitter CoordZ
rxconst reference to a valid receiver CoordZ

◆ erase() [2/2]

◆ find() [1/2]

template<typename Data >
WossCreatorContainer< Data >::DCIter woss::WossCreatorContainer< Data >::find ( const CoordZ coordinates)
protected

Returns an DataContainer iterators that points to the given transmitter coordinates. An iterator to the end of the DataContainer is returned if no coordinates are found

Parameters
coordinatesa const reference to a valid transmitter CoordZ
Returns
a DataContainer::iterator

References woss::WossCreatorContainer< Data >::ALL_COORDZ, woss::WossCreatorContainer< Data >::ALL_LOCATIONS, woss::WossCreatorContainer< Data >::data_container, and woss::WossCreatorContainer< Data >::debug.

Referenced by woss::WossCreatorContainer< Data >::get(), woss::WossCreatorContainer< Data * >::get(), woss::WossCreatorContainer< CustomTransducer >::insert(), and woss::WossCreatorContainer< Data * >::insert().

◆ find() [2/2]

template<typename Data >
WossCreatorContainer< Data >::ICIter woss::WossCreatorContainer< Data >::find ( const CoordZ coordinates,
const DCIter &  iter 
)
protected

Returns an InnerContainer iterators for the DataContainter iterator that points to the given receiver coordinates. An iterator to the relative end of the InnerContainer is returned if no coordinates are found

Parameters
coordinatesa const reference to a valid receiver CoordZ
Returns
a DataContainer::iterator

References woss::WossCreatorContainer< Data >::ALL_COORDZ, woss::WossCreatorContainer< Data >::ALL_LOCATIONS, and woss::WossCreatorContainer< Data >::debug.

◆ get() [1/2]

template<typename Data >
Data woss::WossCreatorContainer< Data >::get ( const CoordZ tx,
const CoordZ rx 
) const
inline

Returns an object into the container. If the keys are NOT found, a default constructed object is returned

Parameters
txconst reference to a valid transmitter CoordZ
rxconst reference to a valid receiver CoordZ
Returns
a copy of the original object

References woss::WossCreatorContainer< Data >::ALL_COORDZ, woss::WossCreatorContainer< Data >::data_container, and woss::WossCreatorContainer< Data >::debug.

◆ get() [2/2]

template<typename Data >
Data woss::WossCreatorContainer< Data >::get ( Location *const  tx,
Location *const  rx 
) const
inline

Returns an object into the container. If the keys are NOT found, a default constructed object is returned

Parameters
txconst pointer to a valid transmitter Location
rxconst pointer to a valid receiver Location
Returns
a copy of the original object

References woss::WossCreatorContainer< Data >::ALL_LOCATIONS, woss::WossCreatorContainer< Data >::data_container, woss::WossCreatorContainer< Data >::debug, and woss::WossCreatorContainer< Data >::find().

Referenced by woss::BellhopCreator::getAltimetryType(), woss::BellhopCreator::getAngles(), woss::BellhopCreator::getBathymetryMethod(), woss::BellhopCreator::getBathymetryType(), woss::BellhopCreator::getBeamOptions(), woss::BellhopCreator::getBhMode(), woss::BellhopCreator::getBoxDepth(), woss::BellhopCreator::getBoxRange(), woss::WossCreator::getEvolutionTimeQuantum(), woss::WossCreator::getFrequencyStep(), woss::BellhopCreator::getRaysNumber(), woss::BellhopCreator::getRxMaxDepthOffset(), woss::BellhopCreator::getRxMaxRangeOffset(), woss::BellhopCreator::getRxMinDepthOffset(), woss::BellhopCreator::getRxMinRangeOffset(), woss::BellhopCreator::getRxTotalDepths(), woss::BellhopCreator::getRxTotalRanges(), woss::WossCreator::getSimTime(), woss::BellhopCreator::getSspDepthPrecision(), woss::BellhopCreator::getSspDepthSteps(), woss::BellhopCreator::getTotalRangeSteps(), woss::WossCreator::getTotalRuns(), woss::BellhopCreator::getTotalTransmitters(), woss::BellhopCreator::getTxMaxDepthOffset(), woss::BellhopCreator::getTxMinDepthOffset(), woss::BellhopCreator::initializeBhWoss(), and woss::WossCreator::initializeWoss().

Here is the call graph for this function:

◆ insert() [1/2]

template<typename Data >
bool woss::WossCreatorContainer< Data >::insert ( const Data &  data,
const CoordZ tx,
const CoordZ rx 
)
inline

Inserts an object into the container. If the keys are already present, the object is NOT inserted

Parameters
dataconst reference to a Data object to be inserted
txconst reference to a valid transmitter CoordZ
rxconst reference to a valid receiver CoordZ
Returns
true if it's empty, false otherwise

◆ insert() [2/2]

template<typename Data >
bool woss::WossCreatorContainer< Data >::insert ( const Data &  data,
Location *const  tx,
Location *const  rx 
)
inline

Inserts an object into the container. If the keys are already present, the object is NOT inserted

Parameters
dataconst reference to a Data object to be inserted
txconst pointer to a valid transmitter Location
rxconst pointer to a valid receiver Location
Returns
true if it's empty, false otherwise

◆ isEmpty()

template<typename Data >
bool woss::WossCreatorContainer< Data >::isEmpty
inline

Checks if the container is empty

Returns
true if it's empty, false otherwise

Referenced by woss::BellhopCreator::initializeBhWoss().

◆ isUsingDebug()

template<typename Data >
bool woss::WossCreatorContainer< Data >::isUsingDebug ( ) const
inline

Retuns the debug flag

Returns
true if is using the debug flag, false otherwise

References woss::WossCreatorContainer< Data >::debug.

◆ replace() [1/2]

template<typename Data >
void woss::WossCreatorContainer< Data >::replace ( const Data &  data,
const CoordZ tx,
const CoordZ rx 
)
inline

Replaces an object into the container. If the key are not present, the object is still inserted

Parameters
dataconst reference to a Data object to be inserted
txconst reference to a valid transmitter CoordZ
rxconst reference to a valid receiver CoordZ
Returns
true if it's empty, false otherwise

◆ replace() [2/2]

template<typename Data >
void woss::WossCreatorContainer< Data >::replace ( const Data &  data,
Location *const  tx,
Location *const  rx 
)
inline

◆ setDebug()

template<typename Data >
void woss::WossCreatorContainer< Data >::setDebug ( bool  flag)
inline

Sets or unsets the debug flag

Parameters
flagboolean flag

References woss::WossCreatorContainer< Data >::debug.

Referenced by woss::BellhopCreator::updateDebugFlag(), and woss::WossCreator::updateDebugFlag().

◆ size()

template<typename Data >
int woss::WossCreatorContainer< Data >::size
inline

Returns the size of the container

Returns
container's size

Member Data Documentation

◆ ALL_COORDZ

template<typename Data >
const CoordZ woss::WossCreatorContainer< Data >::ALL_COORDZ = CoordZ()
static

Pointer that represents the index for all possible coordinates

Referenced by woss::WossCreatorContainer< Data >::find(), woss::WossCreatorContainer< Data >::get(), and woss::WossCreatorContainer< Data * >::get().

◆ ALL_LOCATIONS

◆ data_container

◆ debug


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