bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
name_map.h
1
2// -*- mode: c++; c-basic-offset:4 -*-
3
4// This file is part of asciival, software which can return an ASCII
5// representation of the data read from a DAP server.
6
7// Copyright (c) 2002,2003 OPeNDAP, Inc.
8// Author: James Gallagher <jgallagher@opendap.org>
9//
10// This library is free software; you can redistribute it and/or
11// modify it under the terms of the GNU Lesser General Public
12// License as published by the Free Software Foundation; either
13// version 2.1 of the License, or (at your option) any later version.
14//
15// This library is distributed in the hope that it will be useful,
16// but WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18// Lesser General Public License for more details.
19//
20// You should have received a copy of the GNU Lesser General Public
21// License along with this library; if not, write to the Free Software
22// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23//
24// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
25
26// (c) COPYRIGHT URI/MIT 1996,2000
27// Please read the full copyright statement in the file COPYRIGHT_URI.
28//
29// Authors:
30// jhrg,jimg James Gallagher <jgallagher@gso.uri.edu>
31
32#ifndef _name_map_h
33#define _name_map_h
34
35#include <vector>
36#include <string>
37
53
54class name_map {
55private:
56 struct name_equiv {
57 int colon;
58 string from;
59 string to;
60 name_equiv(char *raw_equiv) {
61 string t = raw_equiv;
62 colon = t.find(":");
63 from = t.substr(0,colon);
64 to = t.substr(colon+1, t.size());
65 }
66 name_equiv() {
67 }
68 ~name_equiv() {
69 }
70 };
71
72 vector<name_equiv> _names;
73 typedef vector<name_equiv>::iterator NEItor;
74
75public:
80 name_map(char *raw_equiv);
81
83 name_map();
84
87 void add(char *raw_equiv);
88
98 string lookup(string name, const bool canonical_names = false);
99
101 void delete_all();
102};
103
104#endif // _name_map_h
name_map(char *raw_equiv)
Definition name_map.cc:46
string lookup(string name, const bool canonical_names=false)
Definition name_map.cc:69
void delete_all()
Definition name_map.cc:95
void add(char *raw_equiv)
Definition name_map.cc:56
STL iterator class.
STL class.