14#ifndef SAMENAMEBLOCKSET_HPP_
15#define SAMENAMEBLOCKSET_HPP_
43 nameMatches( std::string
const& nameToCompare )
const;
48 int& indexForLowerScale,
49 int& indexForUpperScale,
50 double& fractionFromLowerScale );
104 std::string
const& commentString,
105 double const blockScale );
110 std::string
const& commentString );
132 inline std::string
const&
150 int& indexForLowerScale,
151 int& indexForUpperScale,
152 double& fractionFromLowerScale )
192 fractionFromLowerScale );
203 if( 0 == whichScaleIndex )
217 if( 0 == whichScaleIndex )
219 return stringBlocks[ lowestScaleIndex ];
223 return stringBlocks[ (--whichScaleIndex) ];
253 std::string
const& commentString )
virtual void updateObservers()
static bool stringsMatchIgnoringCase(std::string const &firstString, std::string const &secondString)
static bool findScaleIndices(double const soughtScale, std::list< std::pair< int, double > > const &scaleOrderedIndices, int &indexForLowerScale, int &indexForUpperScale, double &fractionFromLowerScale)
void recordBodyLine(std::string const &dataString, std::string const &commentString)
void recordHeader(std::string const &headerString, std::string const &commentString, double const blockScale)
int getNumberOfCopiesWithDifferentScale() const
BlockClass::BaseStringBlock * currentStringBlock
bool nameMatches(std::string const &nameToCompare) const
std::list< std::pair< int, double > >::iterator scaleIndexIterator
std::string const & getName() const
std::string blockNameInUppercase
std::list< std::pair< int, double > > scaleOrderedIndices
void recordBodyLine(std::string const &dataString, std::string const &commentString)
BlockClass::BaseStringBlock & operator[](int whichScaleIndex)
bool hasRecordedScale(double const soughtScale, int &indexForLowerScale, int &indexForUpperScale, double &fractionFromLowerScale)
int getLowestScaleIndex() const
BOL::VectorlikeArray< BlockClass::BaseStringBlock > stringBlocks
SameNameBlockSet(std::string const &blockName)
void finishRecordingLines()
BOL::PushingObserved< BlockClass::BaseStringBlock > StringBlockPusher