Listing 3
class Record
{
public:
const Field operator [](unsigned char index) const
{
return operator [](static_cast<unsigned int>(index));
}
const Field operator [](signed char index) const;
const Field operator [](unsigned short index) const;
const Field operator [](signed short index) const;
const Field operator [](unsigned int index) const;
const Field operator [](signed int index) const;
const Field operator [](unsigned long index) const;
const Field operator [](signed long index) const;
#if Visual C++ 6 or Intel compiler in VC6-compatibility
const Field operator [](unsigned __int32 index) const;
const Field operator [](signed __int32 index) const;
#endif
#if 64-bit integer supported?
const Field operator [](uint64_t const &index) const;
const Field operator [](sint64_t const &index) const;
#endif
. . .