source: proiecte/HadoopJUnit/hadoop-0.20.1/src/c++/librecordio/typeInfo.cc @ 120

Last change on this file since 120 was 120, checked in by (none), 14 years ago

Added the mail files for the Hadoop JUNit Project

  • Property svn:executable set to *
File size: 1.8 KB
Line 
1/**
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements.  See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership.  The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License.  You may obtain a copy of the License at
9 *
10 *     http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18
19#include "typeInfo.hh"
20
21using namespace hadoop;
22
23TypeInfo::~TypeInfo()
24{
25  delete pFieldID;
26  delete pTypeID;
27}
28
29/*TypeInfo& TypeInfo::operator =(const TypeInfo& ti) {
30  pFieldID = ti.pFieldID;
31  pTypeID = ti.pTypeID;
32  return *this;
33  }*/
34
35TypeInfo::TypeInfo(const TypeInfo& ti)
36{
37  pFieldID = new std::string(*ti.pFieldID);
38  pTypeID = ti.pTypeID->clone();
39}
40
41
42void TypeInfo::serialize(::hadoop::OArchive& a_, const char* tag) const
43{
44  a_.serialize(*pFieldID, tag);
45  pTypeID->serialize(a_, tag);
46}
47
48bool TypeInfo::operator==(const TypeInfo& peer_) const 
49{
50  // first check if fieldID matches
51  if (0 != pFieldID->compare(*(peer_.pFieldID))) {
52    return false;
53  }
54  // now see if typeID matches
55  return (*pTypeID == *(peer_.pTypeID));
56}
57
58void TypeInfo::print(int space) const
59{
60  for (int i=0; i<space; i++) {
61    printf(" ");
62  }
63  printf("TypeInfo(%lx):\n", (long)this);
64  for (int i=0; i<space+2; i++) {
65    printf(" ");
66  }
67  printf("field = \"%s\"\n", pFieldID->c_str());
68  pTypeID->print(space+2);
69}
Note: See TracBrowser for help on using the repository browser.