00001 /* 00002 * The information in this file is 00003 * Copyright(c) 2007 Ball Aerospace & Technologies Corporation 00004 * and is subject to the terms and conditions of the 00005 * GNU Lesser General Public License Version 2.1 00006 * The license text is available from 00007 * http://www.gnu.org/licenses/lgpl.html 00008 */ 00009 00010 #ifndef DATAVARIANTVALIDATOR_H 00011 #define DATAVARIANTVALIDATOR_H 00012 00013 /** 00014 * \cond INTERNAL 00015 * A validator for types used to initialize a DataVariant. All supported types 00016 * are specialized. A VariantTypeValidator is created in the DataVariant 00017 * constructor. If an unsupported type is used, the default template will be 00018 * instantiated giving a compile error. Supported types will instantiate the 00019 * appropriate specialization rather than the default template. 00020 */ 00021 template <class T> 00022 class VariantTypeValidator 00023 { 00024 class UnsupportedDataVariantType; 00025 static const int i = sizeof(UnsupportedDataVariantType); // can only get here on an unsupported type 00026 }; 00027 /// \endcond 00028 00029 #endif