1
// This file may be redistributed and modified only under the terms of
2
// the GNU Lesser General Public License (See COPYING for details).
3
// Copyright (C) 2001 Stefanus Du Toit, Karsten-O. Laux
5
#include <Atlas/Message/Element.h>
7
namespace Atlas { namespace Message {
9
void Element::clear(Type new_type)
32
Element::Element(const Element& obj) : t(obj.t)
63
Element& Element::operator=(const Element& obj)
65
//check for self assignment
72
// then perform actual assignment of members
103
bool Element::operator==(const Element& o) const
105
if (t != o.t) { return false; }
107
case TYPE_NONE: return true;
108
case TYPE_INT: return i == o.i;
109
case TYPE_FLOAT: return f == o.f;
110
case TYPE_PTR: return p == o.p;
111
case TYPE_STRING: return *s == *o.s;
112
case TYPE_MAP: return *m == *o.m;
113
case TYPE_LIST: return *l == *o.l;
118
const char * Element::typeName(Type ot)
121
case TYPE_NONE: return "none";
122
case TYPE_INT: return "int";
123
case TYPE_FLOAT: return "float";
124
case TYPE_PTR: return "pointer";
125
case TYPE_STRING: return "string";
126
case TYPE_MAP: return "map";
127
case TYPE_LIST: return "list";
132
} } //namespace Atlas::Message