Listing 2: Build configuration class interface
// The BuildConfiguration class
class BuildConfiguration
{
private:
typedef std::set<const VersionStamp*,
VersionStampPtrLess> VersionInfo;
public:
typedef VersionInfo::const_iterator const_iterator;
public:
static BuildConfiguration& Instance();
void Output(std::ostream& out) const;
void AddFile(const VersionStamp* fileStamp);
const_iterator begin() const;
const_iterator end() const;
private:
// Private for Singleton
BuildConfiguration();
// Unimplemented
BuildConfiguration(const BuildConfiguration&);
BuildConfiguration& operator=(const BuildConfiguration&);
private:
VersionInfo mConfig;
};
End of Listing