Mercurial > hg > audiodb
view pointpair.cpp @ 508:23c47e118bc6
Better soap memory correctness.
Pass the struct soap down through audioDB::query into Reporter::report
methods.
We go through the audioDB constructor and do everything on the stack.
We'll eventually also need to add a pointer member within the audioDB
object, so that non-local transfers of control (particularly
audioDB::error) can still allocate soap-specific memory.
Then use soap_malloc() not new[] for memory allocation of
adbQueryResponse data structures.
author | mas01cr |
---|---|
date | Tue, 13 Jan 2009 21:37:14 +0000 |
parents | 342822c2d49a |
children | cc2b97d020b1 |
line wrap: on
line source
#include "audioDB.h" extern "C" { #include "audioDB_API.h" #include "audioDB-internals.h" } PointPair::PointPair(Uns32T a, Uns32T b, Uns32T c) : trackID(a), qpos(b), spos(c) { }; bool operator<(const PointPair& a, const PointPair& b) { return ((a.trackID < b.trackID) || ((a.trackID == b.trackID) && ((a.spos < b.spos) || ((a.spos == b.spos) && (a.qpos < b.qpos))))); } bool operator>(const PointPair& a, const PointPair& b) { return ((a.trackID > b.trackID) || ((a.trackID == b.trackID) && ((a.spos > b.spos) || ((a.spos == b.spos) && (a.qpos > b.qpos))))); } bool operator==(const PointPair& a, const PointPair& b) { return ((a.trackID == b.trackID) && (a.qpos == b.qpos) && (a.spos == b.spos)); }