casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TaQLShow.h
Go to the documentation of this file.
1 //# TaQLShow.h: Class to show various TaQL-related info
2 //# Copyright (C) 2016
3 //# Associated Universities, Inc. Washington DC, USA.
4 //#
5 //# This library is free software; you can redistribute it and/or modify it
6 //# under the terms of the GNU Library General Public License as published by
7 //# the Free Software Foundation; either version 2 of the License, or (at your
8 //# option) any later version.
9 //#
10 //# This library is distributed in the hope that it will be useful, but WITHOUT
11 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13 //# License for more details.
14 //#
15 //# You should have received a copy of the GNU Library General Public License
16 //# along with this library; if not, write to the Free Software Foundation,
17 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18 //#
19 //# Correspondence concerning AIPS++ should be addressed as follows:
20 //# Internet email: aips2-request@nrao.edu.
21 //# Postal address: AIPS++ Project Office
22 //# National Radio Astronomy Observatory
23 //# 520 Edgemont Road
24 //# Charlottesville, VA 22903-2475 USA
25 //#
26 //# $Id$
27 
28 #ifndef TABLES_TAQLSHOW_H
29 #define TABLES_TAQLSHOW_H
30 
31 //# Includes
32 #include <casacore/casa/aips.h>
36 #include <map>
37 #include <ostream>
38 
39 namespace casacore { //# NAMESPACE CASACORE - BEGIN
40 
41 // <summary>
42 // Class to show various TaQL-related info
43 // </summary>
44 
45 // <use visibility=local>
46 
47 // <reviewed reviewer="" date="" tests="tTaQLNode">
48 // </reviewed>
49 
50 // <prerequisite>
51 //# Classes you should understand before using this one.
52 // <li> <linkto group=TableGram.h#TableGramFunctions>TableGram</linkto>
53 // <li> Note 199 describing
54 // <a href="../notes/199.html">
55 // TaQL</a>
56 // </prerequisite>
57 
58 // <synopsis>
59 // TaQLShow::getInfo is called by the TaQL help (or show) command.
60 // It returns a string (with newlines) containing the requested help info.
61 //
62 // Note that a command like 'help func mscal' command calls the getInfo function in
63 // the dynamically loaded mscal UDF library.
64 // </synopsis>
65 
66 // <motivation>
67 // It is nice if the user can get online TaQL help.
68 // </motivation>
69 
70 class TaQLShow
71 {
72 public:
73  static String getInfo (const Vector<String>& parts,
74  const TaQLStyle& style);
75  static String showTable (const Vector<String>& parts);
76  static String showCommand (const String& cmd);
77  static String showFuncs (const String& type,
78  const Vector<String>& parts,
79  const TaQLStyle& style);
80  static void showUnitKind (std::ostream& os, const UnitVal& kind,
81  const std::map<String, UnitName>& units);
82  static String showUnits (const String& type);
83  static String showMeasTypes (const String& type);
84 };
85 
86 
87 } //# NAMESPACE CASACORE - END
88 
89 #endif
A 1-D Specialization of the Array class.
Definition: ArrayFwd.h:9
static String showTable(const Vector< String > &parts)
static String showMeasTypes(const String &type)
describes any valid unit as a factor and a dimenion of SI units
Definition: UnitVal.h:167
Class to show various TaQL-related info.
Definition: TaQLShow.h:70
static void showUnitKind(std::ostream &os, const UnitVal &kind, const std::map< String, UnitName > &units)
static String showUnits(const String &type)
static String showFuncs(const String &type, const Vector< String > &parts, const TaQLStyle &style)
static String showCommand(const String &cmd)
Class with static members defining the TaQL style.
Definition: TaQLStyle.h:64
String: the storage and methods of handling collections of characters.
Definition: String.h:225
static String getInfo(const Vector< String > &parts, const TaQLStyle &style)