iphreeqc/cxxMix.h
David L Parkhurst ee9dcce40b writing cxxStorageBin2phreeqc.
clean up some consts.

Adding methods for Mix, Reaction, Temperature.

Need parallel method for exchange_ptr_to_user for mix, irrev, temperature.


git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/branches/ErrorHandling@5689 1feff8c3-07ed-0310-ac33-dd36852eb9cd
2011-10-15 00:40:56 +00:00

61 lines
1.1 KiB
C++

#if !defined(CXXMIX_H_INCLUDED)
#define CXXMIX_H_INCLUDED
#include <cassert> // assert
#include <map> // std::map
#include <string> // std::string
#include <list> // std::list
#include <vector> // std::vector
#include "NumKeyword.h"
#include "PHRQ_base.h"
class cxxMix:public cxxNumKeyword
{
public:
cxxMix(PHRQ_io *io=NULL);
cxxMix(struct mix *, PHRQ_io *io=NULL);
~cxxMix();
//void dump_xml(std::ostream& os, unsigned int indent = 0)const;
void dump_raw(std::ostream & s_oss, unsigned int indent, int *n_out=NULL) const;
void read_raw(CParser & parser);
void add(int n, double f)
{
if (this->mixComps.find(n) != this->mixComps.end())
{
mixComps[n] += f;
}
else
{
mixComps[n] = f;
}
};
void multiply(double f)
{
for (std::map < int, double >::iterator it = this->mixComps.begin();
it != this->mixComps.end(); it++)
{
it->second *= f;
}
};
const std::map < int, double > & Get_mixComps() const
{
return mixComps;
}
protected:
friend class cxxStorageBin;
std::map < int, double >mixComps;
public:
//static std::map<int, cxxMix>& map;
};
#endif // !defined(CXXMIX_H_INCLUDED)