UniversalIndentGUI 1.2.0
ArgTraits.h
Go to the documentation of this file.
00001 // -*- Mode: c++; c-basic-offset: 4; tab-width: 4; -*-
00002 
00003 /******************************************************************************
00004  *
00005  *  file:  ArgTraits.h
00006  *
00007  *  Copyright (c) 2007, Daniel Aarno, Michael E. Smoot .
00008  *  All rights reverved.
00009  *
00010  *  See the file COPYING in the top directory of this distribution for
00011  *  more information.
00012  *
00013  *  THE SOFTWARE IS PROVIDED _AS IS_, WITHOUT WARRANTY OF ANY KIND, EXPRESS
00014  *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00015  *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00016  *  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00017  *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00018  *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00019  *  DEALINGS IN THE SOFTWARE.
00020  *
00021  *****************************************************************************/
00022 
00023 // This is an internal tclap file, you should probably not have to
00024 // include this directly
00025 
00026 #ifndef TCLAP_ARGTRAITS_H
00027 #define TCLAP_ARGTRAITS_H
00028 
00029 namespace TCLAP {
00030 
00031 // We use two empty structs to get compile type specialization
00032 // function to work
00033 
00038 struct ValueLike {
00039     typedef ValueLike ValueCategory;
00040 };
00041 
00047 struct StringLike {};
00048 
00054 struct StringLikeTrait {
00055     typedef StringLike ValueCategory;
00056 };
00057 
00063 struct ValueLikeTrait {
00064     typedef ValueLike ValueCategory;
00065 };
00066 
00073 template<typename T>
00074 struct ArgTraits {
00075     typedef typename T::ValueCategory ValueCategory;
00076     //typedef ValueLike ValueCategory;
00077 };
00078 
00079 #endif
00080 
00081 } // namespace
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines