First commit.
This commit is contained in:
commit
7b83802bb2
103 files changed
+19016
No files matched your search
@@ -0,0 +1,80 @@
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// CSampleIMESampleIMEStructureArray.h
|
||||
//
|
||||
// CSampleIMEStructureArray declaration.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
|
||||
template<class T>
|
||||
class CSampleIMEStructureArray
|
||||
{
|
||||
typedef typename std::vector<T> value_type;
|
||||
typedef const T& CONST_REF;
|
||||
typedef typename value_type CSampleIMEArray;
|
||||
typedef typename value_type::iterator CSampleIMEIter;
|
||||
|
||||
public:
|
||||
CSampleIMEStructureArray(): _imeVector()
|
||||
{
|
||||
}
|
||||
|
||||
explicit CSampleIMEStructureArray(size_t iCount): _imeVector(iCount)
|
||||
{
|
||||
}
|
||||
|
||||
CSampleIMEStructureArray(size_t iCount, CONST_REF tVal): _imeVector(iCount, tVal)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~CSampleIMEStructureArray() {}
|
||||
|
||||
inline CONST_REF GetAt(size_t iIndex) const
|
||||
{
|
||||
assert(iIndex <= _imeVector.size());
|
||||
assert(_imeVector.size() > 0);
|
||||
|
||||
return _imeVector[iIndex];
|
||||
}
|
||||
|
||||
inline T& GetAt(size_t iIndex)
|
||||
{
|
||||
assert(iIndex <= _imeVector.size());
|
||||
assert(_imeVector.size() > 0);
|
||||
|
||||
return _imeVector[iIndex];
|
||||
}
|
||||
|
||||
void RemoveAt(size_t iIndex, size_t iElements)
|
||||
{
|
||||
assert(iIndex <= _imeVector.size());
|
||||
assert(_imeVector.size() > 0);
|
||||
|
||||
CSampleIMEIter beginIter = _imeVector.begin() + iIndex;
|
||||
CSampleIMEIter lastIter = beginIter + iElements - 1;
|
||||
|
||||
_imeVector.erase(beginIter, lastIter);
|
||||
}
|
||||
|
||||
size_t Count() const { return _imeVector.size(); }
|
||||
|
||||
void Append(const T& tVal)
|
||||
{
|
||||
_imeVector.push_back(tVal);
|
||||
}
|
||||
|
||||
void Clear()
|
||||
{
|
||||
_imeVector.clear();
|
||||
}
|
||||
|
||||
private:
|
||||
CSampleIMEArray _imeVector; // the actual array of data
|
||||
CSampleIMEIter _imeIter;
|
||||
};
|
||||
Reference in new issue
Block a user