Add a lot of comments and code cleanup

This commit is contained in:
Pavel Krajcevski 2013-03-20 23:40:35 -04:00
parent f1f1294b2e
commit fc1baea05f
3 changed files with 18 additions and 8 deletions

View File

@ -62,7 +62,7 @@ class TCMutex;
struct BlockStat { struct BlockStat {
friend class BlockStatManager; friend class BlockStatManager;
public: public:
BlockStat(const CHAR *statName, int); BlockStat(const CHAR *statName, int);
BlockStat(const CHAR *statName, double stat); BlockStat(const CHAR *statName, double stat);
@ -71,7 +71,7 @@ public:
void ToString(CHAR *buf, int bufSz) const; void ToString(CHAR *buf, int bufSz) const;
private: private:
const enum Type { const enum Type {
eType_Float, eType_Float,
eType_Int, eType_Int,
@ -95,8 +95,14 @@ class BlockStatManager {
BlockStatManager &operator=(const BlockStatManager &); BlockStatManager &operator=(const BlockStatManager &);
~BlockStatManager(); ~BlockStatManager();
// A thread-safe version that returns a list index for recording
// block statistics.
uint32 BeginBlock(); uint32 BeginBlock();
// Add a stat for a given block. This is thread-safe
void AddStat(uint32 blockIdx, const BlockStat &stat); void AddStat(uint32 blockIdx, const BlockStat &stat);
// Write the statistics to a file.
void ToFile(const CHAR *filename); void ToFile(const CHAR *filename);
private: private:

View File

@ -66,6 +66,10 @@ class CompressedImage {
void InitData(const unsigned char *withData); void InitData(const unsigned char *withData);
public: public:
CompressedImage(); CompressedImage();
// Create a compressed image from the given data according to
// the passed format. The size of the data is expected to conform
// to the width, height, and format specified.
CompressedImage( CompressedImage(
const unsigned int width, const unsigned int width,
const unsigned int height, const unsigned int height,
@ -79,6 +83,10 @@ class CompressedImage {
CompressedImage( const CompressedImage &other ); CompressedImage( const CompressedImage &other );
~CompressedImage(); ~CompressedImage();
// Decompress the compressed image data into outBuf. outBufSz is expected
// to be the proper size determined by the width, height, and format.
// !FIXME! We should have a function to explicitly return the in/out buf
// size for a given compressed image.
bool DecompressImage(unsigned char *outBuf, unsigned int outBufSz) const; bool DecompressImage(unsigned char *outBuf, unsigned int outBufSz) const;
}; };

View File

@ -47,15 +47,11 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <assert.h> #include <assert.h>
#include <algorithm>
#include "FileStream.h" #include "FileStream.h"
#include "Thread.h" #include "Thread.h"
template <typename T>
static T max(const T &a, const T &b) {
return (a > b)? a : b;
}
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// //
// BlockStat implementation // BlockStat implementation
@ -150,7 +146,7 @@ BlockStatManager &BlockStatManager::operator=(const BlockStatManager &other) {
} }
BlockStatManager::BlockStatManager(int nBlocks) BlockStatManager::BlockStatManager(int nBlocks)
: m_BlockStatListSz(max(nBlocks, 0)) : m_BlockStatListSz(std::max(nBlocks, 0))
, m_NextBlock(0) , m_NextBlock(0)
, m_Mutex(new TCMutex) , m_Mutex(new TCMutex)
{ {