stats: Rename the info classes to hopefully make things a bit clearer
FooInfoBase became FooInfo FooInfo became FooInfoProxy
This commit is contained in:
parent
567cab6859
commit
4d9f25b75c
7 changed files with 119 additions and 118 deletions
|
@ -206,7 +206,7 @@ Info::enable()
|
|||
}
|
||||
|
||||
void
|
||||
VectorInfoBase::enable()
|
||||
VectorInfo::enable()
|
||||
{
|
||||
size_type s = size();
|
||||
if (subnames.size() < s)
|
||||
|
@ -216,7 +216,7 @@ VectorInfoBase::enable()
|
|||
}
|
||||
|
||||
void
|
||||
VectorDistInfoBase::enable()
|
||||
VectorDistInfo::enable()
|
||||
{
|
||||
size_type s = size();
|
||||
if (subnames.size() < s)
|
||||
|
@ -226,7 +226,7 @@ VectorDistInfoBase::enable()
|
|||
}
|
||||
|
||||
void
|
||||
Vector2dInfoBase::enable()
|
||||
Vector2dInfo::enable()
|
||||
{
|
||||
if (subnames.size() < x)
|
||||
subnames.resize(x);
|
||||
|
|
|
@ -161,15 +161,16 @@ class Info
|
|||
*/
|
||||
static bool less(Info *stat1, Info *stat2);
|
||||
};
|
||||
struct StorageParams;
|
||||
|
||||
template <class Stat, class Base>
|
||||
class InfoWrap : public Base
|
||||
class InfoProxy : public Base
|
||||
{
|
||||
protected:
|
||||
Stat &s;
|
||||
|
||||
public:
|
||||
InfoWrap(Stat &stat) : s(stat) {}
|
||||
InfoProxy(Stat &stat) : s(stat) {}
|
||||
|
||||
bool check() const { return s.check(); }
|
||||
void prepare() { s.prepare(); }
|
||||
|
@ -182,7 +183,7 @@ class InfoWrap : public Base
|
|||
bool zero() const { return s.zero(); }
|
||||
};
|
||||
|
||||
class ScalarInfoBase : public Info
|
||||
class ScalarInfo : public Info
|
||||
{
|
||||
public:
|
||||
virtual Counter value() const = 0;
|
||||
|
@ -191,17 +192,17 @@ class ScalarInfoBase : public Info
|
|||
};
|
||||
|
||||
template <class Stat>
|
||||
class ScalarInfo : public InfoWrap<Stat, ScalarInfoBase>
|
||||
class ScalarInfoProxy : public InfoProxy<Stat, ScalarInfo>
|
||||
{
|
||||
public:
|
||||
ScalarInfo(Stat &stat) : InfoWrap<Stat, ScalarInfoBase>(stat) {}
|
||||
ScalarInfoProxy(Stat &stat) : InfoProxy<Stat, ScalarInfo>(stat) {}
|
||||
|
||||
Counter value() const { return this->s.value(); }
|
||||
Result result() const { return this->s.result(); }
|
||||
Result total() const { return this->s.total(); }
|
||||
};
|
||||
|
||||
class VectorInfoBase : public Info
|
||||
class VectorInfo : public Info
|
||||
{
|
||||
public:
|
||||
/** Names and descriptions of subfields. */
|
||||
|
@ -219,14 +220,14 @@ class VectorInfoBase : public Info
|
|||
};
|
||||
|
||||
template <class Stat>
|
||||
class VectorInfo : public InfoWrap<Stat, VectorInfoBase>
|
||||
class VectorInfoProxy : public InfoProxy<Stat, VectorInfo>
|
||||
{
|
||||
protected:
|
||||
mutable VCounter cvec;
|
||||
mutable VResult rvec;
|
||||
|
||||
public:
|
||||
VectorInfo(Stat &stat) : InfoWrap<Stat, VectorInfoBase>(stat) {}
|
||||
VectorInfoProxy(Stat &stat) : InfoProxy<Stat, VectorInfo>(stat) {}
|
||||
|
||||
size_type size() const { return this->s.size(); }
|
||||
|
||||
|
@ -259,7 +260,7 @@ struct DistData
|
|||
Counter samples;
|
||||
};
|
||||
|
||||
class DistInfoBase : public Info
|
||||
class DistInfo : public Info
|
||||
{
|
||||
public:
|
||||
/** Local storage for the entry values, used for printing. */
|
||||
|
@ -267,13 +268,13 @@ class DistInfoBase : public Info
|
|||
};
|
||||
|
||||
template <class Stat>
|
||||
class DistInfo : public InfoWrap<Stat, DistInfoBase>
|
||||
class DistInfoProxy : public InfoProxy<Stat, DistInfo>
|
||||
{
|
||||
public:
|
||||
DistInfo(Stat &stat) : InfoWrap<Stat, DistInfoBase>(stat) {}
|
||||
DistInfoProxy(Stat &stat) : InfoProxy<Stat, DistInfo>(stat) {}
|
||||
};
|
||||
|
||||
class VectorDistInfoBase : public Info
|
||||
class VectorDistInfo : public Info
|
||||
{
|
||||
public:
|
||||
std::vector<DistData> data;
|
||||
|
@ -292,15 +293,15 @@ class VectorDistInfoBase : public Info
|
|||
};
|
||||
|
||||
template <class Stat>
|
||||
class VectorDistInfo : public InfoWrap<Stat, VectorDistInfoBase>
|
||||
class VectorDistInfoProxy : public InfoProxy<Stat, VectorDistInfo>
|
||||
{
|
||||
public:
|
||||
VectorDistInfo(Stat &stat) : InfoWrap<Stat, VectorDistInfoBase>(stat) {}
|
||||
VectorDistInfoProxy(Stat &stat) : InfoProxy<Stat, VectorDistInfo>(stat) {}
|
||||
|
||||
size_type size() const { return this->s.size(); }
|
||||
};
|
||||
|
||||
class Vector2dInfoBase : public Info
|
||||
class Vector2dInfo : public Info
|
||||
{
|
||||
public:
|
||||
/** Names and descriptions of subfields. */
|
||||
|
@ -318,10 +319,10 @@ class Vector2dInfoBase : public Info
|
|||
};
|
||||
|
||||
template <class Stat>
|
||||
class Vector2dInfo : public InfoWrap<Stat, Vector2dInfoBase>
|
||||
class Vector2dInfoProxy : public InfoProxy<Stat, Vector2dInfo>
|
||||
{
|
||||
public:
|
||||
Vector2dInfo(Stat &stat) : InfoWrap<Stat, Vector2dInfoBase>(stat) {}
|
||||
Vector2dInfoProxy(Stat &stat) : InfoProxy<Stat, Vector2dInfo>(stat) {}
|
||||
};
|
||||
|
||||
class InfoAccess
|
||||
|
@ -359,11 +360,11 @@ class InfoAccess
|
|||
bool check() const { return true; }
|
||||
};
|
||||
|
||||
template <class Derived, template <class> class InfoType>
|
||||
template <class Derived, template <class> class InfoProxyType>
|
||||
class DataWrap : public InfoAccess
|
||||
{
|
||||
public:
|
||||
typedef InfoType<Derived> Info;
|
||||
typedef InfoProxyType<Derived> Info;
|
||||
|
||||
protected:
|
||||
Derived &self() { return *static_cast<Derived *>(this); }
|
||||
|
@ -466,11 +467,11 @@ class DataWrap : public InfoAccess
|
|||
}
|
||||
};
|
||||
|
||||
template <class Derived, template <class> class InfoType>
|
||||
class DataWrapVec : public DataWrap<Derived, InfoType>
|
||||
template <class Derived, template <class> class InfoProxyType>
|
||||
class DataWrapVec : public DataWrap<Derived, InfoProxyType>
|
||||
{
|
||||
public:
|
||||
typedef InfoType<Derived> Info;
|
||||
typedef InfoProxyType<Derived> Info;
|
||||
|
||||
// The following functions are specific to vectors. If you use them
|
||||
// in a non vector context, you will get a nice compiler error!
|
||||
|
@ -542,11 +543,11 @@ class DataWrapVec : public DataWrap<Derived, InfoType>
|
|||
}
|
||||
};
|
||||
|
||||
template <class Derived, template <class> class InfoType>
|
||||
class DataWrapVec2d : public DataWrapVec<Derived, InfoType>
|
||||
template <class Derived, template <class> class InfoProxyType>
|
||||
class DataWrapVec2d : public DataWrapVec<Derived, InfoProxyType>
|
||||
{
|
||||
public:
|
||||
typedef InfoType<Derived> Info;
|
||||
typedef InfoProxyType<Derived> Info;
|
||||
|
||||
/**
|
||||
* @warning This makes the assumption that if you're gonna subnames a 2d
|
||||
|
@ -746,7 +747,7 @@ class AvgStor
|
|||
* Storage template.
|
||||
*/
|
||||
template <class Derived, class Stor>
|
||||
class ScalarBase : public DataWrap<Derived, ScalarInfo>
|
||||
class ScalarBase : public DataWrap<Derived, ScalarInfoProxy>
|
||||
{
|
||||
public:
|
||||
typedef Stor Storage;
|
||||
|
@ -860,7 +861,7 @@ class ScalarBase : public DataWrap<Derived, ScalarInfo>
|
|||
void prepare() { data()->prepare(this->info()); }
|
||||
};
|
||||
|
||||
class ProxyInfo : public ScalarInfoBase
|
||||
class ProxyInfo : public ScalarInfo
|
||||
{
|
||||
public:
|
||||
std::string str() const { return to_string(value()); }
|
||||
|
@ -900,7 +901,7 @@ class FunctorProxy : public ProxyInfo
|
|||
};
|
||||
|
||||
template <class Derived>
|
||||
class ValueBase : public DataWrap<Derived, ScalarInfo>
|
||||
class ValueBase : public DataWrap<Derived, ScalarInfoProxy>
|
||||
{
|
||||
private:
|
||||
ProxyInfo *proxy;
|
||||
|
@ -1076,7 +1077,7 @@ class ScalarProxy
|
|||
* Storage class. @sa ScalarBase
|
||||
*/
|
||||
template <class Derived, class Stor>
|
||||
class VectorBase : public DataWrapVec<Derived, VectorInfo>
|
||||
class VectorBase : public DataWrapVec<Derived, VectorInfoProxy>
|
||||
{
|
||||
public:
|
||||
typedef Stor Storage;
|
||||
|
@ -1085,7 +1086,7 @@ class VectorBase : public DataWrapVec<Derived, VectorInfo>
|
|||
/** Proxy type */
|
||||
typedef ScalarProxy<Derived> Proxy;
|
||||
friend class ScalarProxy<Derived>;
|
||||
friend class DataWrapVec<Derived, VectorInfo>;
|
||||
friend class DataWrapVec<Derived, VectorInfoProxy>;
|
||||
|
||||
protected:
|
||||
/** The storage of this stat. */
|
||||
|
@ -1295,17 +1296,17 @@ class VectorProxy
|
|||
};
|
||||
|
||||
template <class Derived, class Stor>
|
||||
class Vector2dBase : public DataWrapVec2d<Derived, Vector2dInfo>
|
||||
class Vector2dBase : public DataWrapVec2d<Derived, Vector2dInfoProxy>
|
||||
{
|
||||
public:
|
||||
typedef Vector2dInfo<Derived> Info;
|
||||
typedef Vector2dInfoProxy<Derived> Info;
|
||||
typedef Stor Storage;
|
||||
typedef typename Stor::Params Params;
|
||||
typedef VectorProxy<Derived> Proxy;
|
||||
friend class ScalarProxy<Derived>;
|
||||
friend class VectorProxy<Derived>;
|
||||
friend class DataWrapVec<Derived, Vector2dInfo>;
|
||||
friend class DataWrapVec2d<Derived, Vector2dInfo>;
|
||||
friend class DataWrapVec<Derived, Vector2dInfoProxy>;
|
||||
friend class DataWrapVec2d<Derived, Vector2dInfoProxy>;
|
||||
|
||||
protected:
|
||||
size_type x;
|
||||
|
@ -1733,10 +1734,10 @@ class AvgFancy
|
|||
* determined by the Storage template. @sa ScalarBase
|
||||
*/
|
||||
template <class Derived, class Stor>
|
||||
class DistBase : public DataWrap<Derived, DistInfo>
|
||||
class DistBase : public DataWrap<Derived, DistInfoProxy>
|
||||
{
|
||||
public:
|
||||
typedef DistInfo<Derived> Info;
|
||||
typedef DistInfoProxy<Derived> Info;
|
||||
typedef Stor Storage;
|
||||
typedef typename Stor::Params Params;
|
||||
|
||||
|
@ -1816,15 +1817,15 @@ template <class Stat>
|
|||
class DistProxy;
|
||||
|
||||
template <class Derived, class Stor>
|
||||
class VectorDistBase : public DataWrapVec<Derived, VectorDistInfo>
|
||||
class VectorDistBase : public DataWrapVec<Derived, VectorDistInfoProxy>
|
||||
{
|
||||
public:
|
||||
typedef VectorDistInfo<Derived> Info;
|
||||
typedef VectorDistInfoProxy<Derived> Info;
|
||||
typedef Stor Storage;
|
||||
typedef typename Stor::Params Params;
|
||||
typedef DistProxy<Derived> Proxy;
|
||||
friend class DistProxy<Derived>;
|
||||
friend class DataWrapVec<Derived, VectorDistInfo>;
|
||||
friend class DataWrapVec<Derived, VectorDistInfoProxy>;
|
||||
|
||||
protected:
|
||||
Storage *storage;
|
||||
|
@ -2027,11 +2028,11 @@ typedef RefCountingPtr<Node> NodePtr;
|
|||
class ScalarStatNode : public Node
|
||||
{
|
||||
private:
|
||||
const ScalarInfoBase *data;
|
||||
const ScalarInfo *data;
|
||||
mutable VResult vresult;
|
||||
|
||||
public:
|
||||
ScalarStatNode(const ScalarInfoBase *d) : data(d), vresult(1) {}
|
||||
ScalarStatNode(const ScalarInfo *d) : data(d), vresult(1) {}
|
||||
|
||||
const VResult &
|
||||
result() const
|
||||
|
@ -2094,10 +2095,10 @@ class ScalarProxyNode : public Node
|
|||
class VectorStatNode : public Node
|
||||
{
|
||||
private:
|
||||
const VectorInfoBase *data;
|
||||
const VectorInfo *data;
|
||||
|
||||
public:
|
||||
VectorStatNode(const VectorInfoBase *d) : data(d) { }
|
||||
VectorStatNode(const VectorInfo *d) : data(d) { }
|
||||
const VResult &result() const { return data->result(); }
|
||||
Result total() const { return data->total(); };
|
||||
|
||||
|
@ -2554,21 +2555,21 @@ class VectorAverageDeviation
|
|||
}
|
||||
};
|
||||
|
||||
class FormulaInfoBase : public VectorInfoBase
|
||||
class FormulaInfo : public VectorInfo
|
||||
{
|
||||
public:
|
||||
virtual std::string str() const = 0;
|
||||
};
|
||||
|
||||
template <class Stat>
|
||||
class FormulaInfo : public InfoWrap<Stat, FormulaInfoBase>
|
||||
class FormulaInfoProxy : public InfoProxy<Stat, FormulaInfo>
|
||||
{
|
||||
protected:
|
||||
mutable VResult vec;
|
||||
mutable VCounter cvec;
|
||||
|
||||
public:
|
||||
FormulaInfo(Stat &stat) : InfoWrap<Stat, FormulaInfoBase>(stat) {}
|
||||
FormulaInfoProxy(Stat &stat) : InfoProxy<Stat, FormulaInfo>(stat) {}
|
||||
|
||||
size_type size() const { return this->s.size(); }
|
||||
|
||||
|
@ -2590,7 +2591,7 @@ class Temp;
|
|||
* stored as a tree of Nodes that represent the equation to calculate.
|
||||
* @sa Stat, ScalarStat, VectorStat, Node, Temp
|
||||
*/
|
||||
class Formula : public DataWrapVec<Formula, FormulaInfo>
|
||||
class Formula : public DataWrapVec<Formula, FormulaInfoProxy>
|
||||
{
|
||||
protected:
|
||||
/** The root of the tree which represents the Formula */
|
||||
|
|
|
@ -544,7 +544,7 @@ MySql::configure(const Info &info, string type)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::configure(const ScalarInfoBase &info)
|
||||
MySql::configure(const ScalarInfo &info)
|
||||
{
|
||||
if (!configure(info, "SCALAR"))
|
||||
return;
|
||||
|
@ -553,7 +553,7 @@ MySql::configure(const ScalarInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::configure(const VectorInfoBase &info)
|
||||
MySql::configure(const VectorInfo &info)
|
||||
{
|
||||
if (!configure(info, "VECTOR"))
|
||||
return;
|
||||
|
@ -578,7 +578,7 @@ MySql::configure(const VectorInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::configure(const DistInfoBase &info)
|
||||
MySql::configure(const DistInfo &info)
|
||||
{
|
||||
if (!configure(info, "DIST"))
|
||||
return;
|
||||
|
@ -595,7 +595,7 @@ MySql::configure(const DistInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::configure(const VectorDistInfoBase &info)
|
||||
MySql::configure(const VectorDistInfo &info)
|
||||
{
|
||||
if (!configure(info, "VECTORDIST"))
|
||||
return;
|
||||
|
@ -628,7 +628,7 @@ MySql::configure(const VectorDistInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::configure(const Vector2dInfoBase &info)
|
||||
MySql::configure(const Vector2dInfo &info)
|
||||
{
|
||||
if (!configure(info, "VECTOR2D"))
|
||||
return;
|
||||
|
@ -665,7 +665,7 @@ MySql::configure(const Vector2dInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::configure(const FormulaInfoBase &info)
|
||||
MySql::configure(const FormulaInfo &info)
|
||||
{
|
||||
MySQL::Connection &mysql = run->conn();
|
||||
assert(mysql.connected());
|
||||
|
@ -735,7 +735,7 @@ MySql::event(const std::string &event)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::output(const ScalarInfoBase &info)
|
||||
MySql::output(const ScalarInfo &info)
|
||||
{
|
||||
if (!(info.flags & print))
|
||||
return;
|
||||
|
@ -749,7 +749,7 @@ MySql::output(const ScalarInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::output(const VectorInfoBase &info)
|
||||
MySql::output(const VectorInfo &info)
|
||||
{
|
||||
if (!(info.flags & print))
|
||||
return;
|
||||
|
@ -816,7 +816,7 @@ MySql::output(const DistData &data, const DistParams *params)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::output(const DistInfoBase &info)
|
||||
MySql::output(const DistInfo &info)
|
||||
{
|
||||
if (!(info.flags & print))
|
||||
return;
|
||||
|
@ -827,7 +827,7 @@ MySql::output(const DistInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::output(const VectorDistInfoBase &info)
|
||||
MySql::output(const VectorDistInfo &info)
|
||||
{
|
||||
if (!(info.flags & print))
|
||||
return;
|
||||
|
@ -843,7 +843,7 @@ MySql::output(const VectorDistInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::output(const Vector2dInfoBase &info)
|
||||
MySql::output(const Vector2dInfo &info)
|
||||
{
|
||||
if (!(info.flags & print))
|
||||
return;
|
||||
|
@ -862,7 +862,7 @@ MySql::output(const Vector2dInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::output(const FormulaInfoBase &info)
|
||||
MySql::output(const FormulaInfo &info)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -870,7 +870,7 @@ MySql::output(const FormulaInfoBase &info)
|
|||
* Implement the visitor
|
||||
*/
|
||||
void
|
||||
MySql::visit(const ScalarInfoBase &info)
|
||||
MySql::visit(const ScalarInfo &info)
|
||||
{
|
||||
if (!configured)
|
||||
configure(info);
|
||||
|
@ -879,7 +879,7 @@ MySql::visit(const ScalarInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::visit(const VectorInfoBase &info)
|
||||
MySql::visit(const VectorInfo &info)
|
||||
{
|
||||
if (!configured)
|
||||
configure(info);
|
||||
|
@ -888,7 +888,7 @@ MySql::visit(const VectorInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::visit(const DistInfoBase &info)
|
||||
MySql::visit(const DistInfo &info)
|
||||
{
|
||||
return;
|
||||
if (!configured)
|
||||
|
@ -898,7 +898,7 @@ MySql::visit(const DistInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::visit(const VectorDistInfoBase &info)
|
||||
MySql::visit(const VectorDistInfo &info)
|
||||
{
|
||||
return;
|
||||
if (!configured)
|
||||
|
@ -908,7 +908,7 @@ MySql::visit(const VectorDistInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::visit(const Vector2dInfoBase &info)
|
||||
MySql::visit(const Vector2dInfo &info)
|
||||
{
|
||||
return;
|
||||
if (!configured)
|
||||
|
@ -918,7 +918,7 @@ MySql::visit(const Vector2dInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
MySql::visit(const FormulaInfoBase &info)
|
||||
MySql::visit(const FormulaInfo &info)
|
||||
{
|
||||
if (!configured)
|
||||
configure(info);
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
namespace MySQL { class Connection; }
|
||||
namespace Stats {
|
||||
|
||||
class DistInfoBase;
|
||||
class DistInfo;
|
||||
class MySqlRun;
|
||||
|
||||
struct SetupStat
|
||||
|
@ -122,7 +122,7 @@ class MySql : public Output
|
|||
SetupStat stat;
|
||||
InsertData newdata;
|
||||
InsertEvent newevent;
|
||||
std::list<FormulaInfoBase *> formulas;
|
||||
std::list<FormulaInfo *> formulas;
|
||||
bool configured;
|
||||
|
||||
protected:
|
||||
|
@ -156,12 +156,12 @@ class MySql : public Output
|
|||
|
||||
public:
|
||||
// Implement Visit
|
||||
virtual void visit(const ScalarInfoBase &info);
|
||||
virtual void visit(const VectorInfoBase &info);
|
||||
virtual void visit(const DistInfoBase &info);
|
||||
virtual void visit(const VectorDistInfoBase &info);
|
||||
virtual void visit(const Vector2dInfoBase &info);
|
||||
virtual void visit(const FormulaInfoBase &info);
|
||||
virtual void visit(const ScalarInfo &info);
|
||||
virtual void visit(const VectorInfo &info);
|
||||
virtual void visit(const DistInfo &info);
|
||||
virtual void visit(const VectorDistInfo &info);
|
||||
virtual void visit(const Vector2dInfo &info);
|
||||
virtual void visit(const FormulaInfo &info);
|
||||
|
||||
// Implement Output
|
||||
virtual bool valid() const;
|
||||
|
@ -172,22 +172,22 @@ class MySql : public Output
|
|||
|
||||
protected:
|
||||
// Output helper
|
||||
void output(const ScalarInfoBase &info);
|
||||
void output(const VectorInfoBase &info);
|
||||
void output(const DistInfoBase &info);
|
||||
void output(const VectorDistInfoBase &info);
|
||||
void output(const Vector2dInfoBase &info);
|
||||
void output(const FormulaInfoBase &info);
|
||||
void output(const ScalarInfo &info);
|
||||
void output(const VectorInfo &info);
|
||||
void output(const DistInfo &info);
|
||||
void output(const VectorDistInfo &info);
|
||||
void output(const Vector2dInfo &info);
|
||||
void output(const FormulaInfo &info);
|
||||
void output(const DistData &data, const DistParams *params);
|
||||
|
||||
void configure();
|
||||
bool configure(const Info &info, std::string type);
|
||||
void configure(const ScalarInfoBase &info);
|
||||
void configure(const VectorInfoBase &info);
|
||||
void configure(const DistInfoBase &info);
|
||||
void configure(const VectorDistInfoBase &info);
|
||||
void configure(const Vector2dInfoBase &info);
|
||||
void configure(const FormulaInfoBase &info);
|
||||
void configure(const ScalarInfo &info);
|
||||
void configure(const VectorInfo &info);
|
||||
void configure(const DistInfo &info);
|
||||
void configure(const VectorDistInfo &info);
|
||||
void configure(const Vector2dInfo &info);
|
||||
void configure(const FormulaInfo &info);
|
||||
};
|
||||
|
||||
bool initMySQL(std::string host, std::string database, std::string user,
|
||||
|
|
|
@ -299,19 +299,19 @@ struct DistPrint
|
|||
|
||||
const DistData &data;
|
||||
|
||||
DistPrint(const Text *text, const DistInfoBase &info);
|
||||
DistPrint(const Text *text, const VectorDistInfoBase &info, int i);
|
||||
DistPrint(const Text *text, const DistInfo &info);
|
||||
DistPrint(const Text *text, const VectorDistInfo &info, int i);
|
||||
void init(const Text *text, const Info &info, const DistParams *params);
|
||||
void operator()(ostream &stream) const;
|
||||
};
|
||||
|
||||
DistPrint::DistPrint(const Text *text, const DistInfoBase &info)
|
||||
DistPrint::DistPrint(const Text *text, const DistInfo &info)
|
||||
: data(info.data)
|
||||
{
|
||||
init(text, info, safe_cast<const DistParams *>(info.storageParams));
|
||||
}
|
||||
|
||||
DistPrint::DistPrint(const Text *text, const VectorDistInfoBase &info, int i)
|
||||
DistPrint::DistPrint(const Text *text, const VectorDistInfo &info, int i)
|
||||
: data(info.data[i])
|
||||
{
|
||||
init(text, info, safe_cast<const DistParams *>(info.storageParams));
|
||||
|
@ -458,7 +458,7 @@ DistPrint::operator()(ostream &stream) const
|
|||
}
|
||||
|
||||
void
|
||||
Text::visit(const ScalarInfoBase &info)
|
||||
Text::visit(const ScalarInfo &info)
|
||||
{
|
||||
if (noOutput(info))
|
||||
return;
|
||||
|
@ -477,7 +477,7 @@ Text::visit(const ScalarInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
Text::visit(const VectorInfoBase &info)
|
||||
Text::visit(const VectorInfo &info)
|
||||
{
|
||||
if (noOutput(info))
|
||||
return;
|
||||
|
@ -515,7 +515,7 @@ Text::visit(const VectorInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
Text::visit(const Vector2dInfoBase &info)
|
||||
Text::visit(const Vector2dInfo &info)
|
||||
{
|
||||
if (noOutput(info))
|
||||
return;
|
||||
|
@ -569,7 +569,7 @@ Text::visit(const Vector2dInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
Text::visit(const DistInfoBase &info)
|
||||
Text::visit(const DistInfo &info)
|
||||
{
|
||||
if (noOutput(info))
|
||||
return;
|
||||
|
@ -579,7 +579,7 @@ Text::visit(const DistInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
Text::visit(const VectorDistInfoBase &info)
|
||||
Text::visit(const VectorDistInfo &info)
|
||||
{
|
||||
if (noOutput(info))
|
||||
return;
|
||||
|
@ -591,9 +591,9 @@ Text::visit(const VectorDistInfoBase &info)
|
|||
}
|
||||
|
||||
void
|
||||
Text::visit(const FormulaInfoBase &info)
|
||||
Text::visit(const FormulaInfo &info)
|
||||
{
|
||||
visit((const VectorInfoBase &)info);
|
||||
visit((const VectorInfo &)info);
|
||||
}
|
||||
|
||||
bool
|
||||
|
|
|
@ -61,12 +61,12 @@ class Text : public Output
|
|||
void open(const std::string &file);
|
||||
|
||||
// Implement Visit
|
||||
virtual void visit(const ScalarInfoBase &info);
|
||||
virtual void visit(const VectorInfoBase &info);
|
||||
virtual void visit(const DistInfoBase &info);
|
||||
virtual void visit(const VectorDistInfoBase &info);
|
||||
virtual void visit(const Vector2dInfoBase &info);
|
||||
virtual void visit(const FormulaInfoBase &info);
|
||||
virtual void visit(const ScalarInfo &info);
|
||||
virtual void visit(const VectorInfo &info);
|
||||
virtual void visit(const DistInfo &info);
|
||||
virtual void visit(const VectorDistInfo &info);
|
||||
virtual void visit(const Vector2dInfo &info);
|
||||
virtual void visit(const FormulaInfo &info);
|
||||
|
||||
// Implement Output
|
||||
virtual bool valid() const;
|
||||
|
|
|
@ -39,25 +39,25 @@
|
|||
namespace Stats {
|
||||
|
||||
class Info;
|
||||
class ScalarInfoBase;
|
||||
class VectorInfoBase;
|
||||
class DistInfoBase;
|
||||
class DistInfoBase;
|
||||
class VectorDistInfoBase;
|
||||
class Vector2dInfoBase;
|
||||
class FormulaInfoBase;
|
||||
class ScalarInfo;
|
||||
class VectorInfo;
|
||||
class DistInfo;
|
||||
class DistInfo;
|
||||
class VectorDistInfo;
|
||||
class Vector2dInfo;
|
||||
class FormulaInfo;
|
||||
|
||||
struct Visit
|
||||
{
|
||||
Visit();
|
||||
virtual ~Visit();
|
||||
|
||||
virtual void visit(const ScalarInfoBase &info) = 0;
|
||||
virtual void visit(const VectorInfoBase &info) = 0;
|
||||
virtual void visit(const DistInfoBase &info) = 0;
|
||||
virtual void visit(const VectorDistInfoBase &info) = 0;
|
||||
virtual void visit(const Vector2dInfoBase &info) = 0;
|
||||
virtual void visit(const FormulaInfoBase &info) = 0;
|
||||
virtual void visit(const ScalarInfo &info) = 0;
|
||||
virtual void visit(const VectorInfo &info) = 0;
|
||||
virtual void visit(const DistInfo &info) = 0;
|
||||
virtual void visit(const VectorDistInfo &info) = 0;
|
||||
virtual void visit(const Vector2dInfo &info) = 0;
|
||||
virtual void visit(const FormulaInfo &info) = 0;
|
||||
};
|
||||
|
||||
/* namespace Stats */ }
|
||||
|
|
Loading…
Reference in a new issue