From 5bb4d4359a52e9caf331f6001b953dc553df64df Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Sun, 10 Jul 2022 00:23:24 +0900 Subject: 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 --- src/tclap/.svn/text-base/ArgTraits.h.svn-base | 81 +++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100755 src/tclap/.svn/text-base/ArgTraits.h.svn-base (limited to 'src/tclap/.svn/text-base/ArgTraits.h.svn-base') 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 +struct ArgTraits { + typedef typename T::ValueCategory ValueCategory; + //typedef ValueLike ValueCategory; +}; + +#endif + +} // namespace -- cgit v1.2.1