00001 /* vim: set sw=4 sts=4 et foldmethod=syntax : */ 00002 00003 /* 00004 * Copyright (c) 2008, 2009 Ciaran McCreesh 00005 * 00006 * This file is part of the Paludis package manager. Paludis is free software; 00007 * you can redistribute it and/or modify it under the terms of the GNU General 00008 * Public License version 2, as published by the Free Software Foundation. 00009 * 00010 * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY 00011 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00012 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 00013 * details. 00014 * 00015 * You should have received a copy of the GNU General Public License along with 00016 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple 00017 * Place, Suite 330, Boston, MA 02111-1307 USA 00018 */ 00019 00020 #ifndef PALUDIS_GUARD_PALUDIS_CHOICE_FWD_HH 00021 #define PALUDIS_GUARD_PALUDIS_CHOICE_FWD_HH 1 00022 00023 #include <paludis/util/attributes.hh> 00024 #include <paludis/util/validated-fwd.hh> 00025 00026 /** \file 00027 * Forward declarations for paludis/choice.hh . 00028 * 00029 * \ingroup g_choices 00030 * \since 0.32 00031 */ 00032 00033 namespace paludis 00034 { 00035 class Choices; 00036 00037 class Choice; 00038 class ChoiceValue; 00039 00040 class ChoiceParams; 00041 00042 struct ChoicePrefixNameValidator; 00043 struct ChoiceNameWithPrefixValidator; 00044 struct UnprefixedChoiceNameValidator; 00045 00046 /** 00047 * A prefix for a choice name ('' for USE, 'linguas' for LINGUAS etc). 00048 * 00049 * \ingroup g_choices 00050 * \since 0.32 00051 */ 00052 typedef Validated<std::string, ChoicePrefixNameValidator> ChoicePrefixName; 00053 00054 /** 00055 * A choice name, including prefix and delim ('nls' for USE, 'linguas_en' for LINGUAS etc). 00056 * 00057 * \ingroup g_choices 00058 * \since 0.32 00059 */ 00060 typedef Validated<std::string, ChoiceNameWithPrefixValidator> ChoiceNameWithPrefix; 00061 00062 /** 00063 * A choice name, without prefix or delim ('nls' for USE, 'en' for LINGUAS etc). 00064 * 00065 * \ingroup g_choices 00066 * \since 0.32 00067 */ 00068 typedef Validated<std::string, UnprefixedChoiceNameValidator> UnprefixedChoiceName; 00069 } 00070 00071 #endif