Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

/home/pauldt/projects/IDEA/IDEA-ALL/IDEA-DEV/Core/PlanServer/Includes/PslDomain.hh

Go to the documentation of this file.
00001 // -*- Mode: C++ -*-
00002 //      CVS: $Id: PslDomain.hh,v 1.6 2005/11/08 18:32:41 rijsman Exp $
00003 //      Tag: $name$
00004 //     Info: $CVSROOT/IDEA-DEV/COPYRIGHT
00005 #ifndef PLANSERVER_DOMAIN_HEADER_
00006 #define PLANSERVER_DOMAIN_HEADER_
00007 
00008 #include "Utilities.hh"
00009 #include "PslErrors.hh"
00010 
00011 #include "PslDomainImpl.hh"
00012 
00013 namespace IDEA
00014 {
00022   class PslDomain
00023   {
00024   public:
00028     PslDomain( PslDomainImpl* impl );
00032     ~PslDomain();
00036     const PslDomainImpl* getImpl() const;
00040     const std::string& getName() const;
00044     template <class Type>
00045     std::set<Type> getMembers() const
00046     {
00047       PSL_ASSERT( m_Impl != 0, PslNoImpl );
00048 
00049       return m_Impl->getMembers<Type>();
00050     }
00054     template <class Type>
00055     Type getMaximum() const
00056     {
00057       PSL_ASSERT( m_Impl != 0, PslNoImpl );
00058 
00059       return m_Impl->getMaximum<Type>();
00060     }
00064     template <class Type>
00065     Type getMinimum() const
00066     {
00067       PSL_ASSERT( m_Impl != 0, PslNoImpl );
00068 
00069       return m_Impl->getMinimum<Type>();
00070     }
00075     template <class Type>
00076     Type getSingleton() const
00077     {
00078       PSL_ASSERT( m_Impl != 0, PslNoImpl );
00079 
00080       return m_Impl->getSingleton<Type>();
00081     }
00082     const PslDataType& getDataType() const;
00086     bool isBoolean() const;
00090     bool isEmpty() const;
00094     bool isEnumerated() const;
00098     bool isInteger() const;
00102     bool isLabel() const;
00106     bool isNumeric() const;
00110     bool isObject() const;
00114     bool isReal() const;  
00118     bool isSingleton() const;
00122     void print( std::ostream& ) const;
00123   private:
00124     PslDomainImpl* m_Impl;
00125   };
00126 
00127   std::ostream& operator<<( std::ostream& os, const PslDomain& domain );
00128 }
00129 
00130 #endif // PLANSERVER_DOMAIN_HEADER_

Contact information
© IDEA
Generated on Fri Feb 3 17:09:41 2006 for IDEA.