summaryrefslogtreecommitdiffstats
path: root/src/tclap/StandardTraits.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/tclap/StandardTraits.h')
-rw-r--r--[-rwxr-xr-x]src/tclap/StandardTraits.h302
1 files changed, 158 insertions, 144 deletions
diff --git a/src/tclap/StandardTraits.h b/src/tclap/StandardTraits.h
index 151b851..4129c7e 100755..100644
--- a/src/tclap/StandardTraits.h
+++ b/src/tclap/StandardTraits.h
@@ -27,160 +27,174 @@
#define TCLAP_STANDARD_TRAITS_H
#ifdef HAVE_CONFIG_H
-#include <config.h> // To check for long long
+ #include <config.h> // To check for long long
#endif
-namespace TCLAP {
-
-// ======================================================================
-// Integer types
-// ======================================================================
-
-/**
- * longs have value-like semantics.
- */
-template<>
-struct ArgTraits<long> {
- typedef ValueLike ValueCategory;
-};
-
-/**
- * ints have value-like semantics.
- */
-template<>
-struct ArgTraits<int> {
- typedef ValueLike ValueCategory;
-};
-
-/**
- * shorts have value-like semantics.
- */
-template<>
-struct ArgTraits<short> {
- typedef ValueLike ValueCategory;
-};
-
-/**
- * chars have value-like semantics.
- */
-template<>
-struct ArgTraits<char> {
- typedef ValueLike ValueCategory;
-};
+namespace TCLAP
+{
+ // ======================================================================
+ // Integer types
+ // ======================================================================
+
+ /**
+ * longs have value-like semantics.
+ */
+ template<>
+ struct ArgTraits<long>
+ {
+ typedef ValueLike ValueCategory;
+ };
+
+ /**
+ * ints have value-like semantics.
+ */
+ template<>
+ struct ArgTraits<int>
+ {
+ typedef ValueLike ValueCategory;
+ };
+
+ /**
+ * shorts have value-like semantics.
+ */
+ template<>
+ struct ArgTraits<short>
+ {
+ typedef ValueLike ValueCategory;
+ };
+
+ /**
+ * chars have value-like semantics.
+ */
+ template<>
+ struct ArgTraits<char>
+ {
+ typedef ValueLike ValueCategory;
+ };
#ifdef HAVE_LONG_LONG
-/**
- * long longs have value-like semantics.
- */
-template<>
-struct ArgTraits<long long> {
- typedef ValueLike ValueCategory;
-};
+ /**
+ * long longs have value-like semantics.
+ */
+ template<>
+ struct ArgTraits<long long>
+ {
+ typedef ValueLike ValueCategory;
+ };
+
#endif
-// ======================================================================
-// Unsigned integer types
-// ======================================================================
-
-/**
- * unsigned longs have value-like semantics.
- */
-template<>
-struct ArgTraits<unsigned long> {
- typedef ValueLike ValueCategory;
-};
-
-/**
- * unsigned ints have value-like semantics.
- */
-template<>
-struct ArgTraits<unsigned int> {
- typedef ValueLike ValueCategory;
-};
-
-/**
- * unsigned shorts have value-like semantics.
- */
-template<>
-struct ArgTraits<unsigned short> {
- typedef ValueLike ValueCategory;
-};
-
-/**
- * unsigned chars have value-like semantics.
- */
-template<>
-struct ArgTraits<unsigned char> {
- typedef ValueLike ValueCategory;
-};
+ // ======================================================================
+ // Unsigned integer types
+ // ======================================================================
+
+ /**
+ * unsigned longs have value-like semantics.
+ */
+ template<>
+ struct ArgTraits<unsigned long>
+ {
+ typedef ValueLike ValueCategory;
+ };
+
+ /**
+ * unsigned ints have value-like semantics.
+ */
+ template<>
+ struct ArgTraits<unsigned int>
+ {
+ typedef ValueLike ValueCategory;
+ };
+
+ /**
+ * unsigned shorts have value-like semantics.
+ */
+ template<>
+ struct ArgTraits<unsigned short>
+ {
+ typedef ValueLike ValueCategory;
+ };
+
+ /**
+ * unsigned chars have value-like semantics.
+ */
+ template<>
+ struct ArgTraits<unsigned char>
+ {
+ typedef ValueLike ValueCategory;
+ };
#ifdef HAVE_LONG_LONG
-/**
- * unsigned long longs have value-like semantics.
- */
-template<>
-struct ArgTraits<unsigned long long> {
- typedef ValueLike ValueCategory;
-};
-#endif
+ /**
+ * unsigned long longs have value-like semantics.
+ */
+ template<>
+ struct ArgTraits<unsigned long long>
+ {
+ typedef ValueLike ValueCategory;
+ };
-// ======================================================================
-// Float types
-// ======================================================================
-
-/**
- * floats have value-like semantics.
- */
-template<>
-struct ArgTraits<float> {
- typedef ValueLike ValueCategory;
-};
-
-/**
- * doubles have value-like semantics.
- */
-template<>
-struct ArgTraits<double> {
- typedef ValueLike ValueCategory;
-};
-
-// ======================================================================
-// Other types
-// ======================================================================
-
-/**
- * bools have value-like semantics.
- */
-template<>
-struct ArgTraits<bool> {
- typedef ValueLike ValueCategory;
-};
-
-/**
- * wchar_ts have value-like semantics.
- */
-/*
-template<>
-struct ArgTraits<wchar_t> {
- typedef ValueLike ValueCategory;
-};
-*/
-
-/**
- * Strings have string like argument traits.
- */
-template<>
-struct ArgTraits<std::string> {
- typedef StringLike ValueCategory;
-};
-
-template<typename T>
-void SetString(T &dst, const std::string &src)
-{
- dst = src;
-}
+#endif
+ // ======================================================================
+ // Float types
+ // ======================================================================
+
+ /**
+ * floats have value-like semantics.
+ */
+ template<>
+ struct ArgTraits<float>
+ {
+ typedef ValueLike ValueCategory;
+ };
+
+ /**
+ * doubles have value-like semantics.
+ */
+ template<>
+ struct ArgTraits<double>
+ {
+ typedef ValueLike ValueCategory;
+ };
+
+ // ======================================================================
+ // Other types
+ // ======================================================================
+
+ /**
+ * bools have value-like semantics.
+ */
+ template<>
+ struct ArgTraits<bool>
+ {
+ typedef ValueLike ValueCategory;
+ };
+
+ /**
+ * wchar_ts have value-like semantics.
+ */
+ /*
+ template<>
+ struct ArgTraits<wchar_t> {
+ typedef ValueLike ValueCategory;
+ };
+ */
+
+ /**
+ * Strings have string like argument traits.
+ */
+ template<>
+ struct ArgTraits<std::string>
+ {
+ typedef StringLike ValueCategory;
+ };
+
+ template<typename T>
+ void SetString(T &dst, const std::string &src)
+ {
+ dst = src;
+ }
} // namespace
#endif
-