Subversion Repositories DevTools

Rev

Rev 2267 | Blame | Compare with Previous | Last modification | View Log | RSS feed

//## begin module%1.7%.codegen_version preserve=yes
//   Read the documentation to learn more about C++ code generator
//   versioning.
//## end module%1.7%.codegen_version

//## begin module%42103A8C03B7.cm preserve=no
//## end module%42103A8C03B7.cm

//## begin module%42103A8C03B7.cp preserve=no
//      C O P Y R I G H T   N O T I C E
//      This material is confidential to ERG and may not be disclosed in whole
//      or in part to any third party nor used in any manner whatsoever other
//      than for the purposes expressly consented to by ERG in writing.
//
//      This material is also copyright and may not be reproduced, stored in a
//      retrieval system or transmitted in any form or by any means in whole or
//      in part without the express written consent of ERG.
//## end module%42103A8C03B7.cp

//## Module: Sequence%42103A8C03B7; Pseudo Package body
//## Subsystem: MASS::Dev::Tools::TxnTestManager::src%41F5A79001E4
//## Source file: Z:\MASS_Dev\Tools\TxnTestManager\src\Sequence.cpp

//## begin module%42103A8C03B7.additionalIncludes preserve=no
//## end module%42103A8C03B7.additionalIncludes

//## begin module%42103A8C03B7.includes preserve=yes
#pragma warn -com
#include <LoggingMacros.h>
#pragma warn +com
//## end module%42103A8C03B7.includes

// Sequence
#include "Sequence.h"
//## begin module%42103A8C03B7.additionalDeclarations preserve=yes
#include <algorithm>
//## end module%42103A8C03B7.additionalDeclarations


// Class Sequence 

//## Operation: Sequence%421052120266
Sequence::Sequence (const std::string &name, const int &first)
  //## begin Sequence::Sequence%421052120266.hasinit preserve=no
      : m_dirty(false),
        m_name(name),
        m_persisted(false),
        m_update(false),
        m_value(0)
  //## end Sequence::Sequence%421052120266.hasinit
  //## begin Sequence::Sequence%421052120266.initialization preserve=yes
  //## end Sequence::Sequence%421052120266.initialization
{
  //## begin Sequence::Sequence%421052120266.body preserve=yes

        m_value = first;  

  //## end Sequence::Sequence%421052120266.body
}


Sequence::~Sequence()
{
  //## begin Sequence::~Sequence%42103A8C03B7_dest.body preserve=yes
  //## end Sequence::~Sequence%42103A8C03B7_dest.body
}



//## Other Operations (implementation)
//## Operation: getName%4210536E010E
const std::string & Sequence::getName () const
{
  //## begin Sequence::getName%4210536E010E.body preserve=yes

        return ( m_name );

  //## end Sequence::getName%4210536E010E.body
}

//## Operation: getValue%421052480350
const int & Sequence::getValue () const
{
  //## begin Sequence::getValue%421052480350.body preserve=yes

        return ( m_value );

  //## end Sequence::getValue%421052480350.body
}

//## Operation: incrementValue%4210525D0208
const int & Sequence::incrementValue (const int &first, const int &last, const int &increment)
{
  //## begin Sequence::incrementValue%4210525D0208.body preserve=yes

        const int delta = increment % ( std::max< int >( first, last ) -
                                                                        std::min< int >( first, last ) +
                                                                        1 );

        m_dirty = true;
                                                                                
        if ( delta >= 0 )
        {
                if ( last - delta < m_value )
                {
                        return ( m_value = first + ( delta - ( last - m_value + 1 ) ) );
                }
        }
        else
        {
                if ( first - delta > m_value )
                {
                        return ( m_value = last + ( delta + ( m_value - first + 1 ) ) );
                }
        }

        return ( m_value += delta );

  //## end Sequence::incrementValue%4210525D0208.body
}

//## Operation: isDirty%421199D5032E
const bool Sequence::isDirty () const
{
  //## begin Sequence::isDirty%421199D5032E.body preserve=yes

        return ( m_dirty );  

  //## end Sequence::isDirty%421199D5032E.body
}

//## Operation: isPersisted%4210531902B4
const bool & Sequence::isPersisted () const
{
  //## begin Sequence::isPersisted%4210531902B4.body preserve=yes

        return ( m_persisted );

  //## end Sequence::isPersisted%4210531902B4.body
}

//## Operation: isUpdate%421053450227
const bool & Sequence::isUpdate () const
{
  //## begin Sequence::isUpdate%421053450227.body preserve=yes

        return ( m_update );

  //## end Sequence::isUpdate%421053450227.body
}

//## Operation: setDirty%42119A580277
void Sequence::setDirty (const bool &value)
{
  //## begin Sequence::setDirty%42119A580277.body preserve=yes

        m_dirty = value;  

  //## end Sequence::setDirty%42119A580277.body
}

//## Operation: setPersist%421053B501D9
const bool & Sequence::setPersist (const bool &value)
{
  //## begin Sequence::setPersist%421053B501D9.body preserve=yes

        return ( m_persisted = value );

  //## end Sequence::setPersist%421053B501D9.body
}

//## Operation: setUpdate%42105401020D
const bool & Sequence::setUpdate (const bool &value)
{
  //## begin Sequence::setUpdate%42105401020D.body preserve=yes

        return ( m_update = value );

  //## end Sequence::setUpdate%42105401020D.body
}

//## Operation: setValue%421053980341
const int & Sequence::setValue (const int &value)
{
  //## begin Sequence::setValue%421053980341.body preserve=yes

        return ( m_value = value );

  //## end Sequence::setValue%421053980341.body
}

// Additional Declarations
  //## begin Sequence%42103A8C03B7.declarations preserve=yes
  //## end Sequence%42103A8C03B7.declarations

//## begin module%42103A8C03B7.epilog preserve=yes
//## end module%42103A8C03B7.epilog