#define __CPPLUGINS__INTERFACE__PARAMETERS__H__
#include <map>
+#include <ostream>
#include <string>
#include <vector>
+#include <cpPlugins/cpPlugins_Export.h>
namespace cpPlugins
{
{
/**
*/
- class Parameters
+ class cpPlugins_EXPORT Parameters
{
+ // -------------------------------------------------------------------
+ friend std::ostream& operator<<(
+ std::ostream& os, const Parameters& p
+ )
+ {
+ Parameters::TParameters::const_iterator pIt =
+ p.m_Parameters.begin( );
+ for( ; pIt != p.m_Parameters.end( ); ++pIt )
+ {
+ os
+ << pIt->first << ": ("
+ << pIt->second.first << ", "
+ << pIt->second.second << ")"
+ << std::endl;
+
+ } // rof
+ return( os );
+ }
+
public:
typedef Parameters Self;
enum Type
{
- String = 0,
- Int,
- Uint,
- Real,
- Index,
- Point,
- StringList,
- IntList,
- UintList,
- RealList,
- IndexList,
- PointList,
- NoType
+ String , Bool , Int ,
+ Uint , Real , Index ,
+ Point , StringList , BoolList ,
+ IntList , UintList , RealList ,
+ IndexList , PointList , NoType
};
+ typedef bool TBool;
typedef long TInt;
typedef unsigned long TUint;
typedef double TReal;
Self& operator=( const Self& other );
+ void Clear( );
void Configure( const Self::Type& type, const TString& name );
void SetValueAsString( const TString& name, const TString& v );
+ void SetValueAsBool( const TString& name, const TBool& v );
void SetValueAsInt( const TString& name, const TInt& v );
void SetValueAsUint( const TString& name, const TUint& v );
void SetValueAsReal( const TString& name, const TReal& v );
void SetValueAsIndex( const TString& name, const TUint& n, ... );
void SetValueAsPoint( const TString& name, const TUint& n, ... );
- template< class I >
- void SetValueAsStringList(
- const TString& name, const I& b, const I& e
- );
-
- template< class I >
- void SetValueAsIntList(
- const TString& name, const I& b, const I& e
- );
-
- template< class I >
- void SetValueAsUintList(
- const TString& name, const I& b, const I& e
- );
-
- template< class I >
- void SetValueAsRealList(
- const TString& name, const I& b, const I& e
- );
-
- template< class I >
- void SetValueAsIndexList(
- const TString& name, const I& b, const I& e
- );
-
- template< class I >
- void SetValueAsPointList(
- const TString& name, const I& b, const I& e
- );
-
+ void AddValueToStringList( const TString& name, const TString& v );
+ void AddValueToBoolList( const TString& name, const TBool& v );
+ void AddValueToIntList( const TString& name, const TInt& v );
+ void AddValueToUintList( const TString& name, const TUint& v );
+ void AddValueToRealList( const TString& name, const TReal& v );
+ void AddValueToIndexList( const TString& name, const TUint& n, ... );
+ void AddValueToPointList( const TString& name, const TUint& n, ... );
+
+ void ClearStringList( const TString& name );
+ void ClearBoolList( const TString& name );
+ void ClearIntList( const TString& name );
+ void ClearUintList( const TString& name );
+ void ClearRealList( const TString& name );
+ void ClearIndexList( const TString& name );
+ void ClearPointList( const TString& name );
+
std::vector< TString > GetParameters( ) const;
Self::Type GetParameterType( const TString& name ) const;
+ const TString& GetRawValue( const TString& name ) const;
const TString& GetValueAsString( const TString& name ) const;
+ TBool GetValueAsBool( const TString& name ) const;
TInt GetValueAsInt( const TString& name ) const;
TUint GetValueAsUint( const TString& name ) const;
TReal GetValueAsReal( const TString& name ) const;
void GetValueAsStringList(
std::vector< TString >& lst, const TString& name
) const;
+ void GetValueAsBoolList(
+ std::vector< TBool >& lst, const TString& name
+ ) const;
void GetValueAsIntList(
std::vector< TInt >& lst, const TString& name
) const;
std::vector< P >& lst, const TString& name
) const;
+ bool HasStringValue( const TString& name ) const;
+ bool HasBoolValue( const TString& name ) const;
+ bool HasIntValue( const TString& name ) const;
+ bool HasUintValue( const TString& name ) const;
+ bool HasRealValue( const TString& name ) const;
+ bool HasIndexValue( const TString& name ) const;
+ bool HasPointValue( const TString& name ) const;
+ bool HasStringListValue( const TString& name ) const;
+ bool HasBoolListValue( const TString& name ) const;
+ bool HasIntListValue( const TString& name ) const;
+ bool HasUintListValue( const TString& name ) const;
+ bool HasRealListValue( const TString& name ) const;
+ bool HasIndexListValue( const TString& name ) const;
+ bool HasPointListValue( const TString& name ) const;
protected:
TParameters m_Parameters;