Simplify C++ style in Linker.

This commit is contained in:
Markus F.X.J. Oberhumer 2006-06-22 16:12:48 +02:00
parent d7592f01e1
commit 29e8d072b7
2 changed files with 9 additions and 22 deletions

View File

@ -42,7 +42,7 @@ static int hex(char c)
#define NJUMPS 200
#define NSECTIONS 550
struct DefaultLinker::Label
class DefaultLinker::Label
{
char label[31 + 1];
public:
@ -80,6 +80,7 @@ DefaultLinker::DefaultLinker() :
{
}
void DefaultLinker::init(const void *pdata, int plen, int pinfo)
{
assert(!frozen);

View File

@ -56,6 +56,11 @@ public:
protected:
bool frozen;
private:
// disable copy and assignment
Linker(const Linker &); // {}
Linker& operator= (const Linker &); // { return *this; }
};
@ -92,28 +97,16 @@ private:
int nsections;
int align_hack;
int align_offset;
private:
// disable copy and assignment
DefaultLinker(const DefaultLinker &); // {}
DefaultLinker& operator= (const DefaultLinker &); // { return *this; }
};
template <class T>
class TDefaultLinker : public DefaultLinker
struct TDefaultLinker : public DefaultLinker
{
public:
TDefaultLinker() : DefaultLinker() { }
virtual unsigned get32(const void *b) const { return T::get32(b); }
virtual void set32(void *b, unsigned v) const { T::set32(b, v); }
private:
// disable copy and assignment
TDefaultLinker(const TDefaultLinker &); // {}
TDefaultLinker& operator= (const TDefaultLinker &); // { return *this; }
};
typedef TDefaultLinker<NBELE::BEPolicy> DefaultBELinker;
typedef TDefaultLinker<NBELE::LEPolicy> DefaultLELinker;
@ -143,19 +136,12 @@ private:
template <class T>
class TSimpleLinker : public SimpleLinker
struct TSimpleLinker : public SimpleLinker
{
public:
TSimpleLinker() : SimpleLinker() { }
virtual unsigned get32(const void *b) const { return T::get32(b); }
virtual void set32(void *b, unsigned v) const { T::set32(b, v); }
private:
// disable copy and assignment
TSimpleLinker(const TSimpleLinker &); // {}
TSimpleLinker& operator= (const TSimpleLinker &); // { return *this; }
};
typedef TSimpleLinker<NBELE::BEPolicy> SimpleBELinker;
typedef TSimpleLinker<NBELE::LEPolicy> SimpleLELinker;