Exheredludis/paludis/name-fwd.hh
Saleem Abdulrasool 0e6261448e allow partitioning image
This adds a new function `expart' which allows partitioning the image into
separate parts.  This information is then provided to the merge to record.

Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
2013-03-11 22:35:15 -07:00

148 lines
4.0 KiB
C++

/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
* Copyright (c) 2005, 2006, 2007, 2008, 2010 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
* Public License version 2, as published by the Free Software Foundation.
*
* Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 59 Temple
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef PALUDIS_GUARD_PALUDIS_NAME_FWD_HH
#define PALUDIS_GUARD_PALUDIS_NAME_FWD_HH 1
#include <paludis/util/wrapped_value-fwd.hh>
#include <paludis/util/set-fwd.hh>
#include <paludis/util/sequence-fwd.hh>
#include <paludis/util/attributes.hh>
#include <iosfwd>
/** \file
* Forward declarations for paludis/name.hh .
*
* \ingroup g_names
*/
namespace paludis
{
class PackageNamePartTag;
class PackageNamePartError;
template <> struct WrappedValueTraits<PackageNamePartTag>;
/**
* A PackageNamePart holds a std::string that is a valid name for the
* package part of a QualifiedPackageName.
*
* \ingroup g_names
*/
typedef WrappedValue<PackageNamePartTag> PackageNamePart;
typedef Set<PackageNamePart> PackageNamePartSet;
class CategoryNamePartTag;
class CategoryNamePartError;
template <> struct WrappedValueTraits<CategoryNamePartTag>;
/**
* A CategoryNamePart holds a std::string that is a valid name for the
* category part of a QualifiedPackageName.
*
* \ingroup g_names
*/
typedef WrappedValue<CategoryNamePartTag> CategoryNamePart;
typedef Set<CategoryNamePart> CategoryNamePartSet;
class QualifiedPackageName;
/**
* Output a QualifiedPackageName to a stream.
*
* \ingroup g_names
*/
std::ostream & operator<< (std::ostream &, const QualifiedPackageName &) PALUDIS_VISIBLE;
/**
* A CategoryNamePart plus a PackageNamePart is a QualifiedPackageName.
*
* \ingroup g_names
*/
inline const QualifiedPackageName
operator+ (const CategoryNamePart & c, const PackageNamePart & p) PALUDIS_ATTRIBUTE((warn_unused_result));
class SlotNameTag;
class SlotNameError;
template <> struct WrappedValueTraits<SlotNameTag>;
typedef Set<QualifiedPackageName> QualifiedPackageNameSet;
/**
* A SlotName holds a std::string that is a valid name for a SLOT.
*
* \ingroup g_names
*/
typedef WrappedValue<SlotNameTag> SlotName;
class RepositoryNameTag;
class RepositoryNameError;
template <> struct WrappedValueTraits<RepositoryNameTag>;
/**
* A RepositoryName holds a std::string that is a valid name for a
* Repository.
*
* \ingroup g_names
*/
typedef WrappedValue<RepositoryNameTag> RepositoryName;
typedef Set<RepositoryName> RepositoryNameSet;
class KeywordNameTag;
class KeywordNameError;
template <> struct WrappedValueTraits<KeywordNameTag>;
/**
* A KeywordName holds a std::string that is a valid name for a KEYWORD.
*
* \ingroup g_names
*/
typedef WrappedValue<KeywordNameTag> KeywordName;
typedef Set<KeywordName> KeywordNameSet;
class SetNameTag;
class SetNameError;
template <> struct WrappedValueTraits<SetNameTag>;
/**
* A SetName holds a std::string that is a valid name for a set.
*
* \ingroup g_names
*/
typedef WrappedValue<SetNameTag> SetName;
typedef Set<SetName> SetNameSet;
class PartNameTag;
class PartNameError;
template <> struct WrappedValueTraits<PartNameTag>;
/**
* A PartName holds a std::string that is a valid name for a part.
*
* \ingroup g_names
*/
typedef WrappedValue<PartNameTag> PartName;
}
#endif