summaryrefslogtreecommitdiffstats
path: root/src/tclap/.svn/text-base/ArgTraits.h.svn-base
diff options
context:
space:
mode:
authorMichele Calgaro <[email protected]>2022-07-10 00:23:24 +0900
committerMichele Calgaro <[email protected]>2022-07-10 00:23:24 +0900
commit5bb4d4359a52e9caf331f6001b953dc553df64df (patch)
tree0e0ef61d88a17bf3fd53ee7bc32d3ec4b765b545 /src/tclap/.svn/text-base/ArgTraits.h.svn-base
downloaduniversal-indent-gui-tqt-5bb4d4359a52e9caf331f6001b953dc553df64df.tar.gz
universal-indent-gui-tqt-5bb4d4359a52e9caf331f6001b953dc553df64df.zip
Initial import of UniversalIndentGUI 1.2.0 from Debian snapshot
(https://snapshot.debian.org/package/universalindentgui/1.2.0-1.1). The code is available under GPL2 licence. Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'src/tclap/.svn/text-base/ArgTraits.h.svn-base')
-rwxr-xr-xsrc/tclap/.svn/text-base/ArgTraits.h.svn-base81
1 files changed, 81 insertions, 0 deletions
diff --git a/src/tclap/.svn/text-base/ArgTraits.h.svn-base b/src/tclap/.svn/text-base/ArgTraits.h.svn-base
new file mode 100755
index 0000000..a89ed12
--- /dev/null
+++ b/src/tclap/.svn/text-base/ArgTraits.h.svn-base
@@ -0,0 +1,81 @@
+// -*- Mode: c++; c-basic-offset: 4; tab-width: 4; -*-
+
+/******************************************************************************
+ *
+ * file: ArgTraits.h
+ *
+ * Copyright (c) 2007, Daniel Aarno, Michael E. Smoot .
+ * All rights reverved.
+ *
+ * See the file COPYING in the top directory of this distribution for
+ * more information.
+ *
+ * THE SOFTWARE IS PROVIDED _AS IS_, WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ *****************************************************************************/
+
+// This is an internal tclap file, you should probably not have to
+// include this directly
+
+#ifndef TCLAP_ARGTRAITS_H
+#define TCLAP_ARGTRAITS_H
+
+namespace TCLAP {
+
+// We use two empty structs to get compile type specialization
+// function to work
+
+/**
+ * A value like argument value type is a value that can be set using
+ * operator>>. This is the default value type.
+ */
+struct ValueLike {
+ typedef ValueLike ValueCategory;
+};
+
+/**
+ * A string like argument value type is a value that can be set using
+ * operator=(string). Usefull if the value type contains spaces which
+ * will be broken up into individual tokens by operator>>.
+ */
+struct StringLike {};
+
+/**
+ * A class can inherit from this object to make it have string like
+ * traits. This is a compile time thing and does not add any overhead
+ * to the inherenting class.
+ */
+struct StringLikeTrait {
+ typedef StringLike ValueCategory;
+};
+
+/**
+ * A class can inherit from this object to make it have value like
+ * traits. This is a compile time thing and does not add any overhead
+ * to the inherenting class.
+ */
+struct ValueLikeTrait {
+ typedef ValueLike ValueCategory;
+};
+
+/**
+ * Arg traits are used to get compile type specialization when parsing
+ * argument values. Using an ArgTraits you can specify the way that
+ * values gets assigned to any particular type during parsing. The two
+ * supported types are string like and value like.
+ */
+template<typename T>
+struct ArgTraits {
+ typedef typename T::ValueCategory ValueCategory;
+ //typedef ValueLike ValueCategory;
+};
+
+#endif
+
+} // namespace